@import "nav.css?t=2.04";

:root {
	--frontend-font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

html[lang="zh-Hant"] {
	--frontend-font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
}

html[lang="ja"] {
	--frontend-font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

html[lang="en"] {
	--frontend-font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

body {
	margin: 0;
	background: #fff;
	color: #1f2528;
	font-family: var(--frontend-font-family);
	letter-spacing: 0;
}

input,
textarea,
select,
button,
table,
.btn,
.form-control,
.form-select,
.dropdown-menu,
.modal,
.accordion,
.offcanvas {
	font-family: var(--frontend-font-family);
}

a {
	color: inherit;
	text-decoration: none;
}

[v-cloak] {
	display: none;
}

.site-shell {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: #fff;
}

.site-main {
	flex: 1;
	padding-top: 78px;
}

.site-container {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.site-kicker {
	margin: 0 0 14px;
	color: #787f84;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.yh-btn--outline-dark {
	background: #fff;
	border: 1px solid #182226;
	color: #182226;
}

.yh-btn--outline-dark:hover,
.yh-btn--outline-dark:focus {
	background: #182226;
	color: #fff;
}

.yh-btn--accent {
	background: #41bbc6;
	border: 1px solid #41bbc6;
	color: #fff;
}

.yh-btn--accent:hover,
.yh-btn--accent:focus {
	background: #2da7b2;
	border-color: #2da7b2;
	color: #fff;
}

.yh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border-radius: 4px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 700;
}

.yh-btn--dark {
	background: #182226;
	border: 1px solid #182226;
	color: #fff;
}

.yh-btn--dark:hover,
.yh-btn--dark:focus {
	background: #2d3a3f;
	border-color: #2d3a3f;
	color: #fff;
}

.yh-btn--light {
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(255, 255, 255, .94);
	color: #182226;
}

.yh-text-link {
	display: inline-flex;
	margin-top: 18px;
	border-bottom: 1px solid currentColor;
	font-weight: 700;
}

.home-hero {
	position: relative;
	min-height: calc(100vh - 78px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #182226;
	color: #fff;
}

.legacy-home-hero {
	position: relative;
	min-height: calc(100vh - 78px);
	overflow: hidden;
	background: #111;
}

.legacy-home-hero__slide {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	opacity: 0;
	transform: scale(1.04);
	transition: opacity 1.6s ease, transform 8s ease;
}

.legacy-home-hero__slide.is-active {
	opacity: 1;
	transform: scale(1);
}

.legacy-home-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .06));
}

.legacy-home-hero__logo {
	position: absolute;
	z-index: 1;
	top: 22%;
	left: 9%;
	width: min(260px, 30vw);
}

.legacy-home-hero__logo img {
	width: 100%;
	height: auto;
	display: block;
}

.legacy-home-hero__slogan {
	position: absolute;
	z-index: 1;
	right: 7%;
	bottom: 18%;
	width: min(720px, 82vw);
	color: #fff;
	text-align: right;
}

.legacy-home-hero__slogan p {
	margin: 0 0 10px;
	font-size: clamp(24px, 4vw, 54px);
	font-weight: 700;
	line-height: 1.15;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .28);
}

.legacy-home-hero__slogan p + p {
	font-size: clamp(17px, 2vw, 28px);
	font-weight: 500;
}

.legacy-intro-section {
	padding: 72px 0;
	background: #fff;
}

.legacy-split,
.legacy-development-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 0;
}

.legacy-split__media img,
.legacy-development-row__image img {
	width: 100%;
	height: auto;
	display: block;
}

.legacy-split__copy {
	padding: 36px 44px;
	text-align: center;
}

.legacy-split__copy h1 {
	margin: 0 0 24px;
	color: #3c3c3c;
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 700;
	line-height: 1.25;
}

.legacy-split__copy p {
	margin: 0 0 18px;
	color: #3c3c3c;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.85;
	text-align: left;
}

.legacy-development-section {
	padding: 8px 0 40px;
	background: #fff;
}

.legacy-development-row {
	margin-top: 34px;
}

.legacy-development-row__copy {
	padding: 34px 42px;
	text-align: center;
}

.legacy-development-row__copy h2 {
	margin: 0;
	color: #3c3c3c;
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 500;
}

.legacy-development-row__copy p {
	margin: 22px 0;
	color: #3c3c3c;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.65;
	text-align: left;
}

.legacy-listings-section {
	padding: 32px 0 56px;
	background: #fff;
}

.legacy-section-title {
	margin: 0 0 24px;
	color: #3c3c3c;
	font-size: 36px;
	font-weight: 500;
	text-align: center;
}

.legacy-empty-text {
	margin: 0;
	color: #697377;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
}

.legacy-listings-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.legacy-property-card {
	display: block;
	border: 1px solid #ececec;
	background: #fff;
	color: #3c3c3c;
	transition: box-shadow .2s ease, transform .2s ease;
}

.legacy-property-card:hover,
.legacy-property-card:focus {
	color: #3c3c3c;
	transform: translateY(-2px);
	box-shadow: 0 18px 38px rgba(0, 0, 0, .08);
}

.legacy-property-card__image {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f3f3f3;
}

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

.legacy-property-card__badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.legacy-property-card__badges span {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	border-radius: 4px;
	padding: 4px 8px;
	background: #6c757d;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.legacy-property-card__body {
	padding: 16px;
}

.legacy-property-card__body h3 {
	min-height: 50px;
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
}

.legacy-property-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	min-width: 0;
}

.legacy-property-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
}

.legacy-property-card__meta span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.legacy-property-card__meta .iconfont {
	font-size: 17px;
}

.legacy-property-card__body p {
	min-height: 44px;
	margin: 0 0 12px;
	color: #626b70;
	font-size: 14px;
	line-height: 1.55;
}

.legacy-property-card__specs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	color: #3c3c3c;
	font-size: 12px;
}

.legacy-property-card__specs > span {
	display: inline-flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4px;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.legacy-property-card__specs > span:nth-child(2),
.legacy-property-card__specs > span:nth-child(3),
.legacy-property-card__specs > span:nth-child(4) {
	justify-content: center;
}

.legacy-property-card__specs .iconfont {
	font-size: 20px;
	line-height: 1;
	flex: 0 0 auto;
}

.legacy-property-card__spec-text {
	display: inline-block;
	padding-top: 2px;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.legacy-see-more {
	margin-top: 28px;
	text-align: center;
}

.property-list-section,
.property-detail-section {
	padding: 56px 0;
	background: #fff;
}

.property-filter {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	gap: 12px;
	margin-bottom: 28px;
	padding: 18px;
	border: 1px solid #dde3e1;
	border-radius: 6px;
	background: #f7f9f8;
}

.property-filter .form-select {
	min-height: 44px;
	border-radius: 4px;
}

.property-filter .yh-btn {
	min-width: 96px;
}

.property-detail-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 620px;
	background-position: center;
	background-size: cover;
	color: #fff;
}

.property-detail-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .72));
}

.property-detail-hero .site-container {
	position: relative;
	z-index: 1;
	padding: 96px 0 64px;
}

.property-detail-hero h1 {
	max-width: 900px;
	margin: 0;
	font-size: clamp(38px, 6vw, 78px);
	font-weight: 700;
	line-height: 1.05;
}

.property-detail-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.property-detail-hero__meta span {
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 999px;
	padding: 7px 12px;
	background: rgba(0, 0, 0, .22);
	font-size: 14px;
	font-weight: 700;
}

.property-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: 34px;
	align-items: start;
}

.property-detail-sidebar {
	display: block;
	position: sticky;
	top: 98px;
}

.property-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 32px;
}

.property-gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	border-radius: 4px;
	background: #f0f0f0;
}

.property-detail-copy {
	display: grid;
	gap: 18px;
}

.property-detail-copy .property-detail-subtitle {
	margin: 0;
	padding: 10px 0;
	color: #3c3c3c;
	font-size: 25px;
	font-weight: 400;
	line-height: 1.4;
}

.property-detail-city-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	width: fit-content;
	margin-bottom: 8px;
	color: #036eb8;
	font-size: 24px;
	font-weight: 500;
	text-decoration: none;
}

.property-detail-city-link .iconfont {
	font-size: 26px;
	line-height: 1;
}

.property-detail-city-link:hover,
.property-detail-city-link:focus {
	color: #036eb8;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.property-detail-copy h2,
.property-detail-panel h2 {
	margin: 0;
	font-size: 26px;
	font-weight: 700;
}

.property-detail-copy p {
	margin: 0 0 12px;
	color: #4d575b;
	font-size: 16px;
	line-height: 1.85;
}

.property-detail-media,
.property-detail-map {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #f0f0f0;
}

.property-detail-media {
	aspect-ratio: 4 / 3;
	margin-bottom: 12px;
}

.property-detail-map {
	height: 480px;
	margin-top: 10px;
}

.property-detail-media iframe,
.property-detail-map iframe,
.property-map-modal iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.property-detail-map__open {
	position: absolute;
	right: 14px;
	bottom: 14px;
	border: 0;
	border-radius: 4px;
	padding: 9px 14px;
	background: rgba(24, 34, 38, .88);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}

.property-detail-map__open:hover,
.property-detail-map__open:focus {
	background: #182226;
}

.property-detail-panel {
	padding: 0 15px 30px;
	background: #f7f8f8;
}

.property-detail-panel h2 {
	margin: 0 -15px 20px;
	padding: 10px 0;
	background-color: #41bbc6;
	color: #fff;
	font-size: 25px;
	font-weight: 300;
	text-align: center;
}

.property-detail-facts {
	margin: 0 0 24px;
}

.property-detail-fact {
	display: flex;
	align-items: center;
	margin: 0 0 12px;
	color: #898989;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.45;
}

.property-detail-fact .iconfont {
	flex: 0 0 24px;
	width: 24px;
	margin-right: 5px;
	color: #898989;
	font-size: 20px;
	line-height: 1;
	text-align: center;
}

.property-detail-fact span {
	flex: 0 0 auto;
}

.property-detail-fact strong {
	min-width: 0;
	color: #036eb8;
	font-weight: 300;
	word-break: break-word;
}

.property-detail-access {
	display: grid;
	gap: 10px;
	padding-top: 2px;
}

.property-detail-access h3 {
	margin: 0 0 14px;
	color: #3c3c3c;
	font-size: 18px;
	font-weight: 500;
}

.property-detail-access-item {
	display: flex;
	align-items: flex-start;
	margin: 0;
	color: #898989;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.7;
}

.property-detail-access-item .iconfont {
	flex: 0 0 24px;
	width: 24px;
	margin-right: 5px;
	color: #898989;
	text-align: center;
}

.property-detail-access-item a,
.property-detail-access-item strong {
	min-width: 0;
	color: #036eb8;
	font-weight: 300;
	word-break: break-word;
}

.property-map-modal .modal-content {
	border: 0;
	border-radius: 0;
	background: #fff;
}

.property-map-modal .modal-body {
	height: min(78vh, 680px);
	padding: 42px 18px 18px;
}

.property-map-modal__close,
.property-contact-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
}

.property-contact-modal .modal-content {
	border: 0;
	border-radius: 0;
	background: #ebebeb;
}

.property-contact-modal .modal-body {
	padding: 38px;
}

.property-contact-modal h2 {
	margin: 0 0 24px;
	color: #1f2528;
	font-size: 32px;
	font-weight: 800;
	text-align: center;
}

.property-detail-actions {
	display: grid;
	gap: 20px;
	margin: 20px 0 10px;
}

.property-detail-actions form {
	margin: 0;
}

.property-detail-action-btn {
	display: flex;
	align-items: center;
	width: 75%;
	height: 70px;
	margin: 0 auto;
	border: 0;
	padding: 0 20px;
	background-color: #9fa0a0;
	color: #fff;
	font-size: 20px;
	font-weight: 200;
	line-height: 70px;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}

.property-detail-action-btn:hover,
.property-detail-action-btn:focus {
	background-color: #8f9090;
	color: #fff;
}

.property-detail-action-btn .iconfont {
	flex: 0 0 auto;
	margin-right: 20px;
	color: #fff;
	font-size: 50px;
	line-height: 1;
}

.property-detail-action-btn span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.property-detail-actions--mobile,
.property-featured-listings--mobile {
	display: none;
}

.property-featured-listings {
	margin-top: 26px;
}

.property-featured-listings h2 {
	margin: 0;
	padding: 10px 0;
	background-color: #41bbc6;
	color: #fff;
	font-size: 25px;
	font-weight: 300;
	text-align: center;
}

.property-featured-listings__body {
	border: 1px solid #dcdddd;
	padding-top: 20px;
	background: #fff;
}

.property-featured-item {
	display: grid;
	grid-template-columns: 36% minmax(0, 1fr);
	gap: 12px;
	margin: 0 15px 18px;
	color: inherit;
	text-decoration: none;
}

.property-featured-item:hover,
.property-featured-item:focus {
	color: inherit;
}

.property-featured-item img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.property-featured-item__info {
	min-width: 0;
}

.property-featured-item__title {
	display: block;
	margin-bottom: 8px;
	color: #3c3c3c;
	font-size: 15px;
	line-height: 1.35;
}

.property-featured-item__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 15px;
}

.property-featured-item__price {
	color: #3c3c3c;
	white-space: nowrap;
}

.property-featured-item__city {
	color: #898989;
	white-space: nowrap;
}

.property-featured-item__city .iconfont {
	margin-right: 2px;
	font-size: 15px;
}

.development-carousel .carousel-item {
	height: 60vh;
	min-height: 420px;
	background: #111;
}

.development-carousel .carousel-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.development-carousel .carousel-caption {
	bottom: 12%;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .32);
}

.development-carousel .carousel-caption h1 {
	margin: 0;
	font-size: clamp(34px, 6vw, 72px);
	font-weight: 700;
}

.development-carousel .carousel-caption h2 {
	margin: 12px auto 0;
	max-width: 820px;
	font-size: clamp(16px, 2vw, 24px);
	font-weight: 500;
	line-height: 1.45;
}

.development-copy-section {
	padding: 56px 0 24px;
	background: #fff;
}

.development-copy {
	max-width: 980px;
}

.development-copy h2 {
	margin: 28px 0 16px;
	color: #3c3c3c;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 600;
	text-align: center;
}

.development-copy p {
	margin: 0 0 10px;
	color: #3c3c3c;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.85;
}

.development-detail {
	background: #fff;
	color: #3c3c3c;
}

.development-detail .yh-btn,
.legacy-development-row .yh-btn {
	border-radius: 0;
	font-family: "Oswald-Light", "Oswald-Regular", Arial, sans-serif;
	font-size: 18px;
}

.development-detail-c,
.development-detail-c p,
.development-detail-c a,
.development-detail-c h1,
.development-detail-c h2,
.development-detail-c h3,
.development-detail-c div,
.development-detail-c span {
	font-family: "HiraginoKakuGothicProW3", "Noto Sans JP", sans-serif;
}

.development-detail-d,
.development-detail-d h1,
.development-detail-d h2,
.development-detail-d h3,
.development-detail-d h4,
.development-detail-d h5,
.development-detail-d h6,
.development-detail-d p,
.development-detail-d a,
.development-detail-d li,
.development-detail-d span,
.development-detail-d div {
	font-family: "Playfair Display", Georgia, serif !important;
}

.development-detail-d {
	color: #2f2f2f;
}

.development-detail-d h1,
.development-detail-d .display-1,
.development-detail-d .display-4 {
	font-weight: 700;
}

.development-detail-d p,
.development-detail-d .fs-4,
.development-detail-d .fs-5 {
	font-weight: 400;
	line-height: 1.7;
	margin-bottom: 1.5rem;
}

.development-detail img {
	max-width: 100%;
}

.dev-a-hero {
	position: relative;
	height: 80vh;
	min-height: 560px;
	overflow: hidden;
}

.dev-a-hero img,
.development-detail-carousel .carousel-item img,
.dev-c-hero img,
.dev-d-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dev-a-hero__text {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	max-width: 960px;
	padding: 80px 40px 40px 80px;
	color: #fff;
}

.dev-a-hero__text h1 {
	margin: 0 0 12px;
	font-size: clamp(34px, 5vw, 58px);
	font-weight: 800;
	line-height: 1.08;
}

.dev-a-hero__text p {
	margin: 28px 0 46px;
	font-size: clamp(22px, 3vw, 34px);
}

.dev-a-hero__text strong {
	display: block;
	font-size: clamp(42px, 7vw, 82px);
	line-height: 1;
}

.development-detail-a .carousel-item img {
	max-height: 780px;
	object-fit: cover;
}

.dev-video-box {
	overflow: hidden;
	background: #000;
}

.dev-video-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	border: 0;
	background: rgba(0, 0, 0, .42);
	color: #fff;
	transition: opacity .2s ease, visibility .2s ease;
}

.dev-video-overlay span {
	font-size: clamp(32px, 6vw, 74px);
	font-weight: 800;
}

.dev-video-overlay i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #fff;
	color: #111;
	font-size: 48px;
}

.dev-video-overlay.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.development-detail-carousel .carousel-item {
	height: 60vh;
	min-height: 420px;
	background: #111;
}

.development-subnav {
	min-height: 60px;
	align-items: center;
	background: #f0f1f1;
}

.development-subnav--green {
	background: rgb(228, 236, 231);
}

.development-subnav .nav-link {
	color: #666;
	font-weight: 600;
}

.development-subnav .nav-link.active {
	color: #111;
	background: transparent;
	text-decoration: underline;
	text-underline-offset: 6px;
}

.dev-bg-image {
	width: 100%;
	height: 60vh;
	min-height: 420px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.dev-lot-img {
	width: 80px;
}

.dev-gallery-img {
	width: min(100%, 75%);
}

.dev-c-hero,
.dev-d-hero {
	position: relative;
	height: 83vh;
	min-height: 540px;
	overflow: hidden;
}

.dev-c-hero__text,
.dev-d-hero__text {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	width: min(100% - 32px, 1120px);
	text-align: center;
	transform: translate(-50%, -50%);
	color: #fff;
}

.dev-c-hero__text h1 {
	margin: 0 0 16px;
	color: #493929;
	font-size: clamp(44px, 8vw, 96px);
	font-weight: 900;
}

.dev-c-hero__text p {
	margin: 0;
	font-size: clamp(28px, 5vw, 58px);
}

.dev-d-hero__text {
	max-width: 900px;
}

.dev-d-hero__text h1 {
	margin: 0 0 18px;
	font-size: clamp(36px, 7vw, 88px);
	font-weight: 800;
}

.dev-d-hero__text p {
	margin: 0;
	font-size: clamp(18px, 3vw, 36px);
}

#heroTitle h1 {
	transition: transform .2s ease-out;
	will-change: transform;
}

.dev-c-green-band {
	background: rgb(175, 204, 186);
	max-height: 830px;
	margin-top: 100px;
}

.dev-c-img-2 {
	position: relative;
	top: -40%;
	width: 100%;
}

.dev-c-about__image {
	padding: 50px 200px;
}

.dev-c-about__image img {
	min-height: 500px;
	border-radius: 50px;
	object-fit: cover;
}

.dev-c-about__content {
	padding: 0 200px 50px;
}

.dev-c-title {
	color: rgb(175, 204, 186);
	font-size: 50px;
	font-weight: 900;
	text-align: center;
}

.dev-c-copy {
	padding-right: 100px;
	color: #3c3c3c;
	font-size: 16px;
}

.dev-c-copy a,
.dev-c-development a {
	color: #493929;
	text-decoration: underline !important;
}

.dev-c-development {
	background: rgb(175, 204, 186);
	padding: 30px 0;
}

.dev-c-development__title {
	color: #493929;
	font-size: clamp(36px, 6vw, 60px);
}

.dev-c-development__lead {
	color: #493929;
	font-size: clamp(18px, 2vw, 28px);
}

.dev-c-development p {
	color: #493929;
	font-size: 16px;
	line-height: 1.8;
}

.dev-c-icon__svg {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 80px;
	margin: 8px auto 12px;
}

.dev-c-icon__svg svg {
	width: 80px;
	height: auto;
}

.dev-c-icon p {
	padding: 0 12px 20px;
	color: #111;
	font-weight: 900;
}

.dev-d-home-copy {
	padding: 200px 300px;
}

.dev-d-title {
	padding-top: 30px;
}

.dev-d-copy {
	padding: 10px 100px;
}

.custom-hr {
	border-top: 1px solid #a4a4a4;
	opacity: 1;
}

.dev-d-property-card img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.about-legacy-page {
	padding: 30px 0 0;
	background: #fff;
	color: #3c3c3c;
	font-size: 12px;
	line-height: 1.7;
}

.about-legacy-page .row {
	--bs-gutter-x: 18px;
}

.about-legacy-page[lang="zh-Hant"] {
	font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
}

.about-legacy-page[lang="ja"] {
	font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

.about-legacy-page[lang="en"] {
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.about-legacy-page[lang="zh-Hant"] .profile-meta .aboutUsTXT,
.about-legacy-page[lang="zh-Hant"] .profile-bio .aboutUsTXT {
	font-family: "DFNMing", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", serif;
}

.about-legacy-page h3 {
	margin-top: 0;
	margin-bottom: 6px;
	font-size: calc(15.6px + .6vw);
	font-weight: 500;
	line-height: 1.2;
}

.about-legacy-page .py-4 {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

.about-legacy-page .pt-3 {
	padding-top: 12px !important;
}

.about-legacy-page .pb-3 {
	padding-bottom: 12px !important;
}

.about-legacy-page .ps-3 {
	padding-left: 12px !important;
}

.about-legacy-page dl {
	margin-bottom: 0;
}

.about-legacy-page dl dd {
	margin-bottom: 0;
}

.about-legacy-page dl .aboutUsTXT {
	margin-bottom: 4px;
}

.justify-text {
	text-align: justify;
}

.justify-text::after {
	content: "";
	display: inline-block;
	width: 100%;
}

.aboutUsTXTDIV {
	padding: 0 10px;
}

.profile_div {
	padding: 0 10px;
}

.profile-card {
	overflow: hidden;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

.profile-photo {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.profile-meta {
	padding: 18px 20px 22px;
	border-top: 1px solid #f0f0f0;
}

.profile-meta .aboutUsTXT_bold {
	display: block;
	margin-bottom: 6px;
}

.profile-bio {
	height: 100%;
	border: 1px solid #ececec;
	border-radius: 12px;
	padding: 22px 24px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
}

.aboutUsTXT {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: 12px;
}

.fontSizeDefault {
	font-size: 10px;
}

@media screen and (max-width: 768px) {
	.aboutUsTXT {
		font-size: 14px;
		text-align: left;
		letter-spacing: .5px;
		line-height: 18px;
	}

	.aboutUsTXT_bold {
		font-weight: 500;
	}
}

@media screen and (min-width: 768px) {
	.aboutUsTXTDIV {
		padding: 0 50px;
	}

	.profile_div {
		padding: 0 20px;
	}

	.profile-bio {
		padding: 24px 28px;
	}

	.aboutUsTXT {
		font-size: 14px;
		text-align: left;
		letter-spacing: 1px;
		line-height: 20px;
	}

	.fontSizeDefault {
		font-size: 12px;
	}

	.aboutUsTXT_bold {
		font-weight: 600;
	}
}

@media screen and (min-width: 992px) {
	.aboutUsTXTDIV {
		padding: 0 50px;
	}

	.profile_div {
		padding: 0 30px;
	}
}

@media screen and (min-width: 1200px) {
	.about-legacy-page h3 {
		font-size: 21px;
	}

	.aboutUsTXTDIV {
		padding: 0 80px;
	}

	.profile_div {
		padding: 0 40px;
	}
}

.home-hero__media {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	opacity: .72;
}

.home-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(12, 18, 20, .82), rgba(12, 18, 20, .34));
}

.home-hero__content {
	position: relative;
	z-index: 1;
	padding: 88px 0;
}

.home-hero h1 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(42px, 7vw, 96px);
	font-weight: 700;
	line-height: .96;
}

.home-hero p:not(.site-kicker) {
	max-width: 620px;
	margin: 28px 0 0;
	color: #eef2f3;
	font-size: 19px;
	line-height: 1.8;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 36px;
}

.home-section {
	padding: 84px 0;
	background: #fff;
}

.home-section--soft {
	background: #f4f6f5;
}

.section-heading {
	margin-bottom: 28px;
}

.section-heading h2,
.feature-card h2,
.contact-grid h2 {
	margin: 0;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 700;
}

.area-link-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.area-link-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 72px;
	border: 1px solid #dde3e1;
	border-radius: 6px;
	padding: 18px;
	background: #fff;
	font-weight: 700;
	transition: border-color .2s ease, transform .2s ease;
}

.area-link-card:hover,
.area-link-card:focus {
	border-color: #182226;
	transform: translateY(-2px);
}

.feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.feature-card {
	min-height: 360px;
	border: 1px solid #dde3e1;
	border-radius: 6px;
	padding: 34px;
	background: #fff;
}

.feature-card p {
	margin: 20px 0 0;
	color: #5f696e;
	line-height: 1.8;
}

.feature-card--image {
	display: flex;
	align-items: flex-end;
	background-position: center;
	background-size: cover;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.feature-card--image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .66));
}

.feature-card--image > div {
	position: relative;
	z-index: 1;
}

.feature-card--image a {
	display: inline-flex;
	margin-top: 18px;
	border-bottom: 1px solid currentColor;
	font-weight: 700;
}

.page-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	background-position: center;
	background-size: cover;
	color: #fff;
}

.page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(10, 16, 18, .54);
}

.page-hero .site-container {
	position: relative;
	z-index: 1;
	padding: 96px 0;
}

.page-hero--compact {
	min-height: 420px;
}

.page-hero h1 {
	margin: 0;
	font-size: clamp(38px, 6vw, 72px);
	font-weight: 700;
}

.page-copy {
	max-width: 780px;
}

.page-copy p {
	margin: 0;
	color: #5f696e;
	font-size: 18px;
	line-height: 1.9;
}

.contact-grid {
	display: grid;
	grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
	gap: 44px;
}

.contact-grid a,
.contact-grid p {
	display: flex;
	gap: 10px;
	margin: 18px 0 0;
	color: #3f4b50;
}

.contact-form {
	display: grid;
	gap: 14px;
}

.contact-form .form-control {
	min-height: 48px;
	border-radius: 4px;
}

.contact-legacy-page {
	background: #fff;
}

.contact-legacy-heading {
	margin-bottom: 28px;
	text-align: center;
}

.contact-legacy-heading h2 {
	margin: 0;
	font-size: 32px;
	font-weight: 800;
}

.contact-legacy-panel {
	background: #ebebeb;
	padding: 34px 5vw;
}

.contact-legacy-form {
	display: grid;
	gap: 18px;
}

.contact-field label,
.contact-label {
	display: block;
	margin-bottom: 8px;
	font-size: 16px;
	font-weight: 500;
	color: #2f3638;
}

.contact-field .form-control,
.contact-field .form-select {
	min-height: 50px;
	border: 1px solid #d5d5d5;
	border-radius: 3px;
	background-color: #fff;
	font-size: 17px;
	font-weight: 300;
}

.contact-field textarea.form-control {
	min-height: 300px;
	line-height: 1.7;
}

.formLabel {
	margin-right: 4px;
	color: #d01818;
}

.contact-options-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 22px;
	padding: 8px 0 2px;
}

.contact-option {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.contact-option input {
	margin-top: 5px;
}

.contact-website-field {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.contact-submit-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding-top: 8px;
}

.contact-submit-status {
	font-size: 15px;
	line-height: 1.6;
}

.contact-submit-status.is-success {
	color: #126d3a;
}

.contact-submit-status.is-error {
	color: #b42318;
}

.contact-page-loading {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .76);
	backdrop-filter: blur(2px);
}

.contact-page-loading.is-active {
	display: flex;
}

.contact-page-loading__box {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 18px 24px;
	background: rgba(47, 58, 56, .92);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	box-shadow: 0 16px 42px rgba(21, 29, 27, .18);
}

.faq-list {
	display: grid;
	gap: 16px;
	max-width: 860px;
}

.faq-list article {
	border: 1px solid #dde3e1;
	border-radius: 6px;
	padding: 26px;
}

.faq-list h2 {
	margin: 0;
	font-size: 21px;
	font-weight: 700;
}

.faq-list p {
	margin: 12px 0 0;
	color: #5f696e;
	line-height: 1.8;
}

.faq-page {
	padding: 34px 0 72px;
	background: #fff;
}

.faq-banner {
	display: block;
	width: 100%;
	margin-bottom: 24px;
}

.faq-banner img {
	display: block;
	width: 100%;
	height: auto;
}

.faq-page-title {
	margin: 16px 0 20px;
	text-align: left;
}

.faq-page-title h1 {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
}

.faq-accordion {
	border-top: 1px solid #e2e5e3;
}

.faq-accordion .accordion-button {
	gap: 8px;
	padding: 20px 0;
	font-size: 18px;
	line-height: 1.65;
	color: #30383b;
	background: transparent;
	box-shadow: none;
}

.faq-accordion .accordion-button:not(.collapsed) {
	color: #111;
	background: transparent;
}

.faq-accordion .accordion-body {
	padding: 0 0 24px;
	color: #4f5b60;
	font-size: 16px;
	line-height: 1.9;
}

.faq-accordion .accordion-body .list-group {
	margin: 0 0 8px;
}

.faq-accordion .accordion-body .list-group-horizontal {
	align-items: flex-start;
}

.faq-accordion .accordion-body .list-group-item {
	padding: 6px 8px;
	background: transparent;
	color: inherit;
	line-height: 1.85;
}

.faq-accordion .accordion-body .list-group-item:first-child {
	flex: 0 0 30px;
	text-align: center;
}

.site-footer {
	background: #7e8583;
	color: #fff;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(160px, .8fr) minmax(220px, 1fr) minmax(280px, 1.3fr);
	gap: 48px;
	padding: 44px 0 26px;
}

.site-footer h2 {
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 400;
}

.site-footer__contact,
.site-footer__links,
.site-footer__office {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	font-weight: 300;
}

.site-footer__contact a,
.site-footer__links a,
.site-footer__office p {
	color: #fff;
	line-height: 1.7;
	text-decoration: none;
}

.site-footer__office p {
	margin: 0;
}

.site-footer__social {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	padding: 18px 0 36px;
}

.site-footer__social-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 14px;
	font-weight: 300;
	text-decoration: none;
}

.site-footer__social-item img {
	width: 100px;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.site-footer__qr {
	background: #fff;
}

.site-footer__line-icon {
	background: transparent;
}

.site-footer__copyright {
	border-top: 1px solid rgba(255, 255, 255, .22);
	padding: 16px;
	text-align: center;
	font-size: 13px;
}

@media (max-width: 991.98px) {
	.site-main {
		padding-top: 72px;
	}

	.home-hero {
		min-height: 620px;
	}

	.area-link-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.feature-grid,
	.contact-grid,
	.site-footer__inner {
		grid-template-columns: 1fr;
	}

	.site-footer__social {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.site-footer__social-item img {
		width: min(100%, 92px);
	}

	.legacy-home-hero {
		min-height: 620px;
	}

	.legacy-home-hero__logo {
		top: 13%;
		left: 24px;
		width: 130px;
	}

	.legacy-home-hero__slogan {
		right: 24px;
		bottom: 16%;
		left: 24px;
		width: auto;
	}

	.legacy-split,
	.legacy-development-row,
	.legacy-listings-grid,
	.property-detail-layout {
		grid-template-columns: 1fr;
	}

	.property-filter {
		grid-template-columns: 1fr 1fr;
	}

	.property-detail-panel {
		position: static;
	}

	.property-detail-sidebar {
		position: static;
		order: 1;
	}

	.property-detail-layout > :first-child {
		order: 2;
	}

	.property-detail-main {
		display: flex;
		flex-direction: column;
		order: 2;
	}

	.property-detail-copy {
		order: 1;
	}

	.property-detail-actions--desktop,
	.property-featured-listings--desktop {
		display: none;
	}

	.property-detail-actions--mobile {
		display: grid;
		order: 2;
		margin: 32px 0 28px;
	}

	.property-gallery {
		order: 3;
		margin-top: 12px;
		margin-bottom: 0;
	}

	.property-featured-listings--mobile {
		display: block;
		order: 4;
	}

	.property-detail-action-btn {
		width: min(100%, 360px);
	}

	.property-detail-map {
		height: 380px;
	}

	.property-detail-copy .property-detail-subtitle {
		font-size: 20px;
	}

	.property-detail-city-link {
		font-size: 22px;
	}

	.legacy-split__copy,
	.legacy-development-row__copy {
		padding: 30px 20px;
	}

	.contact-options-grid {
		grid-template-columns: 1fr;
	}

	.development-carousel .carousel-item {
		height: 520px;
		min-height: 520px;
	}

	.property-detail-hero {
		min-height: 520px;
	}

	.faq-accordion .accordion-button {
		font-size: 16px;
	}

	.dev-a-hero,
	.dev-c-hero,
	.dev-d-hero {
		height: 56vh;
		min-height: 420px;
	}

	.dev-a-hero__text {
		padding: 32px 22px;
	}

	.dev-bg-image,
	.development-detail-carousel .carousel-item {
		height: 50vh;
		min-height: 360px;
	}

	.dev-c-green-band {
		max-height: none;
		margin-top: 40px;
	}

	.dev-c-img-2 {
		top: 0;
	}

	.dev-c-about__image,
	.dev-c-about__content {
		padding: 30px;
	}

	.dev-c-about__image img {
		min-height: 300px;
		border-radius: 30px;
	}

	.dev-c-copy {
		padding-right: 0;
	}

	.dev-d-home-copy {
		padding: 100px 80px;
	}

	.dev-d-copy {
		padding: 10px 50px 30px;
	}
}

@media (max-width: 575.98px) {
	.site-container {
		width: min(100% - 24px, 1180px);
	}

	.area-link-grid {
		grid-template-columns: 1fr;
	}

	.home-section {
		padding: 58px 0;
	}

	.feature-card {
		min-height: 300px;
		padding: 24px;
	}

	.legacy-property-card__specs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		font-size: 11px;
	}

	.legacy-property-card__specs > span {
		gap: 3px;
	}

	.legacy-property-card__specs .iconfont {
		font-size: 18px;
	}

	.property-filter,
	.property-gallery {
		grid-template-columns: 1fr;
	}

	.legacy-home-hero {
		min-height: 560px;
	}

	.legacy-home-hero__slogan {
		text-align: left;
	}

	.legacy-section-title,
	.contact-legacy-heading h2,
	.faq-page-title h1 {
		font-size: 28px;
	}

	.contact-field textarea.form-control {
		min-height: 220px;
	}

	.contact-legacy-panel {
		padding: 24px 18px;
	}

	.property-contact-modal .modal-body {
		padding: 34px 18px 22px;
	}

	.property-contact-modal h2 {
		font-size: 28px;
	}

	.property-map-modal .modal-body {
		height: 70vh;
		padding: 42px 10px 10px;
	}

	.contact-submit-row .yh-btn {
		width: 100%;
	}

	.faq-page {
		padding: 24px 0 52px;
	}

	.faq-accordion .accordion-body .list-group-horizontal {
		display: flex;
	}

	.faq-accordion .accordion-body .list-group-item {
		padding: 4px 6px;
	}

	.development-subnav {
		justify-content: flex-start !important;
		min-height: auto;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding: 8px 12px;
	}

	.development-subnav .nav-link {
		white-space: nowrap;
	}

	.dev-a-hero__text h1 {
		font-size: 28px;
	}

	.dev-a-hero__text p {
		margin: 18px 0 28px;
		font-size: 18px;
	}

	.dev-a-hero__text strong {
		font-size: 40px;
	}

	.development-detail .display-1 {
		font-size: 42px;
	}

	.dev-gallery-img {
		width: 100%;
	}

	.dev-c-hero__text,
	.dev-d-hero__text {
		left: 50%;
		right: auto;
		top: 50%;
		width: calc(100% - 44px);
		transform: translate(-50%, -50%);
	}

	.dev-c-hero__text h1 {
		font-size: 38px;
	}

	.dev-c-hero__text p {
		font-size: 26px;
	}

	.dev-d-hero__text h1 {
		font-size: 3rem;
		line-height: 1.2;
	}

	.dev-d-hero__text p {
		font-size: 1.2rem;
		margin-top: .5rem;
	}

	.dev-d-home-copy {
		padding: 80px 28px;
	}

	.dev-d-copy {
		padding: 10px 20px 30px;
	}

	.dev-d-properties {
		padding: 28px 16px !important;
	}
}
