/* 
Theme Name: Kensington Theme
Theme URI: https://kensington.vn/
Description: Custom child theme for Kensington Vietnam
Author: Knok Studios
Author URI: https://knok-studios.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: kensington-theme
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Kensington global design tokens sourced from the approved Figma design. */
:root {
	--kensington-color-primary-text: #0d0e13;
	--kensington-color-secondary-text: #82858e;
	--kensington-color-tertiary-text: #676a73;
	--kensington-color-primary-gold: #c5a36f;
	--kensington-color-secondary-gold: #b49c70;
	--kensington-color-white: #ffffff;
	--kensington-color-light-background: #f5f5f6;
	--kensington-color-warm-background: #f6f3ee;
	--kensington-color-primary-border: #e0e2e5;
	--kensington-color-neutral-darker: #424248;
	--kensington-color-divider-subtle: rgb(0 0 0 / 5%);
	--kensington-color-divider-default: rgb(0 0 0 / 10%);
	--kensington-color-border-on-dark: rgb(255 255 255 / 10%);
	--kensington-container-width: 1360px;
	--kensington-desktop-gutter: 40px;
	--kensington-space-1: 4px;
	--kensington-space-2: 8px;
	--kensington-space-3: 12px;
	--kensington-space-4: 16px;
	--kensington-space-6: 24px;
	--kensington-space-8: 32px;
	--kensington-space-10: 40px;
	--kensington-space-12: 48px;
	--kensington-space-16: 64px;
	--kensington-space-20: 80px;
	--kensington-space-30: 120px;
}

/* Elementor does not expose reusable opacity-based border tokens. */
.kensington-divider-subtle {
	border-color: var(--kensington-color-divider-subtle);
}

.kensington-divider-default {
	border-color: var(--kensington-color-divider-default);
}

.kensington-border-on-dark {
	border-color: var(--kensington-color-border-on-dark);
}

/* Desktop Header (Figma 14692:11160). */
.kensington-desktop-header {
	position: fixed !important;
	top: 0;
	right: 0;
	left: 0;
	z-index: 10000 !important;
	width: 100%;
	height: 72px;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom-width: 0 !important;
}

@media (min-width: 783px) {
	body.admin-bar .kensington-desktop-header {
		top: var(--wp-admin--admin-bar--height, 32px);
	}
}

.kensington-desktop-header::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 0.5px;
	background: rgb(255 255 255 / 10%);
	content: "";
	pointer-events: none;
}

.kensington-header-logo {
	width: 232.593px;
	height: 40px;
	overflow: hidden;
}

.kensington-header-logo > .elementor-widget-container {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.kensington-header-logo img {
	position: static;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.kensington-header-trigger img {
	display: block;
	width: 32px;
	height: 32px;
}

.kensington-header-trigger,
.kensington-header-trigger > .elementor-widget-container,
.kensington-header-trigger a {
	display: flex;
	align-items: center;
	width: 32px;
	height: 32px;
}

body:has(#elementor-popup-modal-52:not([style*="display: none"])) .kensington-header-trigger img {
	content: url("https://dev2.knok-studios.com/wp-content/uploads/2026/09/navigation-trigger.svg");
}

/* Desktop Navigation Panel (Figma 14692:11172). */
#elementor-popup-modal-52 {
	align-items: flex-start;
	justify-content: flex-start;
	padding-top: 72px;
	background: transparent !important;
	pointer-events: auto;
}

#elementor-popup-modal-52 .dialog-widget-content {
	margin: 0;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0;
	pointer-events: auto;
}

#elementor-popup-modal-52 .dialog-message {
	width: 720px;
	height: 748px;
	padding: 0;
	overflow: hidden;
}

.kensington-navigation-panel {
	box-sizing: border-box;
	width: 720px;
	height: 748px;
	min-height: 748px;
	padding: 40px;
	background: rgb(0 0 0 / 40%);
	-webkit-backdrop-filter: blur(25px);
	backdrop-filter: blur(25px);
	gap: 0;
}

.kensington-navigation-panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kensington-navigation-panel a {
	color: inherit;
}

.kensington-nav-top,
.kensington-nav-bottom,
.kensington-nav-info,
.kensington-nav-info-column,
.kensington-nav-contact-lines,
.kensington-nav-footer,
.kensington-nav-footer-controls,
.kensington-nav-footer-control,
.kensington-nav-socials {
	display: flex;
}

.kensington-nav-top,
.kensington-nav-bottom {
	gap: 32px;
}

.kensington-nav-top,
.kensington-nav-locale,
.kensington-nav-contact,
.kensington-nav-info-column,
.kensington-nav-contact-lines,
.kensington-nav-bottom {
	flex-direction: column;
}

.kensington-property-menu > .elementor-widget-container > .menu,
.kensington-property-menu .menu {
	display: grid;
	grid-template-columns: repeat(2, 300px);
	gap: 40px;
}

.kensington-property-menu .menu > li > a {
	display: block;
	font-family: "Butler", serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.6px;
	text-transform: uppercase;
	color: rgb(255 255 255 / 100%);
}

.kensington-property-menu .menu > li:first-child > a {
	font-weight: 500;
}

.kensington-property-menu .sub-menu {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
}

.kensington-property-menu .sub-menu a {
	display: block;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: rgb(255 255 255 / 70%);
}

.kensington-nav-divider {
	height: 1px;
	margin: 0;
}

.kensington-nav-divider .elementor-widget-container,
.kensington-nav-divider .elementor-divider {
	display: block;
	height: 1px !important;
	padding: 0 !important;
}

.kensington-nav-divider .elementor-divider-separator {
	display: block;
	width: 100%;
	height: 1px;
	border: 0 !important;
	border-top: 0 !important;
	background: rgb(255 255 255 / 10%);
}

.kensington-primary-menu .menu {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.kensington-primary-menu a {
	display: block;
	font-family: "Butler", serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: #fff;
}

.kensington-nav-bottom {
	width: 100%;
}

.kensington-nav-info,
.kensington-nav-footer {
	flex-direction: row;
	gap: 64px;
	align-items: flex-start;
	width: 100%;
}

.kensington-nav-info-column,
.kensington-nav-footer-controls,
.kensington-nav-socials {
	width: 288px;
}

.kensington-nav-info-column {
	gap: 8px;
}

.kensington-nav-location .kensington-nav-info-value {
	width: 264px;
}

.kensington-nav-contact-lines {
	gap: 4px;
}

.kensington-nav-info-label .elementor-heading-title,
.kensington-nav-info-value .elementor-heading-title {
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: -0.32px;
}

.kensington-nav-info-label .elementor-heading-title {
	font-weight: 500;
	color: #fff;
}

.kensington-nav-info-value .elementor-heading-title {
	font-weight: 400;
	color: rgb(255 255 255 / 70%);
}

.kensington-nav-footer-controls,
.kensington-nav-footer-control,
.kensington-nav-socials {
	flex-direction: row;
	align-items: center;
}

.kensington-nav-footer-controls {
	gap: 16px;
}

.kensington-nav-footer-control {
	gap: 4px;
}

.kensington-nav-footer-text .elementor-heading-title {
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0;
	color: rgb(255 255 255 / 80%);
}

.kensington-nav-caret {
	width: 16px;
	height: 16px;
}

.kensington-nav-caret > .elementor-widget-container,
.kensington-nav-caret img {
	display: block;
	width: 16px;
	height: 16px;
}

.kensington-nav-vertical-divider {
	flex: 0 0 1px;
	width: 1px;
	min-width: 1px;
	max-width: 1px;
	height: 18px;
	background: rgb(255 255 255 / 10%);
}

.kensington-nav-socials {
	gap: 16px;
}

.kensington-nav-social {
	width: 24px;
	height: 24px;
}

.kensington-nav-social.elementor-widget-image > .elementor-widget-container,
.kensington-nav-social.elementor-widget-image img {
	display: block;
	width: 24px;
	height: 24px;
}

.kensington-nav-tiktok {
	display: flex;
	gap: 0;
	align-items: center;
	justify-content: center;
	border: 0.75px solid #fff;
	border-radius: 50%;
	overflow: visible;
}

.kensington-nav-tiktok-glyph {
	width: 10.22px;
	height: 11.8px;
}

.kensington-nav-tiktok-glyph > .elementor-widget-container,
.kensington-nav-tiktok-glyph img {
	display: block;
	width: 10.22px;
	height: 11.8px;
	max-width: none;
	object-fit: contain;
}

.kensington-nav-dropdown-widget {
	width: auto;
}

.kensington-nav-static-selector {
	display: flex;
	gap: 4px;
	align-items: center;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	color: rgb(255 255 255 / 80%);
}

.kensington-nav-static-selector::after {
	display: block;
	width: 16px;
	height: 16px;
	background: url("https://dev2.knok-studios.com/wp-content/uploads/2026/09/figma-caret.svg") center / contain no-repeat;
	content: "";
}

.kensington-nav-dropdown {
	position: relative;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	color: rgb(255 255 255 / 80%);
}

.kensington-nav-dropdown summary {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	gap: 4px;
	align-items: center;
	padding: 0;
	font: inherit;
	line-height: inherit;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	list-style: none;
}

.kensington-nav-dropdown summary::-webkit-details-marker {
	display: none;
}

.kensington-nav-dropdown summary::after {
	display: block;
	width: 16px;
	height: 16px;
	background: url("https://dev2.knok-studios.com/wp-content/uploads/2026/09/figma-caret.svg") center / contain no-repeat;
	content: "";
}

.kensington-nav-dropdown-menu {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 0;
	z-index: 2;
	display: grid;
	min-width: 128px;
	padding: 8px;
	background: rgb(0 0 0 / 75%);
	border: 1px solid rgb(255 255 255 / 10%);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.kensington-nav-dropdown-option {
	padding: 6px 8px;
	font: inherit;
	color: inherit;
	text-align: left;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.kensington-nav-dropdown-option:hover,
.kensington-nav-dropdown-option:focus-visible {
	background: rgb(255 255 255 / 10%);
	outline: none;
}

/* Desktop Footer (Figma 14599:9183). */
.kensington-desktop-footer {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
	min-height: 584px;
	padding: 80px 40px 64px;
	background: #fff;
}

.kensington-footer-top {
	display: flex;
	flex: 0 0 299px;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 299px;
}

.kensington-footer-contact {
	display: flex;
	flex: 0 0 554px;
	flex-direction: column;
	gap: 24px;
	width: 554px;
}

.kensington-footer-tagline .elementor-heading-title {
	font-family: "Satoshi", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-footer-contact-lines {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #0d0e13;
}

.kensington-footer-contact-lines p {
	margin: 0;
}

.kensington-footer-contact-lines a {
	color: inherit;
}

.kensington-footer-socials {
	display: flex;
	gap: 16px;
	align-items: center;
}

.kensington-footer-social,
.kensington-footer-social > .elementor-widget-container,
.kensington-footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
}

.kensington-footer-social img {
	display: block;
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.kensington-footer-tiktok {
	box-sizing: border-box;
	display: flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid #0d0e13;
	border-radius: 50%;
}

.kensington-footer-tiktok .kensington-footer-social,
.kensington-footer-tiktok .kensington-footer-social > .elementor-widget-container,
.kensington-footer-tiktok .kensington-footer-social a {
	width: 13.6315px;
	height: 15.7279px;
}

.kensington-footer-tiktok .kensington-footer-social img {
	width: 13.6315px;
	height: 15.7279px;
}

.kensington-footer-logo {
	display: flex;
	flex: 0 0 557px;
	align-items: center;
	justify-content: center;
	width: 557px;
	height: 299px;
}

.kensington-footer-logo .elementor-widget-image,
.kensington-footer-logo .elementor-widget-container,
.kensington-footer-logo img {
	display: block;
	width: 362px;
	height: 299px;
	object-fit: contain;
}

.kensington-footer-divider {
	flex: 0 0 1px;
	width: 100%;
	height: 1px;
	background: rgb(0 0 0 / 10%);
}

.kensington-footer-bottom {
	display: flex;
	gap: 10px;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
	min-height: 60px;
}

.kensington-footer-menu {
	flex: 1 1 auto;
	min-width: 0;
	padding-right: 40px;
}

.kensington-footer-menu ul.menu {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kensington-footer-menu ul.menu > li {
	margin: 0;
	padding: 0;
}

.kensington-footer-menu ul.menu > li > a {
	display: block;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #0d0e13;
	text-decoration: underline;
	text-decoration-skip-ink: auto;
	text-underline-position: from-font;
	white-space: nowrap;
}

.kensington-footer-copyright {
	flex: 0 0 auto;
}

.kensington-footer-copyright .elementor-heading-title {
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #82858e;
	white-space: nowrap;
}

/* Property card — desktop listing item (Figma 14709:18879). */
.kensington-property-card {
	box-sizing: border-box;
	width: 438px;
	max-width: 100%;
\toverflow: hidden;
	background: #fff;
	border: 1px solid rgb(0 0 0 / 5%);
	border-radius: 24px;
}

.kensington-property-card *,
.kensington-property-card *::before,
.kensington-property-card *::after {
	box-sizing: border-box;
}

.kensington-property-card__link {
	display: flex;
	flex-direction: column;
	color: #0d0e13;
	text-decoration: none;
}

.kensington-property-card__media {
	position: relative;
	width: 100%;
	height: 292px;
	overflow: hidden;
	background: #f5f5f6;
}

.kensington-property-card__media::after {
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 10%);
	content: "";
	pointer-events: none;
}

.kensington-property-card .kensington-property-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kensington-property-card__status {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 8px;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: -0.24px;
	color: rgb(255 255 255 / 60%);
	text-transform: uppercase;
	background: rgb(0 0 0 / 50%);
	border-radius: 8px;
	backdrop-filter: blur(12px);
}

.kensington-property-card__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 16px 24px 24px;
	backdrop-filter: blur(25px);
}

.kensington-property-card__content {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.kensington-property-card__eyebrow {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	min-height: 24px;
	margin-bottom: 16px;
}

.kensington-property-card__location {
	min-width: 0;
	overflow: hidden;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.28px;
	color: #82858e;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kensington-property-card__tier {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 4px;
	align-items: center;
	min-height: 24px;
	padding: 2px 6px 2px 4px;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #b49c70;
	background: rgb(180 156 112 / 10%);
	border: 1px solid rgb(180 156 112 / 15%);
	border-radius: 8px;
	backdrop-filter: blur(12px);
}

.kensington-property-card__title {
	min-height: 31px;
	margin: 0 0 4px;
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #0d0e13;
}

.kensington-property-card__divider {
	width: 100%;
	height: 1px;
	background: rgb(0 0 0 / 5%);
}

.kensington-property-card__facts {
	display: flex;
	align-items: stretch;
	width: 100%;
	margin: 12px 0;
}

.kensington-property-card__facts--development {
	gap: 12px;
}

.kensington-property-card__fact {
	display: flex;
	flex: 1 1 0;
	gap: 16px;
	align-items: center;
	min-width: 0;
}

.kensington-property-card__fact + .kensington-property-card__fact {
	padding-left: 12px;
	border-left: 1px solid rgb(0 0 0 / 5%);
}

.kensington-property-card__fact svg {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	fill: #82858e;
}

.kensington-property-card__fact span {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 2px;
}

.kensington-property-card__fact small,
.kensington-property-card__fact strong {
	font-family: "Satoshi", sans-serif;
	font-style: normal;
	color: #0d0e13;
	white-space: nowrap;
}

.kensington-property-card__fact small {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
}

.kensington-property-card__fact strong {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.32px;
}

.kensington-property-card__facts--existing {
	flex-wrap: wrap;
	gap: 4px;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
}

.kensington-property-card__facts--existing span + span::before {
	margin-right: 4px;
	content: "·";
}

.kensington-property-card__price {
	display: flex;
	gap: 8px;
	align-items: center;
	min-height: 31px;
	white-space: nowrap;
}

.kensington-property-card__price span {
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #82858e;
}

.kensington-property-card__price strong {
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #0d0e13;
}

/* Property listing pages — desktop only (Figma 14709:18765, 14709:18910, 14709:19013). */
body:has(.kensington-property-listing-page) .kensington-desktop-header {
	position: fixed !important;
	z-index: 10000;
}

/* Homepage Hero — desktop only (Figma 14227:4297). */
@font-face {
	font-family: "Inter Tight";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/inter-tight-regular.woff2") format("woff2");
}

body:has(.kensington-home-hero) .kensington-desktop-header {
	position: fixed !important;
	z-index: 10000;
}

.kensington-home-hero {
	position: relative;
	width: 100%;
	height: 820px;
	min-height: 820px;
	margin-top: 0;
	overflow: hidden;
	background-position: center;
	background-size: cover;
}

.kensington-home-hero::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgb(0 0 0 / 72%) 0%, rgb(0 0 0 / 16%) 59.957%, transparent 100%);
	content: "";
	pointer-events: none;
}

.kensington-home-hero__slider {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 820px;
}

.kensington-home-hero__slider .elementor-widget-container,
.kensington-home-hero__slider .elementor-image-carousel-wrapper,
.kensington-home-hero__slider .swiper,
.kensington-home-hero__slider .swiper-wrapper,
.kensington-home-hero__slider .swiper-slide,
.kensington-home-hero__slider .swiper-slide-inner,
.kensington-home-hero__slider .swiper-slide-image {
	width: 100%;
	height: 820px;
}

.kensington-home-hero__slider .swiper-slide-image {
	display: block;
	max-width: none;
	object-fit: cover;
}

.kensington-home-hero__slider .swiper-pagination {
	bottom: 8px;
	z-index: 3;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

.kensington-home-hero__slider .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin: 0 !important;
	background: #fff;
	opacity: 0.3;
}

.kensington-home-hero__slider .swiper-pagination-bullet-active {
	opacity: 1;
}

.kensington-home-hero__content {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;

	position: absolute;
	top: 423px;
	right: 40px;
	left: 40px;
	z-index: 2;
	display: flex;
	box-sizing: border-box;
	width: calc(100% - 80px) !important;
	padding: 0 !important;
	flex-direction: column;
	gap: 40px;
	height: 298px;
}

.kensington-home-hero__copy {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;

	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 551px;
	padding: 0 !important;
}

.kensington-home-hero__heading .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -3.2px;
	color: #fff;
}

.kensington-home-hero__description,
.kensington-home-hero__description p {
	margin: 0;
	font-family: "Inter Tight", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.09px;
	color: #fff;
}

.kensington-home-hero__action {
	align-self: flex-end;
}

.kensington-home-hero__action .elementor-button {
	box-sizing: border-box;
	width: 233px;
	height: 56px;
	min-height: 56px;
	padding: 15px 31px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	text-transform: uppercase;
	background: rgb(255 255 255 / 20%);
	border: 1px solid rgb(255 255 255 / 10%);
	border-radius: 16px;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

/* Homepage value proposition — desktop only (Figma 15041:10546). */
.kensington-home-value {
	--padding-top: 80px;
	--padding-right: 0;
	--padding-bottom: 80px;
	--padding-left: 0;

	box-sizing: border-box;
	display: flex;
	width: 896px;
	max-width: 896px;
	height: 734px;
	min-height: 734px;
	margin: 0 auto;
	padding: 80px 0 !important;
	flex-direction: column;
	gap: 32px;
	align-items: center;
	background: #fff;
}

.kensington-home-value__header,
.kensington-home-value__heading-group,
.kensington-home-value__list,
.kensington-home-value__row,
.kensington-home-value__row-title {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;

	padding: 0 !important;
}

.kensington-home-value__header {
	display: flex;
	width: 100%;
	height: 122px;
	flex-direction: column;
	gap: 16px;
	align-items: center;
}

.kensington-home-value__eyebrow {
	width: auto;
}

.kensington-home-value__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-home-value__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-home-value__heading-group {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	text-align: center;
}

.kensington-home-value__heading .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	color: #0d0e13;
}

.kensington-home-value__intro,
.kensington-home-value__intro p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #82858e;
}

.kensington-home-value__list {
	display: flex;
	box-sizing: border-box;
	width: 898px;
	height: 420px;
	margin-left: -1px;
	padding: 32px !important;
	flex-direction: column;
	gap: 24px;
	border-radius: 24px;
}

.kensington-home-value__row {
	display: flex;
	width: 834px;
	height: 32px;
	min-height: 32px;
	flex-direction: row;
	gap: 32px;
	align-items: center;
}

.kensington-home-value__row-title {
	display: flex;
	width: 300px;
	height: 32px;
	flex: 0 0 300px;
	flex-direction: row;
	gap: 24px;
	align-items: center;
}

.kensington-home-value__icon,
.kensington-home-value__icon .elementor-widget-container,
.kensington-home-value__icon img {
	display: block;
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.kensington-home-value__item-title {
	width: 244px;
}

.kensington-home-value__item-title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.6px;
	color: #0d0e13;
}

.kensington-home-value__item-copy {
	width: 502px;
}

.kensington-home-value__item-copy,
.kensington-home-value__item-copy p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #0d0e13;
}

.kensington-home-value__divider {
	width: 834px;
	height: 1px;
	min-height: 1px;
	background: #e0e2e5;
}

.kensington-property-listing-page {
	width: 100%;
	color: #0d0e13;
	background: #fff;
}

.kensington-property-listing-hero {
	position: relative;
	height: 480px;
	margin-top: 0;
	overflow: hidden;
	background-position: center;
	background-size: cover;
}

.kensington-property-listing-page--new-developments .kensington-property-listing-hero {
	background-image: linear-gradient(90deg, #000 0%, rgb(0 0 0 / 0%) 100%), url("assets/images/property-listings/new-developments-hero.webp");
}

.kensington-property-listing-page--existing-properties .kensington-property-listing-hero {
	background-image: linear-gradient(90deg, #000 0%, rgb(0 0 0 / 0%) 70.278%), url("assets/images/property-listings/existing-properties-hero.webp");
}

.kensington-property-listing-page--rentals .kensington-property-listing-hero {
	background-image: linear-gradient(90deg, #000 0%, rgb(0 0 0 / 0%) 70.278%), url("assets/images/property-listings/rentals-hero.webp");
}

.kensington-property-listing-hero__content {
	position: absolute;
	top: 50%;
	left: 40px;
	display: flex;
	width: 783px;
	transform: translateY(-50%);
	flex-direction: column;
	gap: 24px;
}

.kensington-property-listing-hero h1 {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -3.2px;
	color: transparent;
	background: linear-gradient(113deg, #fff 0.776%, rgb(255 255 255 / 60%) 25.861%, #fff 54.729%, rgb(255 255 255 / 70%) 83.597%);
	background-clip: text;
}

.kensington-property-listing-hero__bullets {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kensington-property-listing-hero__bullets li {
	display: flex;
	gap: 16px;
	align-items: center;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
	text-shadow: 0 0 80px rgb(0 0 0 / 50%);
}

.kensington-property-listing-hero__bullets img {
	width: 24px;
	height: 24px;
}

.kensington-property-listing-hero__actions {
	display: flex;
	gap: 16px;
}

.kensington-property-listing-hero__actions a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 16px 32px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	border-radius: 16px;
}

.kensington-property-listing-hero__primary {
	background: #c5a36f;
}

.kensington-property-listing-hero__secondary {
	background: rgb(255 255 255 / 20%);
	border: 1px solid rgb(255 255 255 / 10%);
	backdrop-filter: blur(12px);
}

.kensington-property-listing-main {
	box-sizing: border-box;
	width: 100%;
	padding: 80px 40px;
}

.kensington-property-listing-main__header,
.kensington-property-listing-grid {
	width: 1360px;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.kensington-property-listing-main__header {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.kensington-property-listing-main__title-row,
.kensington-property-listing-filter-shell,
.kensington-property-listing-filter-shell__group,
.kensington-property-listing-filter-shell__sort,
.kensington-property-listing-view-switch,
.kensington-property-listing-view-switch span,
.kensington-property-listing-filter-shell__control {
	display: flex;
	align-items: center;
}

.kensington-property-listing-main__title-row,
.kensington-property-listing-filter-shell {
	justify-content: space-between;
}

.kensington-property-listing-main h2 {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	color: #0d0e13;
}

.kensington-property-listing-view-switch {
	gap: 8px;
	padding: 4px;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #fff;
	background: rgb(0 0 0 / 40%);
	border-radius: 12px;
}

.kensington-property-listing-view-switch span {
	gap: 8px;
	padding: 4px 8px;
	border-radius: 8px;
}

.kensington-property-listing-view-switch span.is-active {
	color: #0d0e13;
	background: #fff;
	box-shadow: 0 1px 2px rgb(0 0 0 / 5%);
}

.kensington-property-listing-view-switch img {
	width: 24px;
	height: 24px;
}

.kensington-property-listing-filter-shell__group {
	width: 786px;
	gap: 16px;
}

.kensington-property-listing-filter-shell__sort {
	flex: 0 0 187px;
	width: 187px;
	gap: 16px;
}

.kensington-property-listing-filter-shell__label {
	flex: 0 0 auto;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
}

.kensington-property-listing-filter-shell__control {
	box-sizing: border-box;
	flex: 1 1 0;
	height: 45px;
	border: 1px solid #e0e2e5;
	border-radius: 16px;
	overflow: hidden;
}

.kensington-property-listing-filter-shell__control .jet-filter,
.kensington-property-listing-filter-shell__control .jet-select,
.kensington-property-listing-filter-shell__control .jet-sorting {
	width: 100%;
	height: 100%;
}

.kensington-property-listing-filter-shell__control--sort {
	flex: 0 0 122px;
	width: 122px;
}

.kensington-property-listing-filter-shell__control select {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 12px 36px 12px 12px;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #0d0e13;
	appearance: none;
	background-color: transparent;
	background-image: url("assets/images/property-listings/chevron.svg");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px 16px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
}

.kensington-property-listing-filter-shell__control select:focus-visible {
	outline: 2px solid #c5a36f;
	outline-offset: -2px;
}

.kensington-property-listing-grid {
	margin-top: 24px;
}

.kensington-property-listing-grid .jet-listing-grid__items {
	display: grid !important;
	grid-template-columns: repeat(3, 438px) !important;
	column-gap: 23.333px !important;
	row-gap: 24px !important;
	margin: 0 !important;
}

.kensington-property-listing-grid .jet-listing-grid__item {
	width: 438px !important;
	max-width: 438px !important;
	padding: 0 !important;
}

.kensington-property-listing-grid .jet-listing-grid__item > * {
	width: 100%;
}

.kensington-property-listing-grid .kensington-property-card,
.kensington-property-listing-grid .kensington-property-card__link {
	height: 533px;
}

.kensington-property-listing-grid .kensington-property-card {
	overflow: hidden;
}

.kensington-property-listing-grid .kensington-property-card__body {
	flex: 1 1 auto;
}

.kensington-property-listing-grid .jet-listing-not-found {
	grid-column: 1 / -1;
	padding: 40px 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	color: #82858e;
}

.kensington-property-listing-pagination {
	display: flex;
	width: 1360px;
	max-width: 100%;
	min-height: 0;
	margin: 24px auto 0;
	justify-content: center;
}

.kensington-property-listing-pagination:has(.jet-smart-filters-pagination:empty) {
	display: none;
}

.kensington-property-listing-pagination .jet-filters-pagination {
	display: flex;
	min-height: 40px;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

.kensington-property-listing-pagination .jet-filters-pagination__item {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	align-items: center;
	justify-content: center;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #0d0e13;
	border: 1px solid #e0e2e5;
	border-radius: 999px;
	cursor: pointer;
}

.kensington-property-listing-pagination .jet-filters-pagination__current {
	color: #fff;
	background: #0d0e13;
	border-color: #0d0e13;
}

@media (max-width: 1200px) {
	.kensington-property-listing-grid .jet-listing-grid__items {
		width: 100% !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 24px !important;
	}

	.kensington-property-listing-grid .jet-listing-grid__item,
	.kensington-property-listing-grid .kensington-property-card,
	.kensington-property-listing-grid .kensington-property-card__link {
		width: 100% !important;
		max-width: none !important;
	}

	.kensington-property-listing-grid .kensington-property-card__media {
		flex: 0 0 auto;
		height: auto;
		aspect-ratio: 438 / 292;
	}

	.kensington-property-listing-filter-shell {
		flex-direction: column;
		gap: 16px;
		align-items: stretch;
	}

	.kensington-property-listing-filter-shell__group {
		display: grid;
		width: 100%;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px 16px;
	}

	.kensington-property-listing-filter-shell__group > .kensington-property-listing-filter-shell__label {
		grid-column: 1 / -1;
	}

	.kensington-property-listing-filter-shell__sort {
		flex: 0 0 auto;
		height: 45px;
		align-self: flex-end;
	}
}

@media (max-width: 767px) {
	.kensington-property-listing-hero {
		height: auto;
		min-height: 480px;
	}

	.kensington-property-listing-hero__content {
		position: relative;
		top: auto;
		left: auto;
		box-sizing: border-box;
		width: 100%;
		min-height: 480px;
		padding: 104px 20px 48px;
		justify-content: center;
		transform: none;
	}

	.kensington-property-listing-hero h1 {
		font-size: 44px;
		letter-spacing: -2.2px;
	}

	.kensington-property-listing-hero__bullets li {
		align-items: flex-start;
	}

	.kensington-property-listing-hero__bullets img {
		flex: 0 0 24px;
	}

	.kensington-property-listing-hero__actions {
		width: 100%;
		flex-direction: column;
	}

	.kensington-property-listing-hero__actions a {
		width: 100%;
	}

	.kensington-property-listing-main {
		padding: 48px 20px;
	}

	.kensington-property-listing-main__title-row {
		flex-direction: column;
		gap: 24px;
		align-items: flex-start;
	}

	.kensington-property-listing-main h2 {
		font-size: 40px;
		letter-spacing: -1.2px;
	}

	.kensington-property-listing-filter-shell__group {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.kensington-property-listing-filter-shell__sort {
		display: grid;
		width: 100%;
		height: auto;
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
		align-self: stretch;
	}

	.kensington-property-listing-filter-shell__control,
	.kensington-property-listing-filter-shell__control--sort {
		width: 100%;
		min-width: 0;
		flex-basis: auto;
	}

	.kensington-property-listing-grid .jet-listing-grid__items {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.kensington-property-listing-grid .kensington-property-card,
	.kensington-property-listing-grid .kensington-property-card__link {
		height: auto;
		min-height: 0;
	}

	.kensington-property-listing-grid .jet-listing-grid__item > .elementor,
	.kensington-property-listing-grid .kensington-property-card-listing,
	.kensington-property-listing-grid .elementor-widget-shortcode,
	.kensington-property-listing-grid .elementor-shortcode {
		display: contents !important;
	}

	.kensington-property-listing-grid .kensington-property-card__media {
		height: auto;
		aspect-ratio: 438 / 292;
	}

	.kensington-property-listing-pagination {
		width: 100%;
	}

	.kensington-property-listing-pagination .jet-filters-pagination {
		max-width: 100%;
		flex-wrap: wrap;
	}
}

/* Homepage: Services Overview (desktop, Figma 15056:11421). */
.kensington-home-services {
	--padding-top: 80px;
	--padding-right: 0;
	--padding-bottom: 120px;
	--padding-left: 0;
	box-sizing: border-box;
	width: 100%;
	min-height: 1384px;
	margin-top: 8px;
	padding: 80px 0 120px !important;
	gap: 58px;
	background: #fff;
}

.kensington-home-services .kensington-home-services__header.e-con,
.kensington-home-services .kensington-home-services__content.e-con {
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	margin-inline: auto;
}

.kensington-home-services .e-con {
	--padding-top: 0 !important;
	--padding-right: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	max-width: none !important;
	padding: 0 !important;
}

.kensington-home-services__header {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
	height: 150px;
}

.kensington-home-services__heading-group { width: 557px; gap: 16px; }
.kensington-home-services__eyebrow .elementor-heading-title {
	display: flex; align-items: center; gap: 10px; margin: 0;
	font-family: "Satoshi", sans-serif; font-size: 12px; font-weight: 700;
	line-height: 1.5; letter-spacing: -0.24px; color: #c5a36f; text-transform: uppercase;
}
.kensington-home-services__eyebrow .elementor-heading-title::before {
	content: ""; width: 1px; height: 10px; background: #c5a36f;
}
.kensington-home-services__title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 48px; font-weight: 500;
	line-height: 1.2; letter-spacing: -1.44px; color: #0d0e13; text-transform: capitalize;
}
.kensington-home-services__intro { width: 554px; gap: 16px; }
.kensington-home-services__copy p {
	margin: 0; font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.32px; color: #82858e;
}
.kensington-home-services__cta .elementor-button {
	min-height: 56px; padding: 16px 32px; border-radius: 16px; background: #c5a36f;
	font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 500;
	line-height: 1.5; color: #fff; text-transform: uppercase;
}
.kensington-home-services__content { width: 100%; gap: 16px; }
.kensington-home-services__group { box-sizing: border-box; width: 100%; padding: 16px !important; gap: 0; border-radius: 32px; }
.kensington-home-services .kensington-home-services__group { padding: 16px !important; }
.kensington-home-services__group--primary { background: #f7f2ea; }
.kensington-home-services__group--additional { background: #f5f5f6; }
.kensington-home-services__group--primary { height: 643px; }
.kensington-home-services__group--additional { height: 317px; }
.kensington-home-services .kensington-home-services__group-heading { padding: 16px 24px 24px !important; }
.kensington-home-services__group-heading--additional { width: 485px; }
.kensington-home-services__group-title-row { display: flex; flex-direction: row; align-items: center; gap: 8px; }
.kensington-home-services__group-title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 32px; font-weight: 500;
	line-height: 1.3; letter-spacing: -1.12px; color: #0d0e13;
}
.kensington-home-services__badge .elementor-heading-title {
	margin: 0; padding: 4px 8px; border: 1px solid #c5a36f; border-radius: 8px;
	background: rgb(197 163 111 / 15%); font-family: "Satoshi", sans-serif;
	font-size: 16px; font-weight: 700; line-height: 1.5; letter-spacing: -0.32px;
	color: #c5a36f; text-transform: uppercase;
}
.kensington-home-services__cards { display: flex; flex-direction: row; gap: 16px; width: 100%; }
.kensington-home-services__card {
	position: relative; box-sizing: border-box; flex: 1 1 0; height: 529px;
	justify-content: flex-end; overflow: hidden; padding: 0 !important; border-radius: 24px;
	background-position: center; background-repeat: no-repeat; background-size: cover;
}
.kensington-home-services .kensington-home-services__card-link {
	position: absolute !important;
	inset: 0;
	z-index: 2;
	width: 100% !important;
	height: 100%;
	padding: 0 !important;
}
.kensington-home-services__card-link > .elementor-widget-container,
.kensington-home-services__card-link a {
	display: block;
	width: 100%;
	height: 100%;
}
.kensington-home-services__card-link a:focus-visible {
	border-radius: 24px;
	outline: 2px solid #fff;
	outline-offset: -4px;
}
.kensington-home-services__card--rental { background-image: linear-gradient(rgb(0 0 0 / 20%),rgb(0 0 0 / 20%)),url("assets/images/homepage/services/rental-properties.png"); background-position: 20% center; }
.kensington-home-services__card--existing { background-image: linear-gradient(rgb(0 0 0 / 20%),rgb(0 0 0 / 20%)),url("assets/images/homepage/services/existing-properties.png"); }
.kensington-home-services__card--new { background-image: linear-gradient(rgb(0 0 0 / 20%),rgb(0 0 0 / 20%)),url("assets/images/homepage/services/new-developments.png"); background-position: 64% center; }
.kensington-home-services__card-footer {
	display: flex; flex-direction: row; align-items: center; gap: 16px; width: 100%; padding: 24px !important;
	background: rgb(0 0 0 / 10%); backdrop-filter: blur(25px);
}
.kensington-home-services .kensington-home-services__card-footer { padding: 24px !important; }
.kensington-home-services__card-text { flex: 1 1 0; gap: 8px; }
.kensington-home-services__card-title .elementor-heading-title,
.kensington-home-services__small-title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 24px; font-weight: 500;
	line-height: 1.3; letter-spacing: -0.48px;
}
.kensington-home-services__card-title .elementor-heading-title { color: #fff; }
.kensington-home-services__card-copy p {
	margin: 0; font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.32px; color: #fff;
}
.kensington-home-services__card-arrow {
	display: grid !important;
	flex: 0 0 32px !important;
	place-items: center;
	width: 32px !important;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgb(255 255 255 / 20%);
}
.kensington-home-services__card-arrow::before {
	position: static !important;
	display: block;
	width: 19.2px;
	height: 19.2px;
	content: "";
	background: url("assets/images/homepage/services/arrow-right.svg") center / contain no-repeat;
}
.kensington-home-services__small-card {
	box-sizing: border-box; flex: 1 1 0; min-height: 199px; padding: 32px !important; gap: 24px;
	border-radius: 24px; background: #fff;
}
.kensington-home-services .kensington-home-services__small-card { padding: 32px !important; }
.kensington-home-services__small-icon,
.kensington-home-services__small-icon img { width: 32px; height: 32px; }
.kensington-home-services__small-text { gap: 4px; }
.kensington-home-services__small-title .elementor-heading-title { color: #0d0e13; }
.kensington-home-services__small-copy p {
	margin: 0; font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.32px; color: #676a73;
}

/* Homepage: Feature image / content CTA (desktop, Figma 15018:3647). */
.kensington-home-feature {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 654px;
	min-height: 654px;
	overflow: hidden;
	padding: 0 !important;
	background-image: linear-gradient(rgb(0 0 0 / 10%), rgb(0 0 0 / 10%)), url("https://dev2.knok-studios.com/wp-content/themes/kensington-theme/assets/images/homepage/feature-cta/kensington-about.png") !important;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 113.5% auto;
}

.kensington-home-feature .e-con {
	--padding-top: 0 !important;
	--padding-right: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	max-width: none !important;
	padding: 0 !important;
}

.kensington-home-feature::before {
	position: absolute;
	inset: 0;
	content: "";
	background-image: linear-gradient(rgb(0 0 0 / 10%), rgb(0 0 0 / 10%)), url("https://dev2.knok-studios.com/wp-content/themes/kensington-theme/assets/images/homepage/feature-cta/kensington-about.png");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 113.5% auto;
}

.kensington-home-feature .kensington-home-feature__panel {
	display: flex;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 478px;
	height: 654px;
	padding: 64px 40px !important;
	flex-direction: column;
	justify-content: space-between;
	background: rgb(0 0 0 / 20%);
	-webkit-backdrop-filter: blur(25px);
	backdrop-filter: blur(25px);
}

.kensington-home-feature__content { width: 398px; gap: 8px; }
.kensington-home-feature__heading-group { width: 398px; gap: 16px; }
.kensington-home-feature__eyebrow .elementor-heading-title {
	display: flex; align-items: center; gap: 10px; margin: 0;
	font-family: "Satoshi", sans-serif; font-size: 12px; font-weight: 700;
	line-height: 1.5; letter-spacing: -0.24px; color: #c5a36f; text-transform: uppercase;
}
.kensington-home-feature__eyebrow .elementor-heading-title::before {
	width: 1px; height: 10px; content: ""; background: #c5a36f;
}
.kensington-home-feature__title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 48px; font-weight: 500;
	line-height: 1.2; letter-spacing: -1.44px; color: #fff; text-transform: capitalize;
}
.kensington-home-feature__copy,
.kensington-home-feature__copy p {
	margin: 0; font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.32px; color: #fff;
}
.kensington-home-feature__cta { align-self: flex-start; }
.kensington-home-feature__cta .elementor-button {
	box-sizing: border-box; min-width: 238px; height: 56px; min-height: 56px;
	padding: 16px 32px; border-radius: 16px; background: #c5a36f;
	font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 500;
	line-height: 1.5; color: #fff; text-transform: uppercase;
}

/* Homepage: Partners / affiliations (desktop, Figma 15019:12799). */
.kensington-home-partners {
	--padding-top: 80px;
	--padding-right: 0;
	--padding-bottom: 48px;
	--padding-left: 0;
	box-sizing: border-box;
	width: 100%;
	height: 324px;
	min-height: 324px;
	padding: 80px 0 48px !important;
	background: #fff;
}
.kensington-home-partners .e-con {
	--padding-top: 0 !important; --padding-right: 0 !important;
	--padding-bottom: 0 !important; --padding-left: 0 !important;
	max-width: none !important; padding: 0 !important;
}
.kensington-home-partners .kensington-home-partners__inner {
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	height: 196px;
	margin-inline: auto;
	gap: 24px;
	align-items: center;
}
.kensington-home-partners__heading { width: 100%; height: 92px; gap: 16px; align-items: center; }
.kensington-home-partners__eyebrow .elementor-heading-title {
	display: flex; align-items: center; gap: 10px; margin: 0;
	font-family: "Satoshi", sans-serif; font-size: 12px; font-weight: 700;
	line-height: 1.5; letter-spacing: -0.24px; color: #c5a36f; text-transform: uppercase;
}
.kensington-home-partners__eyebrow .elementor-heading-title::before {
	width: 1px; height: 10px; content: ""; background: #c5a36f;
}
.kensington-home-partners__title { width: 100%; text-align: center; }
.kensington-home-partners__title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 48px; font-weight: 500;
	line-height: 1.2; letter-spacing: -1.44px; color: #0d0e13;
}
.kensington-home-partners__logos {
	position: relative; display: flex; width: 100%; height: 80px; flex-direction: row;
	gap: 16px; align-items: center; overflow: hidden;
}
.kensington-home-partners__logos::before,
.kensington-home-partners__logos::after {
	position: absolute; top: 0; z-index: 2; height: 80px; content: ""; pointer-events: none;
}
.kensington-home-partners__logos::before { left: 0; width: 105.333px; background: linear-gradient(90deg,#fff,transparent); }
.kensington-home-partners__logos::after { right: 0; width: 92.667px; background: linear-gradient(270deg,#fff,transparent); }
.kensington-home-partners .kensington-home-partners__logo-slot {
	position: relative; display: flex; box-sizing: border-box; width: 142px; min-width: 142px;
	height: 80px; flex: 0 0 142px; align-items: center; justify-content: center;
}
.kensington-home-partners__logo img { display: block; max-width: none; object-fit: contain; }
.kensington-home-partners__logo--01 img { width: 60px; height: 60px; }
.kensington-home-partners__logo--02 img { width: 98.667px; height: 55.5px; }
.kensington-home-partners__logo--03 img { width: 58.182px; height: 60px; }
.kensington-home-partners__logo--04 img { width: 92.226px; height: 34.441px; }
.kensington-home-partners__logo--05 { width: 121.25px; height: 44.091px; overflow: hidden; }
.kensington-home-partners__logo--05 img { width: 247.21px; height: 129.8px; max-width: none; transform: translate(-64.8px,-33px); }
.kensington-home-partners__logo--06 img { width: 125.706px; height: 28.546px; }
.kensington-home-partners__logo--07 img { width: 132px; height: 23.344px; }
.kensington-home-partners__logo--08 img { width: 127.258px; height: 15.178px; }
.kensington-home-partners__logo--09 img { width: 137px; height: 26.89px; }

/* Homepage: Consultation CTA (desktop, Figma 14317:1717). */
.kensington-home-consultation {
	--padding-top: 48px; --padding-right: 0; --padding-bottom: 48px; --padding-left: 0;
	box-sizing: border-box; width: 100%; height: 731px; min-height: 731px;
	padding: 48px 0 !important; background: #fff;
}
.kensington-home-consultation .e-con {
	--padding-top: 0 !important; --padding-right: 0 !important;
	--padding-bottom: 0 !important; --padding-left: 0 !important;
	max-width: none !important; padding: 0 !important;
}
.kensington-home-consultation .kensington-home-consultation__inner {
	position: relative; display: flex; box-sizing: border-box;
	width: min(1360px, calc(100vw - 80px)) !important; max-width: 1360px !important;
	height: 635px; margin-inline: auto;
	padding: 120px 64px !important; justify-content: center; overflow: hidden; border-radius: 32px;
}
.kensington-home-consultation__inner::before {
	position: absolute; inset: 0; content: "";
	background: linear-gradient(90deg,rgb(0 0 0 / 80%) 0%,rgb(0 0 0 / 80%) 56.544%,transparent 100%),
		url("https://dev2.knok-studios.com/wp-content/themes/kensington-theme/assets/images/homepage/consultation/consultation-background.png") center / cover no-repeat;
}
.kensington-home-consultation__content {
	position: relative; z-index: 1; width: 716px; gap: 32px; align-self: flex-start;
}
.kensington-home-consultation__copy-group { width: 100%; gap: 8px; }
.kensington-home-consultation__title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 48px; font-weight: 500;
	line-height: 1.2; letter-spacing: -1.44px; color: #fff; text-transform: capitalize;
}
.kensington-home-consultation__intro { width: 418px; }
.kensington-home-consultation__intro p {
	margin: 0; font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.32px; color: #f5f5f6; text-shadow: 0 0 80px rgb(0 0 0 / 50%);
}
.kensington-home-consultation__benefits { display: flex; width: 489px; gap: 24px; flex-direction: row; align-items: flex-start; }
.kensington-home-consultation .kensington-home-consultation__benefit {
	width: 150px !important; min-width: 150px; flex: 0 0 150px !important; gap: 16px;
}
.kensington-home-consultation__icon,
.kensington-home-consultation__icon img { display: block; width: 24px; height: 24px; object-fit: contain; }
.kensington-home-consultation__benefit-copy { width: 100%; gap: 0; }
.kensington-home-consultation__benefit-title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 18px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.45px; color: #fff;
}
.kensington-home-consultation__benefit-text p {
	margin: 0; font-family: "Satoshi", sans-serif; font-size: 14px; font-weight: 400;
	line-height: 1.5; letter-spacing: -0.14px; color: #f5f5f6;
}
.kensington-home-consultation__cta { align-self: flex-start; }
.kensington-home-consultation__cta .elementor-button {
	height: 56px; min-height: 56px; padding: 16px 32px; border-radius: 16px; background: #c5a36f;
	font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 500;
	line-height: 1.5; color: #fff; text-transform: uppercase;
}

/* Homepage: Newsletter visual-only signup (desktop, Figma 14634:462). */
.kensington-home-newsletter {
	--padding-top: 0; --padding-right: 24px; --padding-bottom: 0; --padding-left: 24px;
	position: relative; box-sizing: border-box; width: 100%; height: 810px; min-height: 810px;
	padding: 0 24px !important; align-items: center; justify-content: center; overflow: hidden;
}
.kensington-home-newsletter::before {
	position: absolute; inset: 0; content: "";
	background: linear-gradient(rgb(0 0 0 / 10%),rgb(0 0 0 / 10%)),
		url("https://dev2.knok-studios.com/wp-content/themes/kensington-theme/assets/images/homepage/newsletter/newsletter-background.png") center / 103.61% 103.6% no-repeat;
}
.kensington-home-newsletter .e-con {
	--padding-top: 0 !important; --padding-right: 0 !important;
	--padding-bottom: 0 !important; --padding-left: 0 !important;
	max-width: none !important; padding: 0 !important;
}
.kensington-home-newsletter .kensington-home-newsletter__panel {
	position: relative; z-index: 1; display: flex; box-sizing: border-box; width: 670px;
	height: 386px; padding: 64px !important; gap: 32px; align-items: center;
	background: rgb(0 0 0 / 20%); border-radius: 24px;
	-webkit-backdrop-filter: blur(25px); backdrop-filter: blur(25px);
}
.kensington-home-newsletter__copy { width: 542px; height: 172px; gap: 12px; align-items: center; text-align: center; }
.kensington-home-newsletter__title { width: 100%; }
.kensington-home-newsletter__title .elementor-heading-title {
	margin: 0; font-family: "Butler", serif; font-size: 48px; font-weight: 500;
	line-height: 1.2; letter-spacing: -1.44px; text-transform: capitalize; color: transparent;
	background: linear-gradient(100.066deg,#fff 0.776%,rgb(255 255 255 / 60%) 25.861%,#fff 54.729%,rgb(255 255 255 / 70%) 83.597%);
	-webkit-background-clip: text; background-clip: text;
}
.kensington-home-newsletter__text,
.kensington-home-newsletter__text p {
	margin: 0; font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.32px; color: #fff; text-shadow: 0 0 80px rgb(0 0 0 / 50%);
}
.kensington-home-newsletter__form,
.kensington-home-newsletter__form .elementor-widget-container { width: 542px; height: 54px; }
.kensington-newsletter-form { display: grid; width: 542px; height: 54px; grid-template-columns: 395px 135px; gap: 12px; }
.kensington-newsletter-form input {
	box-sizing: border-box; width: 395px; height: 54px; padding: 16px;
	font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 400;
	line-height: 1.4; letter-spacing: -0.32px; color: #fff; background: transparent;
	border: 1px solid rgb(255 255 255 / 30%); border-radius: 16px; outline: none;
}
.kensington-newsletter-form input::placeholder { color: rgb(255 255 255 / 60%); opacity: 1; }
.kensington-newsletter-form button {
	box-sizing: border-box; width: 135px; height: 54px; padding: 12px 24px;
	font-family: "Satoshi", sans-serif; font-size: 16px; font-weight: 500;
	line-height: 1.5; color: #fff; text-transform: uppercase; cursor: pointer;
	background: #c5a36f; border: 0; border-radius: 16px;
}
.kensington-newsletter-form input:focus-visible,
.kensington-newsletter-form button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Market Insights archive — desktop, Figma 14824:10401. */
.post-type-archive-market_insight .site-main { padding: 0; }
.kensington-market-archive { width: 100%; overflow: hidden; background: #fff; }
.kensington-market-hero {
	position: relative; width: 100%; height: 280px; overflow: hidden;
	background: linear-gradient(rgb(0 0 0 / 60%),rgb(0 0 0 / 60%)),
		url("assets/images/market-insights/archive-hero.png") center / cover no-repeat;
}
.kensington-market-hero__content {
	position: absolute; top: 112px; left: max(40px,calc((100% - 1360px) / 2));
	display: flex; flex-direction: column; gap: 24px; width: min(1360px,calc(100vw - 80px));
}
.kensington-market-hero h1 {
	margin: 0; font-family: "Butler",serif; font-size: 64px; font-weight: 500;
	line-height: 1.1; letter-spacing: -3.2px; color: #fff; text-transform: capitalize;
}
.kensington-market-eyebrow {
	display: flex; gap: 10px; align-items: center; margin: 0;
	font-family: "Satoshi",sans-serif; font-size: 16px; font-weight: 700;
	line-height: 1.5; letter-spacing: -.32px; color: #c5a36f; text-transform: uppercase;
}
.kensington-market-eyebrow::before { width: 2px; height: 18px; background: #c5a36f; content: ""; }
.kensington-market-eyebrow a { color: inherit; text-decoration: none; }
.kensington-market-eyebrow--small { font-size: 12px; letter-spacing: -.24px; }
.kensington-market-eyebrow--small::before { width: 1px; height: 10px; }
.kensington-market-grid {
	display: grid; grid-template-columns: 437px 553px 322px; gap: 24px;
	width: min(1360px,calc(100vw - 80px)); max-width: 1360px; min-height: 929px;
	margin: 61px auto 68px;
}
.kensington-market-column,.kensington-market-sidebar { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.kensington-market-list,.kensington-market-featured-list { display: flex; flex-direction: column; gap: 24px; }
.kensington-market-card { margin: 0; }
.kensington-market-card a { color: inherit; text-decoration: none; }
.kensington-market-card--compact + .kensington-market-card--compact { padding-top: 24px; border-top: 1px solid rgb(13 14 19 / 5%); }
.kensington-market-card--compact a { display: grid; grid-template-columns: 224px 1fr; gap: 16px; align-items: center; height: 137px; overflow: hidden; }
.kensington-market-card--compact img { display: block; width: 224px; height: 126px; object-fit: cover; border-radius: 16px; }
.kensington-market-card__copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kensington-market-card time,.kensington-market-card p {
	margin: 0; font-family: "Satoshi",sans-serif; font-size: 14px; font-weight: 400;
	line-height: 1.5; letter-spacing: -.14px; color: #82858e;
}
.kensington-market-card h3 {
	margin: 0; font-family: "Butler",serif; font-size: 16px; font-weight: 500;
	line-height: 1.4; letter-spacing: -.4px; color: #0d0e13;
}
.kensington-market-card--compact h3 {
	display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
}
.kensington-market-card--compact p {
	display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
.kensington-market-card--featured a { display: flex; flex-direction: column; gap: 16px; }
.kensington-market-card--featured img { display: block; width: 553px; height: 329px; object-fit: cover; border-radius: 24px; }
.kensington-market-card--featured h3 { font-size: 20px; letter-spacing: -.5px; }
.kensington-market-column--center .kensington-market-card--compact + .kensington-market-card--compact { padding-top: 24px; }
.kensington-market-sidebar__panel {
	display: flex; flex-direction: column; gap: 24px; padding: 16px;
	border: 1px solid #e0e2e5; border-radius: 24px;
}
.kensington-market-sidebar__panel > h3 {
	margin: 0; font-family: "Satoshi",sans-serif; font-size: 16px; font-weight: 700;
	line-height: 1.5; letter-spacing: -.32px; color: #0d0e13; text-transform: uppercase;
}
.kensington-market-indicators { display: flex; flex-direction: column; gap: 0; }
.kensington-market-indicator { display: grid; grid-template-columns: 43px 1fr; gap: 16px; align-items: center; padding: 16px 0; }
.kensington-market-indicator:first-child { padding-top: 0; }
.kensington-market-indicator + .kensington-market-indicator { border-top: 1px solid rgb(13 14 19 / 5%); }
.kensington-market-indicator__icon {
	display: grid; place-items: center; width: 43px; height: 43px; border-radius: 50%; background: #f5f5f6;
}
.kensington-market-indicator__icon img { width: 24px; height: 24px; object-fit: contain; }
.kensington-market-indicator > div { display: flex; flex-direction: column; gap: 2px; }
.kensington-market-indicator span,.kensington-market-indicator strong,.kensington-market-indicator em {
	font-family: "Satoshi",sans-serif; line-height: 1.5; font-style: normal;
}
.kensington-market-indicator > div > span { font-size: 14px; font-weight: 400; color: #0d0e13; }
.kensington-market-indicator strong { font-size: 18px; font-weight: 700; letter-spacing: -.54px; color: #ff383c; }
.kensington-market-indicator em,.kensington-market-indicator strong.is-positive { font-size: 14px; font-weight: 700; color: #34c759; }
.kensington-market-sidebar__note { display: grid; grid-template-columns: 32px 1fr; gap: 16px; padding: 16px; border-radius: 16px; background: rgb(197 163 111 / 15%); }
.kensington-market-sidebar__note > img { width: 32px; height: 32px; }
.kensington-market-sidebar__note p { margin: 0; font: 400 14px/1.5 "Satoshi",sans-serif; letter-spacing: -.14px; color: #0d0e13; }
.kensington-market-sidebar__button {
	grid-column: 1 / -1; display: flex; align-items: center; justify-content: center;
	min-height: 45px; padding: 12px 16px; border: 1px solid #c5a36f; border-radius: 16px;
	font: 700 14px/1.5 "Satoshi",sans-serif; color: #c5a36f; text-align: center; text-transform: uppercase;
	white-space: nowrap;
}
.kensington-market-sidebar__button.is-primary { color: #fff; background: #c5a36f; }

/* Single Market Insight — desktop (Figma 14824:10520). */
.kensington-market-single,
.kensington-market-single * { box-sizing: border-box; }
.kensington-market-single__frame {
	width: min(1360px,calc(100vw - 80px)); max-width: 1360px;
	margin: 0 auto 80px; padding-top: 112px;
}
.kensington-market-single__breadcrumb {
	display: flex; gap: 4px; width: 100%; min-height: 21px;
	font: 400 14px/1.5 "Satoshi",sans-serif; letter-spacing: -.14px; color: #82858e;
}
.kensington-market-single__breadcrumb a { color: #0d0e13; text-decoration: none; }
.kensington-market-single__grid { display: grid; grid-template-columns: 783px 437px; column-gap: 140px; align-items: start; }
.kensington-market-single__article { display: flex; flex-direction: column; gap: 26px; width: 783px; padding-top: 80px; }
.kensington-market-single__header { display: flex; flex-direction: column; gap: 16px; width: 783px; height: 250px; }
.kensington-market-single__category {
	display: flex; gap: 10px; align-items: center; width: max-content;
	font: 700 16px/1.5 "Satoshi",sans-serif; letter-spacing: -.32px; color: #c5a36f; text-transform: uppercase; text-decoration: none;
}
.kensington-market-single__category::before { width: 2px; height: 18px; background: #c5a36f; content: ""; }
.kensington-market-single__header h1 {
	margin: 0; width: 783px; font: 500 64px/1.1 "Butler",serif;
	letter-spacing: -3.2px; color: #0d0e13; text-transform: capitalize;
}
.kensington-market-single__hero { width: 783px; height: 440px; margin: 0; overflow: hidden; border-radius: 24px; }
.kensington-market-single__hero img { display: block; width: 783px; height: 440px; object-fit: cover; }
.kensington-market-single__content { width: 783px; color: #1b1716; }
.kensington-market-single__content > h2 {
	margin: 0; padding: 24px 0; font: 500 32px/1.3 "Butler",serif; letter-spacing: -1.12px; color: #1b1716;
}
.kensington-market-single__content > p {
	margin: 0; padding: 0 0 16px; font: 400 16px/1.4 "Satoshi",sans-serif; letter-spacing: -.32px; color: #1b1716;
}
.kensington-market-content-cta {
	display: grid; grid-template-columns: 120px 1fr; gap: 40px; align-items: center;
	width: 783px; height: 265px; min-height: 265px; margin: 0; padding: 40px; overflow: hidden;
	background: linear-gradient(252.693deg,#c5a36f 1.2524%,#b59056 98.022%); border-radius: 24px;
}
.kensington-market-content-cta__mark {
	display: block; width: 120px; height: 149px;
	background: url("assets/images/market-insights/investment-mark.svg") center / contain no-repeat;
}
.kensington-market-content-cta > p:empty { display: none; }
.kensington-market-content-cta > div { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 0; min-width: 0; }
.kensington-market-content-cta > div > p:last-child { margin: 32px 0 0; }
.kensington-market-content-cta h3 { margin: 0 0 8px; font: 500 24px/1.3 "Butler",serif; letter-spacing: -.48px; color: #fff; }
.kensington-market-content-cta p { margin: 0; font: 400 16px/1.4 "Satoshi",sans-serif; letter-spacing: -.32px; color: #f5f5f6; }
.kensington-market-content-cta__button {
	display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
	min-height: 48px; padding: 12px 28px; font: 500 16px/1.5 "Satoshi",sans-serif;
	color: #c5a36f; text-transform: uppercase; white-space: nowrap; background: #fff; border-radius: 16px;
}
.kensington-market-single__content blockquote {
	margin: 20px 0; padding: 36px 20px 36px 22px; border: 0; border-left: 2px solid #d8d7d4;
}
.kensington-market-single__content blockquote p { margin: 0; font: 400 20px/1.5 "Satoshi",sans-serif; color: #1b1716; }
.kensington-market-single__content figure.wp-block-image { display: flex; flex-direction: column; gap: 8px; width: 783px; margin: 0; padding: 48px 0; }
.kensington-market-single__content figure.wp-block-image img { display: block; width: 783px; height: 407.8125px; object-fit: cover; border-radius: 24px; }
.kensington-market-single__content figure.wp-block-image figcaption {
	margin: 0; padding-left: 8px; border-left: 2px solid #d8d7d4;
	font: 400 16px/1.4 "Satoshi",sans-serif; letter-spacing: -.32px; color: #1b1716; text-align: left;
}
.kensington-market-single__sidebar {
	position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px;
	width: 437px; padding-top: 80px;
}
.kensington-market-single__toc,
.kensington-market-single__related { width: 437px; padding: 16px; border: 1px solid #e0e2e5; }
.kensington-market-single__toc { min-height: 264px; }
.kensington-market-single__related { height: 581px; }
.kensington-market-single__toc > h2,
.kensington-market-single__related > h2 {
	margin: 0 0 24px; font: 700 16px/1.5 "Satoshi",sans-serif; letter-spacing: -.32px; color: #0d0e13; text-transform: uppercase;
}
.kensington-market-single__toc nav { display: flex; flex-direction: column; gap: 16px; }
.kensington-market-single__toc a {
	display: flex; gap: 10px; align-items: center; min-height: 24px;
	font: 400 16px/1.5 "Satoshi",sans-serif; letter-spacing: -.32px; color: #0d0e13; text-decoration: none;
}
.kensington-market-single__toc a::before { flex: 0 0 2px; width: 2px; height: 18px; background: transparent; content: ""; }
.kensington-market-single__toc a.is-current { font-weight: 700; color: #c5a36f; }
.kensington-market-single__toc a.is-current::before { background: #c5a36f; }
.kensington-market-single__related-list { display: flex; flex-direction: column; gap: 16px; }
.kensington-market-single__related-list article + article { padding-top: 16px; border-top: 1px solid rgb(13 14 19 / 5%); }
.kensington-market-single__related-list a { display: grid; grid-template-columns: 164px 1fr; gap: 16px; align-items: center; min-height: 92px; color: #0d0e13; text-decoration: none; }
.kensington-market-single__related-list img { display: block; width: 164px; height: 92px; object-fit: cover; border-radius: 16px; }
.kensington-market-single__related-list span { font: 400 16px/1.4 "Butler",serif; letter-spacing: -.4px; }
.kensington-market-single__sidebar-cta {
	display: grid; grid-template-columns: 32px 1fr; gap: 16px; width: 405px; margin-top: 24px; padding: 16px;
	height: 135px; background: rgb(197 163 111 / 15%);
}
.kensington-market-single__sidebar-cta img { width: 32px; height: 32px; margin-top: 5px; }
.kensington-market-single__sidebar-cta p { margin: 0; font: 400 14px/1.5 "Satoshi",sans-serif; letter-spacing: -.14px; color: #0d0e13; }
.kensington-market-single__sidebar-cta span {
	grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; width: 373px; min-height: 45px;
	height: 45px;
	padding: 12px 24px; border: 1px solid #c5a36f; border-radius: 16px;
	font: 700 14px/1.5 "Satoshi",sans-serif; color: #c5a36f; text-transform: uppercase; white-space: nowrap; background: #fff;
}
.kensington-market-single .kensington-home-newsletter { display: flex; }
.kensington-market-archive .kensington-home-newsletter { display: flex; }
.kensington-market-archive .kensington-home-newsletter__panel,
.kensington-market-single .kensington-home-newsletter__panel { flex-direction: column; justify-content: flex-start; }
.kensington-market-archive .kensington-home-newsletter__copy,
.kensington-market-single .kensington-home-newsletter__copy { display: flex; flex-direction: column; }
.kensington-market-archive .kensington-home-newsletter__title,
.kensington-market-single .kensington-home-newsletter__title {
	margin: 0; font-family: "Butler",serif; font-size: 48px; font-weight: 500;
	line-height: 1.2; letter-spacing: -1.44px; text-transform: capitalize; color: transparent;
	background: linear-gradient(100.066deg,#fff .776%,rgb(255 255 255 / 60%) 25.861%,#fff 54.729%,rgb(255 255 255 / 70%) 83.597%);
	-webkit-background-clip: text; background-clip: text;
}
.kensington-market-archive .kensington-home-newsletter__text,
.kensington-market-single .kensington-home-newsletter__text { margin: 0; }

/* About Us — desktop only (Figma 14709:20026). */

/* Page-scoped systemic reset: Elementor's default container padding
   (--container-default-padding-left/right: 40px) leaks into nested
   .e-con containers that never received an explicit widget-level
   padding setting. This resets horizontal padding to 0 for ALL nested
   containers inside About Us (Page 116) ONLY. Header 28 and Footer 74
   are outside [data-elementor-id="116"] and are unaffected, as is
   every other page. Vertical padding is untouched here because the
   Elementor default vertical padding was never leaking (confirmed by
   audit). Intentional Figma horizontal paddings (Values card 32px,
   Team info 24px) are re-asserted below at matching specificity so
   they survive this reset regardless of source order. */
[data-elementor-id="116"] .e-con {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

[data-elementor-id="116"] .kensington-about-values__card {
	padding-left: 32px !important;
	padding-right: 32px !important;
}

[data-elementor-id="116"] .kensington-about-team__info {
	padding-left: 24px !important;
	padding-right: 24px !important;
}

/* Hero (Figma 14709:20030). */
.kensington-about-hero {
	position: relative;
	width: 100%;
	height: 820px;
	min-height: 820px;
	margin-top: 0;
	overflow: hidden;
	background-position: center;
	background-size: cover;
}

.kensington-about-hero::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(246.72deg, rgb(0 0 0 / 0%) 9.125%, #000 99.525%);
	content: "";
	pointer-events: none;
}

.kensington-about-hero__content {
	position: absolute;
	top: calc(50% + 220px);
	left: max(40px, calc((100% - 1360px) / 2));
	z-index: 2;
	display: flex;
	box-sizing: border-box;
	width: 783px;
	transform: translateY(-50%);
	flex-direction: column;
	gap: 16px;
}

.kensington-about-hero__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-about-hero__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-about-hero__heading .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -3.2px;
	text-transform: capitalize;
	color: transparent;
	background: linear-gradient(113deg, #fff 0.776%, rgb(255 255 255 / 60%) 25.861%, #fff 54.729%, rgb(255 255 255 / 70%) 83.597%);
	background-clip: text;
	-webkit-background-clip: text;
}

.kensington-about-hero__description,
.kensington-about-hero__description p {
	margin: 0;
	width: 551px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
	text-shadow: 0 0 80px rgb(0 0 0 / 50%);
}

/* Statement (Figma 14709:20150). */
.kensington-about-statement {
	box-sizing: border-box;
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	margin-inline: auto !important;
	padding: 80px 0 !important;
	background: #fff;
}

.kensington-about-statement__icon {
	width: 95px;
	height: 60px;
	margin-bottom: -10px;
}

.kensington-about-statement__icon img {
	display: block;
	width: 95px;
	height: 60px;
}

.kensington-about-statement__body {
	display: flex;
	flex-direction: column;
	gap: 23px;
	width: 934px;
	max-width: 100%;
}

.kensington-about-statement__quote .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	color: #0d0e13;
}

.kensington-about-statement__attribution .elementor-heading-title {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

/* Story / Image (Figma 15120:2411). */
.kensington-about-story {
	box-sizing: border-box;
	display: flex;
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	margin-inline: auto !important;
	padding: 80px 0 !important;
	align-items: center;
	justify-content: space-between;
	background: #fff;
}

.kensington-about-story__image {
	position: relative;
	flex: 0 0 669px;
	width: 669px;
	height: 529px;
	overflow: hidden;
	border-radius: 24px;
	background: #f5f5f6;
}

.kensington-about-story__image img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.kensington-about-story__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	width: 668px !important;
}

.kensington-about-story__heading-group {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
	width: 100%;
}

.kensington-about-story__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-about-story__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-about-story__title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	text-align: center;
	text-transform: capitalize;
	color: #0d0e13;
}

.kensington-about-story__copy,
.kensington-about-story__copy p {
	margin: 0;
	width: 478px;
	max-width: 100%;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	text-align: center;
	color: var(--kensington-color-neutral-darker);
}

/* Values (Figma 15120:2481). */
.kensington-about-values {
	box-sizing: border-box;
	display: flex;
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	margin-inline: auto !important;
	padding: 80px 0 !important;
	flex-direction: column;
	gap: 40px;
	background: #fff;
}

.kensington-about-values__header {
	display: flex;
	width: 100% !important;
	padding: 0 !important;
	min-height: 150px;
	align-items: flex-end;
	justify-content: space-between;
}

.kensington-about-values__heading-group {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 557px;
}

.kensington-about-values__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-about-values__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-about-values__title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	text-transform: capitalize;
	color: #0d0e13;
}

.kensington-about-values__intro,
.kensington-about-values__intro p {
	margin: 0;
	width: 554px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #82858e;
}

.kensington-about-values__cards {
	display: flex;
	width: 100% !important;
	padding: 0 !important;
	gap: 16px;
}

.kensington-about-values__card {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 32px;
	padding: 32px !important;
	background: #fff;
	border: 1px solid #e0e2e5;
	border-radius: 24px;
}

.kensington-about-values__icon,
.kensington-about-values__icon img {
	display: block;
	width: 32px;
	height: 32px;
}

.kensington-about-values__card-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.kensington-about-values__card-title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #0d0e13;
}

.kensington-about-values__card-copy,
.kensington-about-values__card-copy p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #676a73;
}

/* Team (Figma 15120:2561). */
.kensington-about-team {
	box-sizing: border-box;
	display: flex;
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	margin-inline: auto !important;
	padding: 80px 0 !important;
	flex-direction: column;
	gap: 40px;
	background: #fff;
}

.kensington-about-team__header {
	display: flex;
	width: 100% !important;
	padding: 0 !important;
	min-height: 150px;
	align-items: flex-end;
	justify-content: space-between;
}

.kensington-about-team__heading-group {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 557px;
}

.kensington-about-team__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-about-team__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-about-team__title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	text-transform: capitalize;
	color: #0d0e13;
}

.kensington-about-team__intro,
.kensington-about-team__intro p {
	margin: 0;
	width: 554px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #82858e;
}

.kensington-about-team__grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	width: 100% !important;
	padding: 0 !important;
}

.kensington-about-team__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0 !important;
	overflow: hidden;
	padding: 0 !important;
	background: #fff;
	border: 1px solid rgb(0 0 0 / 5%);
	border-radius: 24px;
}

.kensington-about-team__photo {
	position: relative;
	width: 100% !important;
	height: 313px !important;
	overflow: hidden;
	background: #f6f3ee;
}

.kensington-about-team__photo img {
	position: absolute;
	/* Exact Figma crop (node 14709:20190/14709:20191) for the reused
	   team placeholder photo: the source image is intentionally
	   over-sized and panned within the 313px-tall clipped container,
	   not a simple object-fit: cover. */
	top: 10.64%;
	left: -32.45%;
	display: block;
	width: 155.05% !important;
	height: 89.21% !important;
	max-width: none !important;
}

.kensington-about-team__info {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 24px 24px !important;
}

.kensington-about-team__name .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #0d0e13;
}

.kensington-about-team__role .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-about-team__role .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

/* Services Hero (Figma 15056:11404). Desktop only. */
.kensington-services-hero {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	height: 480px !important;
	min-height: 480px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background-color: #0d0e13;
	background-image: url("assets/images/services/hero-background.png");
	background-repeat: no-repeat !important;
	/* Figma crop: img w-full h-[168.8%] top-[0.05%] left-0 */
	background-size: 100% 168.8% !important;
	background-position: 0 0.05% !important;
}

.kensington-services-hero::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(270deg, rgb(0 0 0 / 0%) 37.778%, #000 100%),
		rgb(0 0 0 / 20%);
	content: "";
	pointer-events: none;
}

.kensington-services-hero__content {
	position: absolute;
	top: 50%;
	left: max(40px, calc((100% - 1360px) / 2));
	z-index: 2;
	display: flex;
	box-sizing: border-box;
	width: 783px !important;
	max-width: calc(100% - 80px);
	padding: 0 !important;
	transform: translateY(-50%);
	flex-direction: column;
	gap: 24px !important;
}

.kensington-services-hero__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-services-hero__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-services-hero__heading .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -3.2px;
	text-transform: capitalize;
	color: transparent;
	background: linear-gradient(102deg, #fff 0.776%, rgb(255 255 255 / 60%) 25.861%, #fff 54.729%, rgb(255 255 255 / 70%) 83.597%);
	background-clip: text;
	-webkit-background-clip: text;
}

.kensington-services-hero__description,
.kensington-services-hero__description p {
	margin: 0;
	width: 551px;
	max-width: 100%;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
	text-shadow: 0 0 80px rgb(0 0 0 / 50%);
}

/* Services Section 2 — Residential (Figma 15060:12052). Desktop only. */

/* Page-scoped horizontal padding reset for nested Service Section 2 containers only.
   Does NOT touch Hero (svchero) or site-wide containers. */
[data-elementor-id="118"] .kensington-services-residential .e-con {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Intentional Figma panel inset must win over the reset above. */
[data-elementor-id="118"] .kensington-services-residential .kensington-services-block__panel {
	padding: 40px !important;
}

.kensington-services-residential {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 80px 0 0 !important;
	flex-direction: column !important;
	gap: 40px !important;
	align-items: center !important;
	background: #fff;
}

.kensington-services-residential__intro {
	box-sizing: border-box;
	display: flex !important;
	width: 600px !important;
	max-width: calc(100% - 80px);
	padding: 0 !important;
	flex-direction: column !important;
	gap: 16px !important;
	align-items: center !important;
	text-align: center;
}

.kensington-services-residential__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-services-residential__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-services-residential__heading-group {
	display: flex !important;
	width: 100% !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 8px !important;
	align-items: center !important;
	text-align: center;
}

.kensington-services-residential__title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	text-transform: capitalize;
	color: #0d0e13;
	text-align: center;
}

.kensington-services-residential__copy,
.kensington-services-residential__copy p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #82858e;
	text-align: center;
}

.kensington-services-residential__list {
	box-sizing: border-box;
	display: flex !important;
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	margin-inline: auto !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 24px !important;
	align-items: stretch !important;
}

.kensington-services-block {
	position: relative;
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	height: 584px !important;
	min-height: 584px !important;
	padding: 0 !important;
	overflow: hidden;
	border-radius: 32px;
	align-items: stretch !important;
}

.kensington-services-block--end {
	justify-content: flex-end !important;
}

.kensington-services-block__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.kensington-services-block__media-widget {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none;
}

.kensington-services-block__media-widget .elementor-widget-container {
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.kensington-services-block__media::after {
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 20%);
	content: "";
}

.kensington-services-block__media img {
	position: absolute;
	display: block;
	max-width: none;
}

/* Figma crop: 15056:11243 — h 141.23% / left 0.01% / top -20.61% / w 116.18% */
.kensington-services-block--rental .kensington-services-block__media img {
	top: -20.61%;
	left: 0.01%;
	width: 116.18%;
	height: 141.23%;
}

/* Figma crop: 15059:11758 — object-cover size-full */
.kensington-services-block--existing .kensington-services-block__media img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Figma crop: 15059:11806 — h 131.03% / left 0 / top -3.72% / w-full */
.kensington-services-block--new .kensington-services-block__media img {
	top: -3.72%;
	left: 0;
	width: 100%;
	height: 131.03%;
}

.kensington-services-block__panel {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex !important;
	width: 433px !important;
	height: 100% !important;
	padding: 40px !important;
	flex-direction: column !important;
	gap: 0 !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	background: rgb(0 0 0 / 20%);
	backdrop-filter: blur(25px);
	-webkit-backdrop-filter: blur(25px);
}

.kensington-services-block__body {
	display: flex !important;
	width: 100% !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 16px !important;
}

.kensington-services-block__heading {
	display: flex !important;
	width: 100% !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.kensington-services-block__title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -1.12px;
	color: #fff;
}

.kensington-services-block__desc,
.kensington-services-block__desc p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
}

.kensington-services-block__features {
	display: flex;
	margin: 0;
	padding: 0;
	flex-direction: column;
	gap: 16px;
	list-style: none;
}

.kensington-services-block__features li {
	display: flex;
	gap: 16px;
	align-items: center;
	margin: 0;
	padding: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
}

.kensington-services-block__features li::before {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	background: url("assets/images/services/check.svg") center / 24px 24px no-repeat;
	content: "";
}

.kensington-services-block__cta .elementor-button {
	display: inline-flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: 16px 32px !important;
	border: 0;
	border-radius: 16px;
	background: #c5a36f !important;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff !important;
	text-transform: uppercase;
	fill: #fff;
}

.kensington-services-block__cta .elementor-button:hover,
.kensington-services-block__cta .elementor-button:focus {
	background: #b8945f !important;
	color: #fff !important;
}

/* Services Section 3 — Residential CTA (Figma 15059:11860). Desktop only. */

[data-elementor-id="118"] .kensington-services-cta .e-con {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

[data-elementor-id="118"] .kensington-services-cta .kensington-services-cta__box {
	padding: 64px !important;
}

.kensington-services-cta {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 80px 0 !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background: #fff;
}

.kensington-services-cta__box {
	position: relative;
	box-sizing: border-box;
	display: flex !important;
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	height: 354px !important;
	min-height: 354px !important;
	margin-inline: auto !important;
	padding: 64px !important;
	overflow: hidden;
	border-radius: 32px;
	align-items: flex-end !important;
	justify-content: center !important;
	background: linear-gradient(247.94deg, #c5a36f 1.25%, #b59056 98.02%);
}

.kensington-services-cta__decor {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.kensington-services-cta__decor-widget {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none;
}

.kensington-services-cta__decor-widget .elementor-widget-container {
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

/* Mask group / Ellipse 6 — Figma 15059:11862 / 15059:11864 */
.kensington-services-cta__halftone {
	position: absolute;
	top: -280px;
	left: 669px;
	width: 1142px;
	height: 843px;
	mix-blend-mode: overlay;
	pointer-events: none;
}

.kensington-services-cta__halftone img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

/* K mark — Figma 15059:11866 at x=73 y=137 */
.kensington-services-cta__mark {
	position: absolute;
	top: 137px;
	left: 73px;
	width: 184.16px;
	height: 228.63px;
	pointer-events: none;
}

.kensington-services-cta__mark img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

.kensington-services-cta__content {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex !important;
	width: 1232px !important;
	max-width: 100%;
	height: 226px !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 32px !important;
	align-items: center !important;
}

.kensington-services-cta__heading {
	box-sizing: border-box;
	display: flex !important;
	width: 642px !important;
	max-width: 100%;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 8px !important;
	align-items: center !important;
	text-align: center;
}

.kensington-services-cta__title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	text-transform: capitalize;
	color: #fff;
	text-align: center;
}

.kensington-services-cta__copy,
.kensington-services-cta__copy p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #f5f5f6;
	text-align: center;
	text-shadow: 0 0 80px rgb(0 0 0 / 50%);
}

.kensington-services-cta__button .elementor-button {
	display: inline-flex;
	box-sizing: border-box;
	min-width: 266px;
	height: 48px !important;
	min-height: 48px !important;
	align-items: center;
	justify-content: center;
	padding: 12px 28px !important;
	border: 0;
	border-radius: 16px;
	background: #fff !important;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #c5a36f !important;
	text-transform: uppercase;
	fill: #c5a36f;
}

.kensington-services-cta__button .elementor-button:hover,
.kensington-services-cta__button .elementor-button:focus {
	background: #f5f5f6 !important;
	color: #c5a36f !important;
}

/* Services Section 4 — Additional Services (Figma 15059:11954). Desktop only. */

[data-elementor-id="118"] .kensington-services-additional .e-con {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Intentional Figma row inset must win over the reset above. */
[data-elementor-id="118"] .kensington-services-additional .kensington-services-additional__row {
	padding: 32px !important;
}

.kensington-services-additional {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 80px 0 !important;
	flex-direction: column !important;
	align-items: center !important;
	background: #f5f5f6;
}

.kensington-services-additional__inner {
	box-sizing: border-box;
	display: flex !important;
	width: min(1360px, calc(100vw - 80px)) !important;
	max-width: 1360px !important;
	margin-inline: auto !important;
	padding: 0 !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0 !important;
}

.kensington-services-additional__left {
	box-sizing: border-box;
	display: flex !important;
	width: 553px !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 16px !important;
	align-items: flex-start !important;
	flex-shrink: 0 !important;
}

.kensington-services-additional__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-services-additional__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-services-additional__heading {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 8px !important;
	align-items: flex-start !important;
}

.kensington-services-additional__title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	text-transform: capitalize;
	color: #0d0e13;
}

.kensington-services-additional__copy,
.kensington-services-additional__copy p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #82858e;
}

.kensington-services-additional__right {
	box-sizing: border-box;
	display: flex !important;
	width: 668px !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 16px !important;
	align-items: stretch !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.kensington-services-additional__row {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	padding: 32px !important;
	flex-direction: row !important;
	gap: 24px !important;
	align-items: center !important;
	background: #fff;
	border-radius: 24px;
}

.kensington-services-additional__icon,
.kensington-services-additional__icon img {
	display: block;
	width: 40px !important;
	height: 40px !important;
	flex-shrink: 0;
	object-fit: contain;
}

.kensington-services-additional__icon.elementor-widget {
	width: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.kensington-services-additional__icon .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.kensington-services-additional__text {
	box-sizing: border-box;
	display: flex !important;
	width: 540px !important;
	max-width: 100%;
	padding: 0 !important;
	flex: 1 1 0 !important;
	flex-direction: column !important;
	gap: 4px !important;
	align-items: flex-start !important;
	min-width: 0;
}

.kensington-services-additional__row--industrial .kensington-services-additional__text {
	gap: 8px !important;
}

.kensington-services-additional__row-title .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #0d0e13;
}

.kensington-services-additional__row-desc,
.kensington-services-additional__row-desc p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #676a73;
}

/* Career Section 1 — Main shell + left column (Figma 14715:23874). Desktop only. */

/* Page-scoped Elementor default padding/gap neutralization for Career page only. */
[data-elementor-id="119"] .kensington-career-main .e-con {
	--padding-top: 0 !important;
	--padding-right: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	padding-top: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
}

[data-elementor-id="119"] .kensington-career-main__left {
	gap: 64px !important;
}

[data-elementor-id="119"] .kensington-career-main__top {
	gap: 16px !important;
}

[data-elementor-id="119"] .kensington-career-main__contact {
	gap: 8px !important;
}

[data-elementor-id="119"] .kensington-career-main__bottom {
	gap: 24px !important;
}

[data-elementor-id="119"] .kensington-career-main__socials {
	gap: 16px !important;
}

.kensington-career-main {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	height: 820px !important;
	min-height: 820px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background-color: #0d0e13;
	background-image: url("assets/images/career/hero-background.png");
	background-repeat: no-repeat !important;
	/* Figma crop: h-[100.5%] top-[-0.25%] */
	background-size: 100% 100.5% !important;
	background-position: 0 -0.25% !important;
}

.kensington-career-main::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(270deg, rgb(0 0 0 / 50%) 35.278%, rgb(0 0 0 / 90%) 100%);
	content: "";
	pointer-events: none;
}

.kensington-career-main__inner {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: 1130px !important;
	max-width: 1130px !important;
	height: 578px !important;
	min-height: 578px !important;
	margin-top: 128px !important;
	margin-inline: max(0px, calc((100vw - 1130px) / 2)) !important;
	padding: 0 !important;
}

.kensington-career-main__bottom {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 24px !important;
	align-items: flex-start;
	width: 426px !important;
	height: 114px !important;
	padding: 0 !important;
}

.kensington-career-main__top {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 16px !important;
	align-items: flex-start;
	width: 426px !important;
	height: 174px !important;
	padding: 0 !important;
}

.kensington-career-main__left {
	position: absolute;
	top: 51px;
	left: 0;
	z-index: 2;
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 64px !important;
	align-items: flex-start;
	width: 426px !important;
	height: 476px !important;
	padding: 0 !important;
}

.kensington-career-main__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-career-main__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-career-main__heading {
	width: 426px !important;
}

.kensington-career-main__heading .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -3.2px;
	text-transform: capitalize;
	color: transparent;
	background: linear-gradient(96.59deg, #fff 0.776%, rgb(255 255 255 / 60%) 25.861%, #fff 54.729%, rgb(255 255 255 / 70%) 83.597%);
	background-clip: text;
	-webkit-background-clip: text;
}

.kensington-career-main__contact {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 8px !important;
	align-items: flex-start;
	justify-content: center;
	width: 426px !important;
	height: 60px !important;
	padding: 0 !important;
}

.kensington-career-main__contact-widget,
.kensington-career-main__contact-widget > .elementor-widget-container,
.kensington-career-main__address-widget,
.kensington-career-main__address-widget > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.kensington-career-main__contact-row {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	height: 26px;
	padding: 0 0 4px;
	border-bottom: 1px solid #fff;
	text-decoration: none;
}

.kensington-career-main__contact-row,
.kensington-career-main__contact-row a {
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
	text-decoration: none;
}

.kensington-career-main__address,
.kensington-career-main__address p {
	margin: 0;
	width: 332px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
}

.kensington-career-main__socials {
	display: flex;
	gap: 16px !important;
	align-items: flex-start;
	width: 104px;
	height: 24px;
	padding: 0 !important;
}

.kensington-career-main__social,
.kensington-career-main__social > .elementor-widget-container,
.kensington-career-main__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.kensington-career-main__social img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.kensington-career-main__tiktok {
	box-sizing: border-box;
	display: flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 0.75px solid #fff;
	border-radius: 100px;
	padding: 0 !important;
}

.kensington-career-main__tiktok .kensington-career-main__social,
.kensington-career-main__tiktok .kensington-career-main__social > .elementor-widget-container,
.kensington-career-main__tiktok .kensington-career-main__social a {
	width: 10.2236px;
	height: 11.7959px;
}

.kensington-career-main__tiktok .kensington-career-main__social img {
	width: 10.2236px;
	height: 11.7959px;
}

/* Career Section 2 — Right accordion (Figma 14715:24004). Desktop only. */

[data-elementor-id="119"] .kensington-career-main__accordion.e-con,
[data-elementor-id="119"] .kensington-career-main__accordion .e-con {
	--padding-top: 0 !important;
	--padding-right: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

.kensington-career-main__accordion {
	position: absolute;
	top: 0;
	left: 577px;
	z-index: 2;
	box-sizing: border-box;
	width: 553px !important;
	max-width: 553px !important;
	height: 578px !important;
	min-height: 578px !important;
	padding: 0 !important;
}

.kensington-career-accordion-widget,
.kensington-career-accordion-widget > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	width: 553px !important;
	height: 578px !important;
}

.kensington-career-accordion {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 16px;
	align-items: stretch;
	width: 553px;
	height: 578px;
	margin: 0;
	padding: 0;
}

.kensington-career-accordion__item {
	display: flex;
	box-sizing: border-box;
	flex-direction: row;
	gap: 40px;
	align-items: flex-start;
	width: 553px;
	height: 79px;
	min-height: 79px;
	max-height: 79px;
	padding: 24px;
	overflow: hidden;
	background: rgb(0 0 0 / 20%);
	border: 0;
	border-radius: 24px;
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 15%);
	backdrop-filter: blur(25px);
	-webkit-backdrop-filter: blur(25px);
}

.kensington-career-accordion__item.is-open {
	flex-direction: column;
	gap: 16px;
	height: 293px;
	min-height: 293px;
	max-height: 293px;
}

.kensington-career-accordion__header,
.kensington-career-accordion__header:hover,
.kensington-career-accordion__header:focus,
.kensington-career-accordion__header:focus-visible {
	display: flex;
	box-sizing: border-box;
	flex: 1 1 auto;
	gap: 40px;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
	text-align: left;
	appearance: none;
	-webkit-appearance: none;
}

.kensington-career-accordion__item.is-open .kensington-career-accordion__header {
	flex: 0 0 auto;
	width: 505px !important;
	height: 31px !important;
	min-height: 31px !important;
	gap: 0;
}

.kensington-career-accordion__title {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #fff;
}

.kensington-career-accordion__icon {
	display: flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.kensington-career-accordion__icon img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.kensington-career-accordion__body {
	box-sizing: border-box;
	width: 505px;
	height: 198px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.kensington-career-accordion__body[hidden] {
	display: none !important;
}

.kensington-career-accordion__body p {
	margin: 0;
	width: 505px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
}

/* Desktop popups — shared chrome (Contact 14709:20202 + Schedule 14709:20242). */

.elementor-popup-modal:has(.kensington-contact-popup),
.elementor-popup-modal:has(.kensington-schedule-popup) {
	align-items: stretch !important;
	justify-content: stretch !important;
	padding: 0 !important;
	background: transparent !important;
	z-index: 20000 !important;
}

.elementor-popup-modal:has(.kensington-contact-popup) .dialog-widget-content,
.elementor-popup-modal:has(.kensington-schedule-popup) .dialog-widget-content {
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.elementor-popup-modal:has(.kensington-contact-popup) .dialog-message,
.elementor-popup-modal:has(.kensington-schedule-popup) .dialog-message {
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: 100vh !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.elementor-popup-modal:has(.kensington-contact-popup) .dialog-close-button,
.elementor-popup-modal:has(.kensington-schedule-popup) .dialog-close-button {
	display: none !important;
}

.elementor-popup-modal:has(.kensington-contact-popup) .kensington-contact-popup .e-con,
.elementor-popup-modal:has(.kensington-schedule-popup) .kensington-schedule-popup .e-con {
	--padding-top: 0 !important;
	--padding-right: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	padding: 0 !important;
}

.kensington-contact-popup,
.kensington-schedule-popup {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	height: 100vh !important;
	min-height: 100vh !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background-color: #0d0e13;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
}

.kensington-contact-popup {
	background-image: url("assets/images/contact/popup-background.png");
}

.kensington-schedule-popup {
	background-image: url("assets/images/schedule/popup-background.png");
}

.kensington-contact-popup::before,
.kensington-schedule-popup::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(270deg, rgb(0 0 0 / 30%) 0%, rgb(0 0 0 / 90%) 100%);
	content: "";
	pointer-events: none;
}

.kensington-contact-popup__frame,
.kensington-schedule-popup__frame {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	box-sizing: border-box;
	width: 1440px !important;
	max-width: 1440px !important;
	height: 820px !important;
	min-height: 820px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translate(-50%, -50%);
}

/* Contact Popup — left column (Figma 14709:20202). Desktop only. */

.kensington-contact-popup__left {
	position: absolute;
	top: 207px;
	left: 155px;
	z-index: 2;
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 64px !important;
	align-items: flex-start;
	width: 438px !important;
	height: 406px !important;
	padding: 0 !important;
}

.kensington-contact-popup__top {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 16px !important;
	align-items: flex-start;
	width: 438px !important;
	height: 104px !important;
	padding: 0 !important;
}

.kensington-contact-popup__eyebrow .elementor-heading-title,
.kensington-schedule-popup__eyebrow .elementor-heading-title {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.24px;
	color: #c5a36f;
	text-transform: uppercase;
}

.kensington-contact-popup__eyebrow .elementor-heading-title::before,
.kensington-schedule-popup__eyebrow .elementor-heading-title::before {
	display: block;
	width: 1px;
	height: 10px;
	background: #c5a36f;
	content: "";
}

.kensington-contact-popup__heading {
	width: 438px !important;
}

.kensington-contact-popup__heading .elementor-heading-title,
.kensington-schedule-popup__heading .elementor-heading-title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -3.2px;
	text-transform: capitalize;
	color: transparent;
	background-clip: text;
	-webkit-background-clip: text;
}

.kensington-contact-popup__heading .elementor-heading-title {
	background-image: linear-gradient(103.37deg, #fff 0.776%, rgb(255 255 255 / 60%) 25.861%, #fff 54.729%, rgb(255 255 255 / 70%) 83.597%);
}

.kensington-schedule-popup__heading .elementor-heading-title {
	background-image: linear-gradient(96.59deg, #fff 0.776%, rgb(255 255 255 / 60%) 25.861%, #fff 54.729%, rgb(255 255 255 / 70%) 83.597%);
}

.kensington-contact-popup__contact {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 8px !important;
	align-items: flex-start;
	justify-content: center;
	width: 438px !important;
	height: 60px !important;
	padding: 0 !important;
}

.kensington-contact-popup__contact-widget,
.kensington-contact-popup__contact-widget > .elementor-widget-container,
.kensington-contact-popup__address-widget,
.kensington-contact-popup__address-widget > .elementor-widget-container,
.kensington-contact-popup__close-widget,
.kensington-contact-popup__close-widget > .elementor-widget-container,
.kensington-schedule-popup__contact-widget,
.kensington-schedule-popup__contact-widget > .elementor-widget-container,
.kensington-schedule-popup__address-widget,
.kensington-schedule-popup__address-widget > .elementor-widget-container,
.kensington-schedule-popup__close-widget,
.kensington-schedule-popup__close-widget > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.kensington-contact-popup__contact-row,
.kensington-schedule-popup__contact-row {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	height: 26px;
	padding: 0 0 4px;
	border-bottom: 1px solid #fff;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
	text-decoration: none;
}

.kensington-contact-popup__bottom {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 24px !important;
	align-items: flex-start;
	width: 438px !important;
	height: 114px !important;
	padding: 0 !important;
}

.kensington-contact-popup__address,
.kensington-contact-popup__address p,
.kensington-schedule-popup__address,
.kensington-schedule-popup__address p {
	margin: 0;
	width: 332px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
}

.kensington-contact-popup__socials,
.kensington-schedule-popup__socials {
	display: flex;
	gap: 16px !important;
	align-items: flex-start;
	width: 104px;
	height: 24px;
	padding: 0 !important;
}

.kensington-contact-popup__social,
.kensington-contact-popup__social > .elementor-widget-container,
.kensington-contact-popup__social a,
.kensington-schedule-popup__social,
.kensington-schedule-popup__social > .elementor-widget-container,
.kensington-schedule-popup__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.kensington-contact-popup__social img,
.kensington-schedule-popup__social img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.kensington-contact-popup__tiktok,
.kensington-schedule-popup__tiktok {
	box-sizing: border-box;
	display: flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 0.75px solid #fff;
	border-radius: 100px;
	padding: 0 !important;
}

.kensington-contact-popup__tiktok .kensington-contact-popup__social,
.kensington-contact-popup__tiktok .kensington-contact-popup__social > .elementor-widget-container,
.kensington-contact-popup__tiktok .kensington-contact-popup__social a,
.kensington-schedule-popup__tiktok .kensington-schedule-popup__social,
.kensington-schedule-popup__tiktok .kensington-schedule-popup__social > .elementor-widget-container,
.kensington-schedule-popup__tiktok .kensington-schedule-popup__social a {
	width: 10.2236px;
	height: 11.7959px;
}

.kensington-contact-popup__tiktok .kensington-contact-popup__social img,
.kensington-schedule-popup__tiktok .kensington-schedule-popup__social img {
	width: 10.2236px;
	height: 11.7959px;
}

.kensington-contact-popup__close-widget,
.kensington-schedule-popup__close-widget {
	position: absolute !important;
	top: 24px;
	left: 1376px;
	z-index: 3;
	width: 40px !important;
	height: 40px !important;
}

.kensington-contact-popup__close,
.kensington-schedule-popup__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	text-decoration: none;
}

.kensington-contact-popup__close img,
.kensington-schedule-popup__close img {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

/* Schedule a Viewing Popup — left column (Figma 14709:20242). Shell/left/close only. */

.kensington-schedule-popup__left {
	position: absolute;
	top: 172px;
	left: 155px;
	z-index: 2;
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 64px !important;
	align-items: flex-start;
	width: 426px !important;
	height: 476px !important;
	padding: 0 !important;
}

.kensington-schedule-popup__top {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 16px !important;
	align-items: flex-start;
	width: 426px !important;
	height: 174px !important;
	padding: 0 !important;
}

.kensington-schedule-popup__heading {
	width: 426px !important;
}

.kensington-schedule-popup__contact {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 8px !important;
	align-items: flex-start;
	justify-content: center;
	width: 426px !important;
	height: 60px !important;
	padding: 0 !important;
}

.kensington-schedule-popup__bottom {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 24px !important;
	align-items: flex-start;
	width: 426px !important;
	height: 114px !important;
	padding: 0 !important;
}

/* Contact / Schedule popup forms — shared field chrome (Figma Contact 14709:20228 + Schedule 14709:20268). */

.kensington-contact-popup__form-widget,
.kensington-contact-popup__form-widget > .elementor-widget-container,
.kensington-schedule-popup__form-widget,
.kensington-schedule-popup__form-widget > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.kensington-contact-popup__form-widget {
	position: absolute !important;
	top: 158px;
	left: 732px;
	z-index: 2;
	box-sizing: border-box;
	width: 553px !important;
	height: 543px !important;
}

.kensington-schedule-popup__form-widget {
	position: absolute !important;
	top: 91px;
	left: 732px;
	z-index: 2;
	box-sizing: border-box;
	width: 553px !important;
	height: 639px !important;
}

.kensington-contact-form,
.kensington-schedule-form {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 40px;
	align-items: flex-start;
	width: 553px;
	margin: 0;
	padding: 40px;
	background: rgb(0 0 0 / 40%);
	border: 0;
	border-radius: 32px;
	backdrop-filter: blur(25px);
	-webkit-backdrop-filter: blur(25px);
}

.kensington-contact-form {
	height: 543px;
}

.kensington-schedule-form {
	height: 639px;
}

.kensington-contact-form__fields,
.kensington-schedule-form__fields {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 24px;
	align-items: flex-start;
	width: 473px;
	margin: 0;
	padding: 0;
}

.kensington-contact-form__fields {
	height: 367px;
}

.kensington-schedule-form__fields {
	height: 463px;
}

.kensington-contact-form__row,
.kensington-schedule-form__row {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
	width: 473px;
	margin: 0;
	padding: 0;
}

.kensington-contact-form__row--split,
.kensington-schedule-form__row--split {
	flex-direction: row;
	gap: 24px;
	height: 72px;
}

.kensington-contact-form__row--message,
.kensington-schedule-form__row--message {
	gap: 12px;
	height: 175px;
}

.kensington-contact-form__field,
.kensington-schedule-form__field {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
	width: 224.5px;
	height: 72px;
	margin: 0;
	padding: 0;
}

.kensington-contact-form__field--full,
.kensington-schedule-form__field--full {
	width: 473px;
}

.kensington-contact-form__label,
.kensington-schedule-form__label {
	display: block;
	margin: 0;
	padding: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	color: rgb(255 255 255 / 60%);
	text-transform: uppercase;
}

.kensington-contact-form__input,
.kensington-schedule-form__input,
.kensington-schedule-form__select {
	box-sizing: border-box;
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid rgb(255 255 255 / 15%);
	border-radius: 0;
	background: transparent;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}

.kensington-contact-form__input::placeholder,
.kensington-schedule-form__input::placeholder {
	color: #fff;
	opacity: 1;
}

.kensington-schedule-form__select-wrap {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 0;
}

.kensington-schedule-form__select {
	padding-right: 20px;
	cursor: pointer;
}

.kensington-schedule-form__select-wrap::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 16px;
	height: 16px;
	background: url("assets/images/schedule/caret-down.svg") center / 16px 16px no-repeat;
	content: "";
	pointer-events: none;
	transform: translateY(-50%);
}

.kensington-schedule-form__select option {
	color: #0d0e13;
	background: #fff;
}

.kensington-contact-form__textarea,
.kensington-schedule-form__textarea {
	box-sizing: border-box;
	width: 473px;
	height: 145px;
	min-height: 145px;
	max-height: 145px;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid rgb(255 255 255 / 15%);
	border-radius: 0;
	background: transparent;
	resize: none;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #fff;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}

.kensington-contact-form__textarea::placeholder,
.kensington-schedule-form__textarea::placeholder {
	color: #fff;
	opacity: 1;
}

.kensington-contact-form__input:focus,
.kensington-contact-form__textarea:focus,
.kensington-schedule-form__input:focus,
.kensington-schedule-form__select:focus,
.kensington-schedule-form__textarea:focus {
	border-color: rgb(255 255 255 / 40%);
}

.kensington-contact-form__submit,
.kensington-schedule-form__submit {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	width: 473px;
	height: 56px;
	margin: 0;
	padding: 16px 32px;
	border: 0;
	border-radius: 16px;
	background: #c5a36f;
	cursor: pointer;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	text-transform: uppercase;
	appearance: none;
	-webkit-appearance: none;
}

.kensington-contact-form__submit:hover,
.kensington-contact-form__submit:focus-visible,
.kensington-schedule-form__submit:hover,
.kensington-schedule-form__submit:focus-visible {
	background: #c5a36f;
}

/* Property Detail — Phase 3 desktop foundation (Figma 14709:19116). */
.kensington-property-single,
.kensington-property-single *,
.kensington-property-single *::before,
.kensington-property-single *::after {
	box-sizing: border-box;
}

.kensington-property-single {
	min-width: 0;
	overflow-x: clip;
	background: #f5f5f6;
}

.kensington-property-hero {
	position: relative;
	width: 100%;
	height: 820px;
	background-color: #0d0e13;
	background-image: var(--kensington-property-hero-image);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.kensington-property-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(0 0 0 / 90%) 0%, transparent 100%);
	pointer-events: none;
}

.kensington-property-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	width: min(1360px, calc(100vw - 80px));
	max-width: 1360px;
	height: 100%;
	margin-inline: auto;
}

.kensington-property-hero__content {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 750px;
	min-height: 381px;
}

.kensington-property-hero__badges,
.kensington-property-hero__actions,
.kensington-property-hero__price,
.kensington-property-badge {
	display: flex;
	align-items: center;
}

.kensington-property-hero__badges {
	gap: 16px;
}

.kensington-property-badge {
	width: max-content;
	min-height: 28px;
	border-radius: 8px;
	white-space: nowrap;
}

.kensington-property-badge--status {
	padding: 4px 8px;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: -0.24px;
	color: #34c759;
	text-transform: uppercase;
	background: rgb(52 199 89 / 10%);
}

.kensington-property-badge--status::before {
	width: 2px;
	height: 12px;
	margin-right: 6px;
	background: currentColor;
	content: "";
}

.kensington-property-badge--tier {
	gap: 4px;
	min-height: 24px;
	padding: 2px 6px 2px 2px;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #b49c70;
	background: rgb(180 156 112 / 10%);
	border: 1px solid rgb(180 156 112 / 15%);
	backdrop-filter: blur(12px);
}

.kensington-property-badge--tier img {
	display: block;
	width: 16px;
	height: 16px;
}

.kensington-property-hero__heading-group {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.kensington-property-hero__location,
.kensington-property-hero__title,
.kensington-property-hero__price,
.kensington-property-highlight h2,
.kensington-property-highlight p,
.kensington-property-sidebar h2,
.kensington-property-sidebar p {
	margin: 0;
}

.kensington-property-hero__location {
	font-family: "Inter Tight", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.09px;
	color: #b49c70;
}

.kensington-property-hero__title {
	width: 100%;
	font-family: "Butler", serif;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -3.2px;
	text-transform: capitalize;
	background: linear-gradient(101.5deg, #fff 0.78%, rgb(255 255 255 / 60%) 25.86%, #fff 54.73%, rgb(255 255 255 / 70%) 83.6%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.kensington-property-hero__price {
	gap: 16px;
	width: 100%;
	white-space: nowrap;
	backdrop-filter: blur(25px);
}

.kensington-property-hero__price span {
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.32px;
	color: rgb(255 255 255 / 60%);
	text-transform: uppercase;
}

.kensington-property-hero__price strong {
	font-family: "Butler", serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -1.12px;
	color: #fff;
}

.kensington-property-hero__actions {
	gap: 16px;
}

.kensington-property-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 16px 32px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	border-radius: 16px;
	white-space: nowrap;
}

.kensington-property-button--primary {
	background: #c5a36f;
	border: 1px solid #c5a36f;
}

.kensington-property-button--glass {
	background: rgb(255 255 255 / 20%);
	border: 1px solid rgb(255 255 255 / 10%);
	backdrop-filter: blur(12px);
}

.kensington-property-button--glass.is-disabled {
	cursor: default;
	opacity: 0.65;
}

.kensington-property-button--outline {
	color: #c5a36f;
	background: #fff;
	border: 1px solid #c5a36f;
}

.kensington-property-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.kensington-property-highlights {
	position: absolute;
	right: 0;
	bottom: -104px;
	left: 0;
	z-index: 2;
	display: flex;
	gap: 8px;
	align-items: stretch;
	width: min(1360px, calc(100vw - 80px));
	max-width: 1360px;
	height: 184px;
	margin-inline: auto;
	padding: 16px;
	background: rgb(255 255 255 / 80%);
	border-radius: 32px;
	backdrop-filter: blur(32px);
}

.kensington-property-highlight {
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 16px;
	align-items: center;
	min-width: 0;
	padding: 16px;
	text-align: center;
	border-radius: 24px;
}

.kensington-property-highlight + .kensington-property-highlight::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -4px;
	width: 1px;
	background: rgb(0 0 0 / 5%);
	content: "";
}

.kensington-property-highlight__icon {
	display: block;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
}

.kensington-property-highlight__copy {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.kensington-property-highlight h2 {
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #0d0e13;
}

.kensington-property-highlight p {
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #676a73;
}

.kensington-property-main-shell {
	display: grid;
	grid-template-columns: 900px 437px;
	gap: 25px;
	align-items: start;
	width: min(1362px, calc(100vw - 76px));
	max-width: 1362px;
	min-height: 838px;
	margin: 48px auto 0;
	padding-top: 80px;
}

.kensington-property-main-shell__content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 900px;
	min-height: 1px;
}

.kensington-property-content-card {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	gap: 16px;
	width: 900px;
	padding: 32px;
	background: #fff;
	border-radius: 32px;
}

.kensington-property-content-card > h2,
.kensington-property-developer__header h2 {
	width: 100%;
	margin: 0;
	font-family: "Butler", serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -1.12px;
	color: #0d0e13;
}

.kensington-property-information {
	height: 570px;
}

.kensington-property-information__rows {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 836px;
	margin: 0;
}

.kensington-property-information__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
	min-height: 22px;
	padding: 0;
	border: 0;
}

.kensington-property-information__row:not(:last-child) {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgb(0 0 0 / 5%);
}

.kensington-property-information dt,
.kensington-property-information dd {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: -0.32px;
}

.kensington-property-information dt {
	font-weight: 400;
	color: #82858e;
}

.kensington-property-information dd {
	font-weight: 500;
	color: #0d0e13;
}

.kensington-property-overview,
.kensington-property-narrative {
	min-height: 227px;
}

.kensington-property-rich-text {
	width: 100%;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #0d0e13;
}

.kensington-property-rich-text > :first-child {
	margin-top: 0;
}

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

.kensington-property-rich-text p {
	margin: 0 0 21px;
}

.kensington-property-rich-text a {
	color: inherit;
	text-decoration: underline;
}

.kensington-property-rich-text h2,
.kensington-property-rich-text h3,
.kensington-property-rich-text h4 {
	margin: 24px 0 8px;
	font-family: "Butler", serif;
	font-weight: 500;
	line-height: 1.3;
}

.kensington-property-rich-text ul,
.kensington-property-rich-text ol {
	margin: 0 0 21px;
	padding-left: 22px;
}

.kensington-property-developer {
	min-height: 422px;
	overflow: hidden;
}

.kensington-property-developer__header {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	width: 100%;
}

.kensington-property-developer__controls {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
	align-items: center;
}

.kensington-property-developer__controls button {
	display: grid;
	box-sizing: border-box;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 4px;
	background: transparent;
	border: 1px solid #424248;
	border-radius: 50%;
	box-shadow: none;
	cursor: pointer;
	appearance: none;
}

.kensington-property-developer__controls button:disabled {
	cursor: default;
	opacity: 0.35;
}

.kensington-property-developer__controls button:focus-visible {
	outline: 2px solid #c5a36f;
	outline-offset: 2px;
}

.kensington-property-developer__controls img {
	display: block;
	width: 24px;
	height: 24px;
}

.kensington-property-developer__track {
	display: flex;
	gap: 16px;
	width: 836px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.kensington-property-developer__track::-webkit-scrollbar {
	display: none;
}

.kensington-property-developer__logo-card,
.kensington-property-developer__project {
	position: relative;
	display: flex;
	box-sizing: border-box;
	flex: 0 0 213.77px;
	width: 213.77px;
	height: 120px;
	overflow: hidden;
	border-radius: 16px;
}

.kensington-property-developer__logo-card {
	align-items: center;
	justify-content: center;
	border: 1px solid #e0e2e5;
}

.kensington-property-developer__logo-card img {
	position: absolute;
	top: -8px;
	left: -21.9px;
	display: block;
	width: 261.36px;
	height: 137.23px;
	max-width: none;
}

.kensington-property-developer__project {
	align-items: flex-end;
	padding: 8px;
	background: #424248;
}

.kensington-property-developer__project::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent 62.5%, #000 100%);
	content: "";
	pointer-events: none;
}

.kensington-property-developer__project > img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kensington-property-developer__project h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: -0.24px;
	color: #fff;
	text-transform: uppercase;
	white-space: nowrap;
}

.kensington-property-developer__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.kensington-property-developer__content > h3 {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #0d0e13;
}

.kensington-property-video {
	height: 592px;
}

.kensington-property-video__media {
	position: relative;
	display: block;
	width: 836px;
	height: 470px;
	overflow: hidden;
	border-radius: 24px;
}

.kensington-property-video__media > img:not(.kensington-property-video__play),
.kensington-property-masterplan__media img,
.kensington-property-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kensington-property-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 64px;
	height: 44.912px;
	transform: translate(-50%, -50%);
}

.kensington-property-gallery {
	position: relative;
	height: 1252px;
}

.kensington-property-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, 413px);
	grid-auto-rows: 218px;
	gap: 10px;
	width: 836px;
	height: 1130px;
	overflow: hidden;
}

.kensington-property-gallery__item {
	width: 413px;
	height: 218px;
	margin: 0;
	overflow: hidden;
	border-radius: 24px;
}

.kensington-property-gallery__item.is-extra {
	display: none;
}

.kensington-property-gallery:not(.has-more),
.kensington-property-gallery:not(.has-more) .kensington-property-gallery__grid {
	height: auto;
}

.kensington-property-gallery.has-more:not(.is-expanded)::after {
	position: absolute;
	right: 32px;
	bottom: 32px;
	left: 32px;
	height: 240px;
	background: linear-gradient(to bottom, transparent 0%, #fff 100%);
	border-radius: 0 0 24px 24px;
	content: "";
	pointer-events: none;
}

.kensington-property-gallery__toggle {
	position: absolute;
	bottom: 52px;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	text-transform: uppercase;
	background: #c5a36f;
	border: 0;
	border-radius: 16px;
	box-shadow: 0 20px 24px -4px rgb(0 0 0 / 8%), 0 8px 8px -4px rgb(0 0 0 / 3%);
	cursor: pointer;
	transform: translateX(-50%);
}

.kensington-property-gallery__toggle:focus-visible {
	outline: 2px solid #0d0e13;
	outline-offset: 3px;
}

.kensington-property-gallery.is-expanded {
	height: auto;
}

.kensington-property-gallery.is-expanded .kensington-property-gallery__grid {
	height: auto;
}

.kensington-property-gallery.is-expanded .kensington-property-gallery__item.is-extra {
	display: block;
}

.kensington-property-gallery.is-expanded .kensington-property-gallery__toggle {
	position: static;
	align-self: center;
	margin-top: 8px;
	transform: none;
}

.kensington-property-location {
	height: 760px;
}

.kensington-property-location__main {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 836px;
}

.kensington-property-map {
	position: relative;
	width: 836px;
	height: 440px;
	overflow: hidden;
	background: #f6f3ee;
	border-radius: 24px;
}

.kensington-property-map .leaflet-control-attribution {
	font-family: "Satoshi", sans-serif;
	font-size: 10px;
}

.kensington-property-map__icon {
	background: transparent;
	border: 0;
}

.kensington-property-map__marker,
.kensington-property-map__marker > span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kensington-property-map__marker {
	width: 56px;
	height: 56px;
}

.kensington-property-map__pin {
	position: absolute;
	inset: 0;
	display: block;
	width: 56px;
	height: 56px;
}

.kensington-property-map__marker > span {
	width: 30.333px;
	height: 30.333px;
	margin-top: -9px;
	background: #fff;
	border-radius: 50%;
}

.kensington-property-map__marker > span img {
	display: block;
	width: 23.333px;
	height: 23.333px;
}

.kensington-property-location__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 80px;
	width: 836px;
}

.kensington-property-location__group {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.kensington-property-location__group h3,
.kensington-property-masterplan__content h3 {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #0d0e13;
}

.kensington-property-location__group dl {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}

.kensington-property-location__group dl > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}

.kensington-property-location__group dt,
.kensington-property-location__group dd {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	line-height: 1.4;
}

.kensington-property-location__group dt {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.32px;
	color: #82858e;
}

.kensington-property-location__group dd {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #0d0e13;
	text-align: right;
}

.kensington-property-masterplan {
	min-height: 650px;
}

.kensington-property-masterplan__media {
	width: 836px;
	height: 440px;
	overflow: hidden;
	border-radius: 24px;
}

.kensington-property-masterplan__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 836px;
}

.kensington-property-masterplan__content .kensington-property-rich-text p {
	margin: 0;
}

.kensington-property-floorplans {
	height: 759px;
	overflow: hidden;
}

.kensington-property-floorplans__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 836px;
}

.kensington-property-floorplan {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	justify-content: center;
	width: 836px;
	height: 75px;
	padding: 24px;
	background: #fff;
	border: 1px solid #e0e2e5;
	border-radius: 24px;
}

.kensington-property-floorplan.is-open {
	gap: 16px;
	height: 364px;
}

.kensington-property-floorplan > button {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.36px;
	color: #0d0e13;
	text-align: left;
	background: transparent;
	border: 0;
	box-shadow: none;
	cursor: pointer;
	appearance: none;
}

.kensington-property-floorplan > button:focus-visible {
	outline: 2px solid #c5a36f;
	outline-offset: 4px;
}

.kensington-property-floorplan__icon {
	display: block;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
}

.kensington-property-floorplan__panel {
	width: 100%;
	height: 273px;
	padding-left: 48px;
}

.kensington-property-floorplan__panel[hidden] {
	display: none;
}

.kensington-property-floorplan__panel img {
	display: block;
	width: 496px;
	height: 273px;
	object-fit: cover;
	object-position: center top;
}

.kensington-property-amenities {
	height: 593px;
	overflow: hidden;
}

.kensington-property-amenities__header {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	width: 836px;
}

.kensington-property-amenities__header h2 {
	flex: 1 1 auto;
	margin: 0;
	font-family: "Butler", serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -1.12px;
	color: #0d0e13;
}

.kensington-property-amenities__controls {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
	align-items: center;
}

.kensington-property-amenities__controls button {
	display: grid;
	box-sizing: border-box;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 4px;
	background: transparent;
	border: 1px solid #424248;
	border-radius: 50%;
	box-shadow: none;
	cursor: pointer;
	appearance: none;
}

.kensington-property-amenities__controls button:disabled {
	cursor: default;
	opacity: 0.35;
}

.kensington-property-amenities__controls button:focus-visible {
	outline: 2px solid #c5a36f;
	outline-offset: 2px;
}

.kensington-property-amenities__controls img {
	display: block;
	width: 24px;
	height: 24px;
}

.kensington-property-amenities__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 836px;
}

.kensington-property-amenities__track {
	display: flex;
	gap: 16px;
	width: 836px;
	height: 183px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.kensington-property-amenities__track::-webkit-scrollbar {
	display: none;
}

.kensington-property-amenities__track figure {
	flex: 0 0 326px;
	width: 326px;
	height: 183px;
	margin: 0;
	overflow: hidden;
	border-radius: 24px;
}

.kensington-property-amenities__track img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kensington-property-amenities__features {
	display: grid;
	grid-template-columns: repeat(2, 406px);
	grid-auto-rows: 24px;
	gap: 24px;
	width: 836px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kensington-property-amenities__features li {
	display: flex;
	gap: 4px;
	align-items: flex-start;
	min-width: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #0d0e13;
}

.kensington-property-amenities__features img {
	display: block;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
}

.kensington-property-metrics {
	height: 245px;
}

.kensington-property-metrics__grid {
	display: grid;
	grid-template-columns: repeat(var(--metric-count), minmax(0, 1fr));
	gap: 32px;
	width: 836px;
	height: 123px;
}

.kensington-property-metrics__grid article {
	display: flex;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
	min-width: 0;
}

.kensington-property-metrics__grid strong {
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #0d0e13;
}

.kensington-property-metrics__grid h3,
.kensington-property-metrics__grid p {
	margin: 0;
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: #0d0e13;
}

.kensington-property-metrics__grid h3 {
	letter-spacing: -0.28px;
	text-transform: uppercase;
}

.kensington-property-metrics__grid p {
	letter-spacing: -0.14px;
}

.kensington-property-construction {
	height: 896px;
	overflow: hidden;
}

.kensington-property-construction__timeline {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 836px;
	height: 774px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kensington-property-construction__timeline li {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	gap: 20px;
	min-height: 129px;
}

.kensington-property-construction__timeline li:last-child {
	min-height: 89px;
}

.kensington-property-construction__rail {
	position: relative;
	display: flex;
	justify-content: center;
	padding-top: 8px;
}

.kensington-property-construction__rail img {
	position: relative;
	z-index: 1;
	display: block;
	width: 8px;
	height: 8px;
}

.kensington-property-construction__timeline li:not(:last-child) .kensington-property-construction__rail::after {
	position: absolute;
	top: 20px;
	bottom: -8px;
	left: 50%;
	width: 1px;
	background: #e0e2e5;
	content: "";
	transform: translateX(-50%);
}

.kensington-property-construction__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-bottom: 40px;
}

.kensington-property-construction__timeline li:last-child .kensington-property-construction__content {
	padding-bottom: 0;
}

.kensington-property-construction__content p,
.kensington-property-construction__content h3 {
	margin: 0;
}

.kensington-property-construction__status {
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #0d0e13;
	text-transform: uppercase;
}

.kensington-property-construction__timeline .is-completed .kensington-property-construction__status {
	color: #34c759;
}

.kensington-property-construction__content h3 {
	font-family: "Butler", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.48px;
	color: #0d0e13;
}

.kensington-property-construction__content > p:last-child {
	font-family: "Satoshi", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.14px;
	color: #676a73;
}

/* Property Detail related projects — desktop, Figma 14709:19153. */
.kensington-property-related {
	box-sizing: border-box;
	width: 100%;
	height: 719px;
	padding: 48px 40px;
	overflow: hidden;
	background: #f5f5f6;
}

.kensington-property-related__inner {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: min(1360px, calc(100vw - 80px));
	max-width: 1360px;
	height: 623px;
	margin-inline: auto;
}

.kensington-property-related__inner > h2 {
	width: 100%;
	height: 58px;
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	color: #0d0e13;
}

.kensington-property-related__cards {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	width: 100%;
	height: 533px;
}

.kensington-property-related .kensington-property-card,
.kensington-property-related .kensington-property-card__link {
	flex: 0 0 438px;
	width: 438px;
	height: 533px;
}

.kensington-property-single .kensington-home-newsletter {
	display: flex;
}

.kensington-property-single .kensington-home-newsletter__panel {
	flex-direction: column;
	justify-content: flex-start;
}

.kensington-property-single .kensington-home-newsletter__copy {
	display: flex;
	flex-direction: column;
}

.kensington-property-single .kensington-home-newsletter__title {
	margin: 0;
	font-family: "Butler", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.44px;
	color: transparent;
	text-transform: capitalize;
	background: linear-gradient(100.066deg, #fff .776%, rgb(255 255 255 / 60%) 25.861%, #fff 54.729%, rgb(255 255 255 / 70%) 83.597%);
	-webkit-background-clip: text;
	background-clip: text;
}

.kensington-property-single .kensington-home-newsletter__text {
	margin: 0;
}

.kensington-property-sidebar {
	position: sticky;
	top: 72px;
	width: 437px;
}

body.admin-bar .kensington-property-sidebar {
	top: calc(72px + var(--wp-admin--admin-bar--height, 32px));
}

.kensington-property-sidebar__card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	width: 437px;
	min-height: 758px;
	padding: 48px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #f5f5f6;
	border-radius: 24px;
	box-shadow: 0 32px 64px -12px rgb(0 0 0 / 8%);
}

.kensington-property-sidebar__accent {
	position: absolute;
	top: -1px;
	left: -1px;
	width: 437px;
	height: 6px;
	background: #c5a36f;
	border-radius: 24px 24px 0 0;
}

.kensington-property-sidebar__brand {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: center;
	width: 100%;
}

.kensington-property-sidebar__brand h2 {
	width: 100%;
	font-family: "Butler", serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -1.12px;
	color: #0d0e13;
	text-align: center;
}

.kensington-property-sidebar__brand img {
	display: block;
	width: 180px;
	height: 152.479px;
	margin-bottom: -20px;
	object-fit: contain;
}

.kensington-property-sidebar__brand p {
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.32px;
	color: #c5a36f;
	white-space: nowrap;
}

.kensington-property-sidebar__actions {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.kensington-property-sidebar__actions .kensington-property-button {
	width: 100%;
}

.kensington-property-sidebar__contact {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
	margin: 0;
	font-style: normal;
}

.kensington-property-sidebar__contact-row {
	display: flex;
	gap: 16px;
	align-items: center;
	width: 100%;
	color: #0d0e13;
	text-decoration: none;
}

.kensington-property-sidebar__contact-row > img {
	display: block;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
}

.kensington-property-sidebar__contact-row > span {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.kensington-property-sidebar__contact-row strong,
.kensington-property-sidebar__contact-row small {
	font-family: "Satoshi", sans-serif;
	font-size: 16px;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: -0.32px;
}

.kensington-property-sidebar__contact-row strong {
	font-weight: 500;
	color: #0d0e13;
}

.kensington-property-sidebar__contact-row small {
	font-weight: 400;
	color: #82858e;
}
