﻿.project-section1 {
	background-color: #fff;
	padding-bottom: 150px;
}

.project-section1 .container {
	max-width: 95%;
}

.banner-wrapper {
	position: relative;
	width: 100%;
	/* 16:6.5 aspect ratio matching the original wide banner */
	padding-top: 42%;
	background: #111;
}

.banner-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: opacity 0.5s ease;
}

.video-container {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: none;
	background: #000;
}

/* Vimeo / iframe embed */
.video-container iframe,
.video-container video {
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

.walkthrough-btn {
	position: absolute;
	bottom: 80px;
	left: 80px;
	display: flex;
	align-items: center;
	gap: 5px;
	cursor: pointer;
	z-index: 10;
	transition: opacity 0.3s ease;
}

.walkthrough-btn:hover {
	opacity: 0.85;
}

.walkthrough-label {
	color: #ffffff;
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	font-weight: 500;
	white-space: nowrap;
	width: 206px;
	height: 57px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #826727;
}

.play-circle {
	width: 57px;
	height: 57px;
	background-color: #826727;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
	transition: background 0.25s ease, transform 0.2s ease;
}

.walkthrough-btn:hover .play-circle {
	transform: scale(1.08);
	background-color: #826727;
}

.play-icon {
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 17px solid #fff;
	margin-left: 4px;
}

.info-box {
	position: absolute;
	bottom: -134px;
	right: 122px;
	background: #1e1812;
	padding: 28px 36px 32px 36px;
	text-align: center;
	width: 415px;
	z-index: 10;
	height: 310px;
}

.info-box img {
	max-width: 100%;
	max-height: 180px;
}

.info-divider {
	width: 40px;
	height: 1px;
	background: #c9a96e;
	margin: 0 auto 18px auto;
}

.info-unit {
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #ffffff;
	text-transform: uppercase;
	line-height: 1.5;
	margin-top: 25px;
}

.video-close-btn {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 42px;
	height: 42px;
	background: rgba(0, 0, 0, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.4);
	color: #ffffff;
	font-size: 22px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 20;
	transition: background 0.2s ease;
	font-family: 'Arial', sans-serif;
}

.video-close-btn:hover {
	background: rgba(0, 0, 0, 0.85);
}

.project-section2 {
	padding: 115px 0 133px;
}

.project-section2 .container {
	max-width: 1620px;
	border-bottom: 1px solid #bfbfbf;
	padding-bottom: 145px;
}

.about-inner {
	display: flex;
	align-items: flex-start;
	gap: 0;
}

.about-left {
	flex: 0 0 55%;
	max-width: 55%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	padding-right: 215px;
	align-self: stretch;
}

.about-left-inner-bottom {
	padding-bottom: 57px;
}

.about-title {
	font-family: "Instrument Serif", serif;
	font-size: 73.33px;
	font-weight: 400;
	color: #565656;
	letter-spacing: 0.3px;
	margin-bottom: 20px;
	line-height: 1.1;
}

.about-desc {
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.about-desc p {
	font-family: "Nunito Sans", sans-serif;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.6;
	color: #000;
	flex: 1;
}

.btn-enquire {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(to right, #4a5c5f, #2e3a3c);
	transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	color: #fff;
	border: none;
	padding: 16px 110px;
	font-size: 12px;
	font-family: "Nunito Sans", sans-serif;
	font-weight: 700;
	letter-spacing: 2px;
	cursor: pointer;
	width: 360px;
}

.btn-enquire:hover {
	background: linear-gradient(to right, #5b7174, #3a4d50);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(46, 58, 60, 0.45);
}

.about-right {
	flex: 1;
	min-width: 0;
}

.stats-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 50px;
	row-gap: 30px;
	margin-bottom: 30px;
	padding-top: 68px;
}

.stat-card {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 26px 20px;
	border-left: 1px solid #d5d5d5;
	border-bottom: 1px solid #d5d5d5;
}

/* Collapse top border for rows 2 and 3 within each column */
.stat-card:nth-child(n+3) {
	margin-top: -1px;
}

.stat-card--download {
	border: none;
	padding: 0;
	align-items: end;
}

.stat-icon {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.stat-icon img {
	max-width: 100%;
}

.stat-info {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.stat-label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #666666;
	letter-spacing: 0.2px;
}

.stat-sub {
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	font-weight: 300;
	color: #666666;
}

.btn-download {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: none;
	padding: 15px 24px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.3px;
	cursor: pointer;
	white-space: nowrap;
	background: linear-gradient(to right, #4a5c5f, #2e3a3c);
	transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

.btn-download:hover {
	border: none;
	background: linear-gradient(to right, #5b7174, #3a4d50);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(46, 58, 60, 0.45);
}

.rera-no {
	font-size: 18px;
	color: #666;
	padding-left: 0;
	font-family: "Nunito Sans", sans-serif;
	font-weight: 300;
}

.rera-label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #666666;
}

/* Stack columns */

.project-section3 .container {
	max-width: 1620px;
	padding-bottom: 200px;
}

.gallery-section {
	margin: 0 auto;
}

.gallery-header {
	display: flex;
	align-items: center;
	gap: 85px;
	margin-bottom: 55px;
	padding: 0 40px;
	flex-wrap: wrap;
}

.gallery-heading {
	font-size: 55px;
	font-weight: 400;
	color: #565656;
	line-height: 1;
	flex-shrink: 0;
	font-family: "Instrument Serif", serif;
}

.gallery-tabs {
	display: flex;
	gap: 25px;
	flex-wrap: wrap;
}

.tab-btn {
	padding: 10px 24px;
	font-size: 18px;
	font-weight: 400;
	border: none;
	cursor: pointer;
	background: #879499;
	color: #fff;
	transition: background 0.25s ease;
	outline: none;
	font-family: "Nunito Sans", sans-serif;
}

.tab-btn.active {
	background: #343e3f;
}

.tab-btn:not(.active):hover {
	background: #343e3f;
}

.tab-panel {
	display: none;
	position: relative;
}

.tab-panel.active {
	display: block;
}

.slider-outer {
	position: relative;
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

.slider-outer.is-dragging {
	cursor: grabbing;
}

.slider-track {
	display: flex;
	gap: 17px;
	align-items: stretch;
	transition: transform 0.55s cubic-bezier(0.77, 0, 0.175, 1);
	will-change: transform;
}

.slide {
	flex: 0 0 73%;
	position: relative;
	overflow: hidden;
}

.slide img {
	display: block;
	width: 100%;
	height: 742px;
	aspect-ratio: 16 / 9.6;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
	/* prevents browser image-drag ghost */
	-webkit-user-drag: none;
}

/* White-wash overlay on every non-active slide */
.slide::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.62);
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.slide.active::after {
	opacity: 0;
}

.slider-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0px;
	padding: 0;
	position: absolute;
	bottom: 40px;
	right: 100px;
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
	font-weight: 300;
}

.nav-arrow {
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px 6px;
	line-height: 1;
	transition: opacity 0.2s;
}

.nav-arrow svg {
	display: block;
	width: 16px;
	height: 16px;
	stroke: #555;
	stroke-width: 1.8;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nav-arrow:hover svg {
	stroke: #111;
}

.nav-arrow.disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.nav-counter {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 300;
	color: #444;
	letter-spacing: 0.5px;
}

.nav-counter .sep {
	display: block;
	width: 32px;
	height: 1px;
	background: #999;
	flex-shrink: 0;
}

.project-section4 {
	background-color: #192636;
}

.project-section4 .container {
	max-width: 1620px;
}

.amenities-section {
	margin: 0 auto;
	padding: 100px 0;
}

.amenities-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #9b8376;
	padding-bottom: 25px;
}

.amenities-heading {
	font-size: 53px;
	font-weight: 400;
	color: #9b8376;
	line-height: 1;
	font-family: "Instrument Serif", serif;
}

/* Nav arrows */
.amenities-nav {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

.nav-circle {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #c4a882;
	background: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.22s, opacity 0.22s;
}

.nav-circle svg {
	width: 14px;
	height: 14px;
	stroke: #c4a882;
	stroke-width: 1.8;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nav-circle:hover {
	background: rgba(196, 168, 130, 0.12);
}

.nav-circle.disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

/* Divider */
.amenities-divider {
	border: none;
	border-top: 1px solid rgba(196, 168, 130, 0.25);
	margin-bottom: 0;
}

.amenities-slider-outer {
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	margin-top: 50px;
	width: 100%;
	min-width: 0;
	position: relative;
}

.amenities-slider-outer.is-dragging {
	cursor: grabbing;
}

.amenities-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	will-change: transform;
	/* width + per-page flex-basis set in JS so slides match translateX */
}

.amenities-page {
	flex: 0 0 auto;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	align-content: start;
	gap: 48px 0;
	min-width: 0;
}

.amenity-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 0;
	pointer-events: none;
}

.amenity-icon {
	width: 94px;
	height: 94px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.amenity-icon img {
	max-width: 100%;
	max-height: 94px;
}

.amenity-icon svg {
	width: 100%;
	height: 100%;
	stroke: #c4a882;
	stroke-width: 1.2;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	overflow: visible;
}

.amenity-label {
	font-size: 16px;
	font-weight: 400;
	color: #727379;
	text-align: center;
	line-height: 1.5;
	font-family: "Nunito Sans", sans-serif;
	max-width: 140px;
}

.amenities-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 52px;
	display: none;
}

.dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(196, 168, 130, 0.25);
	transition: background 0.25s;
	cursor: pointer;
}

.dot.active {
	background: #c4a882;
}

.project-section5 {
	padding: 136px 0 138px 0;
}

.project-section5 .container {
	max-width: 1620px;
}

.fp-section {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

.fp-heading-row {
	display: flex;
	align-items: baseline;
	gap: 24px;
	margin-bottom: 36px;
	margin-bottom: 70px;
}

.fp-heading {
	font-size: 57.33px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
}

.fp-heading-line {
	flex: 1;
	height: 1px;
	background: #7f7f7f;
}

.fp-tabs-body-wrap {
	max-width: 1420px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.fp-main-pane {
	display: none;
}

.fp-main-pane.active {
	display: block;
}

.fp-main-tabs {
	display: flex;
	gap: 27px;
	margin-bottom: 25px;
}

.fp-main-tab {
	flex: 1;
	padding: 9px 20px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.6px;
	text-align: center;
	cursor: pointer;
	border: 3px solid #29374b;
	background: #fff;
	color: #29374b;
	transition: background 0.22s, color 0.22s, border-color 0.22s;
	outline: none;
}

.fp-main-tab.active {
	background: #29374b;
	color: #fff;
	border-color: #29374b;
}

.fp-main-tab:not(.active):hover {
	background: #29374b;
	color: #fff;
}

.fp-body {
	display: flex;
	background: #fff;
	min-height: 500px;
	border: none;
	outline: none;
	box-shadow: none;
}

.fp-sidebar {
	flex: 0 0 370px;
	background: #29374b;
	padding: 80px 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
}

.fp-bhk-label {
	font-size: 30px;
	font-weight: 400;
	color: #fff;
	letter-spacing: 1px;
	margin-bottom: 23px;
	font-family: "Nunito Sans", sans-serif;
}

.fp-type-btn {
	width: 162px;
	height: 35px;
	padding: 0px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 21px;
	font-weight: 400;
	letter-spacing: 1.5px;
	text-align: center;
	cursor: pointer;
	background: transparent;
	color: #a8bfcf;
	border: 1px solid #3e5168;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	outline: none;
}

.fp-type-btn:hover {
	background: #3e5168;
	color: #fff;
	border-color: #3e5168;
}

.fp-type-btn.active {
	background: #3e5168;
	color: #fff;
	border-color: #3e5168;
}

.fp-content {
	flex: 1;
	position: relative;
	overflow: hidden;
	border: none;
	outline: none;
	box-shadow: none;
	background: #fff;
}

.fp-type-pane {
	display: none;
	width: 100%;
	height: 100%;
	flex-direction: row;
	align-items: stretch;
	border: none;
	outline: none;
	box-shadow: none;
	background: #fff;
}

.fp-type-pane.active {
	display: flex;
}

.fp-plan-image-wrap {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	outline: none;
	box-shadow: none;
	background: #fff;
}

.fp-plan-placeholder {
	width: 100%;
	max-width: 100%;
	height: 100%;
	background: #fff;
	border: 2px solid #e9e8e8;
	outline: none;
	box-shadow: none;
	overflow: hidden;
	position: relative;
	padding: 50px;
}

.fp-plan-placeholder .fp-plan-image,
img.fp-plan-image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: 0 !important;
	box-shadow: none !important;
	object-fit: contain;
	object-position: center;
	vertical-align: top;
}

.fp-plan-placeholder .fp-plan-image:focus,
.fp-plan-placeholder .fp-plan-image:focus-visible,
img.fp-plan-image:focus,
img.fp-plan-image:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

.project-section5b {
	padding-top: 136px;
	padding-bottom: 140px;
}

.project-section5b .container {
	max-width: 1620px;
}

.new-floor-plan-outer {
	font-family: "Nunito Sans", sans-serif;
	color: #2c2c2c;
}

.new-floor-plan-outer {
	max-width: 1620px;
	margin: 0 auto;
}

.new-floor-plan-outer .section-header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 50px;
	margin-bottom: 28px;
}

.new-floor-plan-outer .section-title {
	letter-spacing: 0.02em;
	font-size: 57.33px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
}

.new-floor-plan-outer .main-tabs {
	display: flex;
	border-radius: 2px;
	overflow: hidden;
	flex-shrink: 0;
	gap: 30px;
}

.new-floor-plan-outer .main-tab-btn {
	padding: 10px 50px;
	border: none;
	cursor: pointer;
	transition: background 0.25s, color 0.25s;
	font-family: "Nunito Sans", sans-serif;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.6px;
	text-align: center;
}

.new-floor-plan-outer .main-tab-btn.active {
	background: #3a4445;
	color: #ffffff;
}

.new-floor-plan-outer .main-tab-btn:not(.active) {
	background: #bbc0c1;
	color: #fff;
}

.new-floor-plan-outer .main-tab-btn:not(.active):hover {
	background: #bcbcb8;
}

.page-template-template-signatureheightspage .new-floor-plan-outer .main-tab-btn.active {
	background: #29374b;
	color: #ffffff;
}

.page-template-template-signatureheightspage .new-floor-plan-outer .main-tab-btn:not(.active) {
	background: #bcbec0;
	color: #29374b;
}

.page-template-template-signatureheightspage .plan-image-area {
	border: 2px solid #d4dddd !important;
}

.page-template-template-signatureheightspage #fp-plan-image {
	transition: opacity 0.25s ease;
}

.page-template-template-signatureheightspage #fp-plan-image.fp-img-loading {
	opacity: 0.3;
}

.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
	align-items: stretch;
}

.page-template-template-signatureheightspage .fp-sub-panel {
	display: none;
	flex-direction: column;
	flex: 1;
}

.page-template-template-signatureheightspage .fp-sub-panel.active {
	display: flex;
}

.page-template-template-signatureheightspage .fp-inner-slider {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.page-template-template-signatureheightspage .fp-inner-slide {
	display: none;
	flex-direction: column;
	flex: 1;
}

.page-template-template-signatureheightspage .fp-inner-slide.active {
	display: flex;
}

.page-template-template-signatureheightspage .fp-sub-content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.page-template-template-signatureheightspage .fp-block-nav {
	margin-top: auto;
	align-self: flex-end;
}

.page-template-template-signatureheightspage .fp-direction-icon {
	position: absolute;
	bottom: 25px;
	left: 25px;
	width: 100px;
	height: auto;
	pointer-events: none;
}

.page-template-template-signatureheightspage .fp-tabs-group {
	flex: 1;
}

.page-template-template-signatureheightspage .fp-sub-block-tabs {
	flex: 1;
}

.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
	flex: 0 0 650px;
	display: flex;
	overflow: hidden;
	border: 2px solid #d4dddd;
	padding: 25px;
	justify-content: center;
}

.fp-tabs-group {
	display: flex;
	align-items: stretch;
}

.fp-sub-block-tabs {
	background-color: #bcbec0;
	padding: 8px 50px;
	display: flex;
	gap: 10px;
}

.fp-sub-btn {
	padding: 10px 50px;
	border: none;
	cursor: pointer;
	transition: background 0.25s, color 0.25s;
	font-family: "Nunito Sans", sans-serif;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.6px;
	text-align: center;
}

.fp-sub-btn.active {
	background: #29374b;
	color: #ffffff;
}

.fp-sub-btn:not(.active) {
	background: transparent;
	color: #29374b;
}

.fp-sub-panel {
	display: none;
}

.fp-sub-panel.active {
	display: block;
}

.fp-inner-slider {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.fp-inner-slide {
	display: none;
	flex-direction: column;
	flex: 1;
}

.fp-inner-slide.active {
	display: flex;
}

.fp-sub-content {
	padding: 0;
}

/* Facing groups */
.fp-facing-group {
	margin-bottom: 28px;
}

.fp-facing-header {
	display: flex;
	align-items: stretch;
	margin-bottom: 14px;
}

.fp-facing-label {
	background: #29374b;
	color: #ffffff;
	padding: 10px 20px;
	font-size: 18px;
	font-weight: 500;
}

.fp-facing-bhk {
	background: #bcbec0;
	color: #29374b;
	padding: 10px 18px;
	font-size: 18px;
	font-weight: 600;
}

/* Unit type buttons grid */
.fp-unit-grid {
	display: grid;
	grid-template-columns: repeat(3, auto);
	gap: 10px;
	justify-content: start;
}

.fp-unit-btn {
	background: #ffffff;
	border: 1.5px solid #d0d0d0;
	border-radius: 0 0 12px 0;
	padding: 10px 18px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	color: #29374b;
	text-align: left;
	white-space: nowrap;
	transition: background 0.2s;
}

.fp-unit-btn span {
	font-weight: 400;
	color: #888;
}

.fp-unit-btn.active {
	background: #e8ddd0;
	border-color: #c9b89e;
}

.fp-unit-btn:hover:not(.active) {
	background: #f5f5f5;
}

/* Bottom navigation */
.fp-block-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 20px;
	color: #888;
	font-size: 15px;
}

.fp-block-nav-label {
	color: #29374b;
	font-weight: 700;
}

.fp-block-nav-arrow {
	color: #29374b;
	font-size: 14px;
}

.new-floor-plan-outer .main-tab-panel {
	display: none;
}

.new-floor-plan-outer .main-tab-panel.active {
	display: block;
}

.new-floor-plan-outer .plan-card {
	display: flex;
	background: #ffffff;
	overflow: hidden;
	min-height: 380px;
	gap: 30px;
}

.new-floor-plan-outer .plan-image-area {
	flex: 1 1 0;
	background: #fff;
	padding: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	border: 10px solid #d4dddd;
}

.new-floor-plan-outer .plan-image-area svg {
	width: 100%;
	max-height: 360px;
	display: block;
}

.new-floor-plan-outer .block-selector {
	flex: 0 0 500px;
	display: flex;
	overflow: hidden;
}

#panel-master .block-selector {
	display: none;
}

.new-floor-plan-outer .block-list {
	flex: 0 0 65%;
	background: #d4dddd;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.new-floor-plan-outer .block-btn {
	position: relative;
	padding: 15px 40px 15px 40px;
	background: transparent;
	border: none;
	text-align: left;
	cursor: pointer;
	transition: color 0.2s;
	display: flex;
	align-items: center;
	line-height: 1.3;
	font-family: "Nunito Sans", sans-serif;
	font-size: 21px;
	font-weight: 400;
	letter-spacing: 1.5px;
	color: #8f9e9d;
}

.new-floor-plan-outer .block-btn:hover {
	color: #5c6a6b;
}

.new-floor-plan-outer .block-btn.active {
	color: #5c6a6b;
	font-weight: 500;
}

/* Right-pointing notch arrow on active item */
/* .new-floor-plan-outer .block-btn.active::after {
	content: '';
	position: absolute;
	right: -15px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 15px solid #cdd5d9;
	z-index: 4;
} */

.new-floor-plan-outer .block-detail-col {
	flex: 1;
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 35px 35px;
	gap: 26px;
	position: relative;
	z-index: 2;
}

/* subtle inner highlight */
.new-floor-plan-outer .block-detail-col::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.05) 0%, transparent 55%);
	pointer-events: none;
}

.new-floor-plan-outer .detail-line {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.new-floor-plan-outer .detail-line-label {
	font-size: 10px;
	font-weight: 400;
	color: #8fa0a8;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	display: none;
}

.new-floor-plan-outer .detail-line-value {
	font-family: "Nunito Sans", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: 0.01em;
	line-height: 1.1;
}

.new-floor-plan-outer .detail-line-value.sqft {
	font-family: "Nunito Sans", sans-serif;
	font-size: 26px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 0.03em;
}

/* Tablet: 920px and below */

/* Mobile: 700px and below */

/* Small mobile: 480px and below */

.project-section6 .container {
	max-width: 1620px;
}

.nl-section {
	margin: 0 auto;
}

.nl-heading-row {
	display: flex;
	align-items: baseline;
	gap: 24px;
	margin-bottom: 70px;
}

.nl-heading {
	font-size: 43px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
}

.nl-heading-line {
	flex: 1;
	height: 1px;
	background: #7f7f7f;
}

.nl-body {
	display: flex;
	min-height: 520px;
	background: #fff;
}

.nl-sidebar {
	flex: 0 0 350px;
	background: #748184;
	display: flex;
	gap: 10px;
	flex-direction: column;
	padding-top: 125px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 125px;
}

.nl-tab {
	width: 100%;
	padding: 18px 20px;
	font-size: 29.33px;
	font-weight: 500;
	letter-spacing: 0.4px;
	text-align: left;
	cursor: pointer;
	background: transparent;
	color: #afbec1;
	border: none;
	border-left: 3px solid #748184;
	border-bottom: 3px solid #748184;
	outline: none;
	position: relative;
	font-family: "Nunito Sans", sans-serif;
	transition: all 0.3s ease-in-out;
}

.nl-tab:hover {
	color: #e0edee;
}

.nl-tab.active {
	color: #e0edee;
	border-left: 3px solid #c5c4c6;
	border-bottom: 3px solid #c5c4c6;
}

.nl-map-area {
	flex: 1;
	position: relative;
	min-height: 712px;
	overflow: hidden;
}

/* Each map panel */
.nl-map-panel {
	display: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 10px solid #d4dddd;
}

.nl-map-panel.active {
	display: block;
}

.nl-map-panel .nl-map-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.nl-marker-label {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	padding: 3px 7px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 11px;
	font-weight: 400;
	color: #333;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.sp-marker {
	width: 52px;
	height: 52px;
	background: #1a1a1a;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	border: 3px solid #1a1a1a;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.sp-marker-inner {
	width: 20px;
	height: 20px;
	background: #4caf50;
	border-radius: 50%;
	transform: rotate(45deg);
}

.cat-marker {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
	font-size: 15px;
}

.project-section7 {
	padding: 140px 0;
}

.project-section7 .container {
	max-width: 1620px;
}

.brands-section {
	margin: 0 auto;
	border-bottom: 1px solid #aaaaaa;
	padding-bottom: 54px;
}

.brands-heading-row {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 40px;
}

.brands-heading {
	font-size: 43px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
}

.brands-heading-line {
	flex: 1;
	height: 1px;
	background: #7f7f7f;
}

.brands-subtitle {
	text-align: center;
	font-size: 29.33px;
	font-weight: 400;
	color: #666;
	margin-bottom: 40px;
	font-family: "Nunito Sans", sans-serif;
}

.brands-slider-wrapper {
	display: flex;
	align-items: center;
	gap: 30px;
	position: relative;
}

.brands-arrow {
	flex-shrink: 0;
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	color: #e9e9ea;
	transition: color 0.2s;
	z-index: 2;
}

.brands-arrow {
	width: 47px;
	height: 47px;
	stroke: #e9e9ea;
	stroke-width: 1;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke 0.2s;
}

.brands-arrow.brands-prev {
	background-image: url('../images/prev-arrow2.png');
	background-repeat: no-repeat;
}

.brands-arrow.brands-next {
	background-image: url('../images/next-arrow2.png');
	background-repeat: no-repeat;
}

.brands-arrow.disabled {
	opacity: 0.25;
	cursor: default;
	pointer-events: none;
}

.brands-outer {
	flex: 1;
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

.brands-outer.is-dragging {
	cursor: grabbing;
}

.brands-track {
	display: flex;
	align-items: center;
	will-change: transform;
}

.brand-item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 48px;
	pointer-events: none;
}

.brand-logo {
	display: block;
	height: 44px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
	pointer-events: none;
}

.brands-divider {
	border: none;
	border-top: 1px solid #e2dbd3;
	margin-top: 44px;
}

/* Brands slider: show more logos in the viewport on small screens */

.project-section8 {
	padding-bottom: 65px;
}

.project-section8 .container {
	max-width: 1620px;
}

.spec-section {
	margin: 0 auto;
}

.spec-heading {
	font-size: 40px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
	margin-bottom: 48px;
}

.spec-tabs-outer {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin-bottom: 54px;
}

.spec-tabs-outer::-webkit-scrollbar {
	display: none;
}

.spec-tabs {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	min-width: max-content;
	justify-content: space-between;
}

.spec-tab {
	padding: 0px 15px;
	height: 37px;
	width: auto;
	font-family: "Nunito Sans", sans-serif;
	font-size: 29.33px;
	font-weight: 500;
	letter-spacing: 0.3px;
	color: #666666;
	background: #fff;
	border: 1px solid #c8c0b6;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s, color 0.2s;
	outline: none;
	line-height: 1;
}

/* Close right border on last tab */
.spec-tab:last-child {
	border-right: 1px solid #c8c0b6;
}

.spec-tab:hover:not(.active) {
	background: #879499;
}

.spec-tab.active {
	background: #879499;
	color: #fff;
	border-color: #879499;
	/* Keep surrounding borders from collapsing */
	position: relative;
	z-index: 1;
}

.spec-panels {
	position: relative;
}

.spec-panel {
	display: none;
}

.spec-panel.active {
	display: block;
}

.spec-card {
	background: #5f6c73;
	padding: 55px 90px;
	min-height: 200px;
}

.spec-list,
.spec-card ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.spec-card p,
.spec-card li,
.spec-list li {
	font-family: "Nunito Sans", sans-serif;
	font-size: 24px;
	font-weight: 300;
	color: #fff;
	line-height: 1.15;
	padding-left: 18px;
	position: relative;
	letter-spacing: 0.2px;
}

.spec-list li::before,
.spec-card ul li::before {
	content: '\2022';
	position: absolute;
	left: 0;
	top: 0;
	color: #c8d6de;
	font-size: 16px;
	line-height: 1.5;
}

.project-section9 {
	padding-top: 75px;
}

.project-section9 .container {
	max-width: 1620px;
	padding-bottom: 65px;
	border-bottom: 1px solid #565656;
}

.wwb-section {
	margin: 0 auto;
}

.wwb-heading-row {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 54px;
}

.wwb-heading {
	font-size: 40px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
}

.wwb-heading-line {
	flex: 1;
	height: 1px;
	background: #565656;
}

.wwb-slider-outer {
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

.wwb-slider-outer.is-dragging {
	cursor: grabbing;
}

.wwb-track {
	display: flex;
	will-change: transform;
}

.wwb-slide {
	flex: 0 0 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.video-card {
	position: relative;
	background: #000;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	cursor: pointer;
}

/* Thumbnail / poster image */
.video-card .vc-poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #000;
	transition: opacity 0.3s;
}

/* Overlay sits on top of poster, hidden after play */
.video-card .vc-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	transition: opacity 0.3s;
}

/* Play button circle */
.vc-play-btn {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: #9e9e9e;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.22s, transform 0.22s;
	flex-shrink: 0;
}

.video-card:hover .vc-play-btn {
	background: rgba(180, 180, 180, 0.95);
	transform: scale(1.08);
}

.vc-play-btn svg {
	width: 20px;
	height: 20px;
	fill: #fff;
	margin-left: 4px;
	/* optical centre for triangle */
}

/* iframe / video element injected on play */
.video-card iframe,
.video-card video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
	z-index: 2;
	background: #000;
}

/* Hide overlay once video is active */
.video-card.playing .vc-overlay {
	opacity: 0;
	pointer-events: none;
}

.wwb-bottom {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	padding: 22px 0 0;
}

.wwb-arrow {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid #bbb;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
	outline: none;
}

.wwb-arrow svg {
	width: 14px;
	height: 14px;
	stroke: #888;
	stroke-width: 1.6;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.wwb-arrow:hover {
	border-color: #888;
	background: #f6f4f1;
}

.wwb-arrow.disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.wwb-divider {
	border: none;
	border-top: 1px solid #e2dbd3;
	margin-top: 28px;
}

.project-section10 .container {
	max-width: 1620px;
	padding-top: 140px;
	padding-bottom: 120px;
}

.faq-section {
	margin: 0 auto;
}

.faq-heading {
	font-size: 36px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
	margin-bottom: 65px;
}

/* Desktop (501px+): category column + stacked panels in right column via grid */

.faq-cat-btn {
	width: 100%;
	padding: 29px 55px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.2px;
	text-align: left;
	cursor: pointer;
	background: #efefef;
	color: #434345;
	border: none;
	transition: background 0.2s, color 0.2s;
	outline: none;
}

.faq-cat-wrap:last-child .faq-cat-btn {
	border-bottom: none;
}

.faq-cat-btn:hover:not(.active) {
	background: #5c6a6b;
	color: #fff;
}

.faq-cat-btn.active {
	background: #5c6a6b;
	color: #fff;
}

/* Each category panel */
.faq-panel {
	display: none;
}

.faq-panel.active {
	display: block;
}

.faq-item {
	margin-bottom: 15px;
}

.faq-item:last-child {
	border-bottom: none;
}

/* Question row */
.faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 64px;
	cursor: pointer;
	background: #dae2e5;
	transition: background 0.22s;
	user-select: none;
	-webkit-user-select: none;
}

.faq-question:hover {
	background: #e0e4e8;
}

.faq-item.open .faq-question {
	background: #798689;
}

.faq-question-text {
	font-family: "Instrument Serif", serif;
	font-size: 30px;
	font-weight: 300;
	color: #343e3f;
	line-height: 1.3;
	letter-spacing: 0.1px;
	transition: color 0.22s;
}

.faq-item.open .faq-question-text {
	color: #fff;
}

/* +/- icon */
.faq-icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.faq-icon::before,
.faq-icon::after {
	content: '';
	position: absolute;
	background: #7a9090;
	border-radius: 1px;
	transition: background 0.22s, transform 0.3s, opacity 0.3s;
}

/* Horizontal bar (always visible) */
.faq-icon::before {
	width: 14px;
	height: 1.5px;
}

.faq-icon::after {
	width: 1.5px;
	height: 14px;
}

.faq-item.open .faq-icon::before,
.faq-item.open .faq-icon::after {
	background: #fff;
}

.faq-item.open .faq-icon::after {
	transform: rotate(90deg);
	opacity: 0;
}

/* Answer */
.faq-answer {
	display: none;
	padding: 0px 28px 50px 66px;
	background: #798689;
}

.faq-answer p {
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.8;
	letter-spacing: 0.2px;
}

.project-main-top-section .container {
	max-width: 1620px;
	padding-top: 100px;
}

.project-section11 .container {
	max-width: 1620px;
	padding-top: 10px;
	padding-bottom: 178px;
	border-bottom: 1px solid #565656;
}

.project-main-section1 .container {
	max-width: 1620px;
	padding-top: 100px;
	padding-bottom: 145px;
}

.proj-section {
	margin: 0 auto;
}

.proj-heading-row {
	display: flex;
	align-items: baseline;
	gap: 28px;
	margin-bottom: 0px;
}

.proj-heading-line {
	flex: 1;
	height: 1px;
	background: #c8c0b4;
}

.proj-heading {
	font-size: 43px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	font-family: "Instrument Serif", serif;
	margin-bottom: 56px;
}

.proj-slider-outer {
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	/* extra bottom padding so the overlapping label box isn't clipped */
	padding-bottom: 4px;
}

.proj-slider-outer.is-dragging {
	cursor: grabbing;
}

.proj-track {
	display: flex;
	gap: 49px;
	will-change: transform;
	align-items: flex-start;
}

.project-main-section1 .proj-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
	align-items: start;
	width: 100%;
}

.project-main-section1 .proj-card {
	flex: none;
	width: 100%;
	min-width: 0;
	max-width: none;
}

.proj-card {
	flex: 0 0 calc((100% - 56px) / 3);
	/* 3 visible, 2 gaps of 28px */
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-decoration: none;
	color: inherit;
	pointer-events: auto;
	transition: transform 0.28s ease;
	position: relative;
}

.proj-card:hover {
	transform: translateY(-5px);
}

.proj-img-wrap {
	width: 100%;
	height: 625px;
	max-width: 506px;
	overflow: hidden;
	background: #c0b8ac;
	position: relative;
	flex-shrink: 0;
}

.proj-img-wrap img {
	width: 100%;
	height: 628px;
	object-fit: cover;
	object-position: center;
	display: block;
	pointer-events: none;
	/* no native image drag */
	-webkit-user-drag: none;
	user-drag: none;
	transition: transform 0.5s ease;
}

.proj-card:hover .proj-img-wrap img {
	transform: scale(1.04);
}

/* Kill native drag on every child of the slider */
.proj-slider-outer * {
	-webkit-user-drag: none;
	user-drag: none;
}

.proj-slider-outer svg,
.proj-slider-outer img {
	pointer-events: none;
}

.proj-info-wrap {
	width: 200px;
	height: 170px;
	background: #f4f4f4;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: center;
	padding: 18px 22px 16px 22px;
	text-align: center;
	position: absolute;
	bottom: -61px;
}

.proj-label {
	background: transparent;
	margin-top: 0;
	position: relative;
	z-index: auto;
	width: 100%;
	padding: 0;
}

/* Logo row: icon + text stack */
.proj-logo-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 6px;
}

.proj-logo-row img {
	max-width: 180px;
}

.proj-logo-icon {
	flex-shrink: 0;
}

.proj-logo-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.proj-sig-word {
	font-family: "Nunito Sans", sans-serif;
	font-size: 9px;
	font-weight: 300;
	letter-spacing: 1.8px;
	color: #999;
	text-transform: lowercase;
	line-height: 1;
}

.proj-name {
	font-family: "Nunito Sans", sans-serif;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1;
	text-transform: uppercase;
}

.proj-location {
	font-size: 12px;
	font-weight: 500;
	color: #5d6466;
	text-transform: uppercase;
	padding: 0;
	margin-top: auto;
	font-family: "Nunito Sans", sans-serif;
}

.proj-card--heights .proj-name {
	color: #8a6530;
}

.proj-card--marvel .proj-name {
	color: #1a2332;
}

.proj-card--tropicale .proj-name {
	color: #1e3a2f;
}

.proj-nav {
	display: flex;
	display: none;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 36px;
}

.proj-arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #bbb;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	outline: none;
	transition: border-color 0.2s, background 0.2s;
}

.proj-arrow svg {
	width: 14px;
	height: 14px;
	stroke: #888;
	stroke-width: 1.6;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.proj-arrow:hover {
	border-color: #888;
	background: #f6f4f1;
}

.proj-arrow.disabled {
	opacity: 0.28;
	cursor: default;
	pointer-events: none;
}

.project-section12 {
	overflow-x: hidden;
}

.project-section12 .container {
	max-width: 1620px;
	padding-top: 151px;
	padding-bottom: 151px;
	width: 100%;
	box-sizing: border-box;
}

.contact-band {
	background: #f2f2f2;
	width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
	padding: 52px 120px;
}

.contact-inner {
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 130px;
}

.contact-left {
	flex: 0 0 300px;
}

.contact-label {
	font-size: 20px;
	font-weight: 500;
	color: #78797a;
	text-transform: uppercase;
	margin-bottom: 10px;
	font-family: "Nunito Sans", sans-serif;
}

.contact-heading {
	font-size: 69px;
	font-weight: 400;
	color: #818284;
	line-height: 1;
	font-family: "Instrument Serif", serif;
}

.contact-form-wrap {
	flex: 1;
}

.form-subtitle {
	font-size: 16px;
	font-weight: 300;
	color: #666;
	margin-bottom: 15px;
	font-family: "Nunito Sans", sans-serif;
}

/* Two-column grid of fields */
.form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 70px;
	row-gap: 10px;
}

.form-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 305px;
}

.form-field label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 1.2px;
	color: #555;
}

/* Underline-only input */
.form-field input {
	background: transparent;
	border: none;
	border-bottom: 1px solid #b8b4ae;
	border-radius: 0;
	padding: 6px 0 8px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 300;
	color: #444;
	outline: none;
	width: 100%;
	transition: border-color 0.2s;
	-webkit-appearance: none;
}

.form-field input::placeholder {
	color: #b0acaa;
	font-weight: 300;
}

.form-field input:focus {
	border-bottom-color: #5a6e7e;
}

/* Mobile prefix row for phone */
.phone-wrap {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	border-bottom: 1px solid #b8b4ae;
	transition: border-color 0.2s;
}

.phone-wrap:focus-within {
	border-bottom-color: #5a6e7e;
}

.phone-prefix {
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 300;
	color: #888;
	padding: 6px 0 8px;
	white-space: nowrap;
	flex-shrink: 0;
	line-height: 1;
}

.phone-wrap input {
	border-bottom: none !important;
	padding-left: 0;
	flex: 1;
}

.contact-submit-wrap {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.contact-submit {
	border: none;
	padding: 9px 35px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
	outline: none;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	background: linear-gradient(to right, #4a5c5f, #2e3a3c);
	transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	line-height: 30px;
}

.contact-submit:hover {
	background: linear-gradient(to right, #5b7174, #3a4d50);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(46, 58, 60, 0.45);
}

.form-field .field-error {
	font-size: 10.5px;
	color: #c0392b;
	letter-spacing: 0.3px;
	display: none;
	margin-top: 2px;
}

.form-field.has-error input,
.form-field.has-error .phone-wrap {
	border-bottom-color: #c0392b;
}

.form-field.has-error .field-error {
	display: block;
}

.contact-success {
	display: none;
	text-align: center;
	padding: 24px 0;
}

.contact-success p {
	font-family: "Nunito Sans", sans-serif;
	font-size: 22px;
	font-weight: 300;
	font-style: italic;
	color: #5a6e7e;
}

.contact-form-wrap .wpcf7 {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.contact-form-wrap .wpcf7-form {
	margin: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

/* Remove CF7 default paragraph spacing */
.contact-form-wrap .wpcf7-form>p,
.contact-form-wrap .wpcf7-form br {
	display: none;
}

/* Fix fieldset default min-width: min-content which causes overflow */
.contact-form-wrap fieldset {
	min-width: 0;
	border: none;
	padding: 0;
	margin: 0;
}

/* Constrain cf7-form-body and submit row */
.contact-form-wrap .cf7-form-body {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
	display: flex;
	justify-content: space-between;
	gap: 133px;
}

/* Fix <p> tags CF7 generates inside .form-field */
.contact-form-wrap .form-field p {
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
}

.contact-form-wrap .form-field br {
	display: none;
}

/* Fix submit row paragraph */
.contact-form-wrap .cf7-submit-row p {
	margin: 0;
	padding: 0;
}

/* CF7 inputs mirror native .form-field input */
.contact-form-wrap .wpcf7-form-control:not([type="submit"]) {
	background: transparent;
	border: none;
	border-bottom: 1px solid #b8b4ae;
	border-radius: 0;
	padding: 6px 0 8px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 300;
	color: #444;
	outline: none;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	transition: border-color 0.2s;
	-webkit-appearance: none;
	box-shadow: none;
}

.contact-form-wrap .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.contact-form-wrap .wpcf7-form-control:not([type="submit"])::placeholder {
	color: #b0acaa;
	font-weight: 300;
}

.contact-form-wrap .wpcf7-form-control:not([type="submit"]):focus {
	border-bottom-color: #5a6e7e;
}

/* CF7 validation error tip */
.contact-form-wrap .wpcf7-not-valid-tip {
	font-size: 10.5px;
	color: #c0392b !important;
	letter-spacing: 0.3px;
	margin-top: 2px;
	display: block;
}

.contact-form-wrap .wpcf7-response-output {
	margin: 12px 0 0;
	padding: 0;
	border: none !important;
	background: transparent !important;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 300;
	color: #c0392b;
}

/* Success state */
.contact-form-wrap .wpcf7-mail-sent-ok {
	color: #5a6e7e !important;
	border: none !important;
}

.cf7-submit-row {
	display: flex;
	justify-content: flex-end;
	margin-top: 28px;
}

/* CF7 submit button via class:contact-submit in CF7 template */
.contact-form-wrap .wpcf7-submit,
.contact-form-wrap input[type="submit"] {
	border: none;
	padding: 9px 35px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
	outline: none;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	background: linear-gradient(to right, #4a5c5f, #2e3a3c);
	transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	line-height: 30px;
}

.contact-form-wrap .wpcf7-submit:hover,
.contact-form-wrap input[type="submit"]:hover {
	background: linear-gradient(to right, #5b7174, #3a4d50);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(46, 58, 60, 0.45);
}

.contact-form-wrap .wpcf7-form-control-wrap[data-name="mobile"] {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	border-bottom: 1px solid #b8b4ae;
	transition: border-color 0.2s;
}

.contact-form-wrap .wpcf7-form-control-wrap[data-name="mobile"]::before {
	content: "+91";
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 300;
	color: #888;
	padding: 6px 0 8px;
	white-space: nowrap;
	flex-shrink: 0;
	line-height: 1;
}

.contact-form-wrap .wpcf7-form-control-wrap[data-name="mobile"] input {
	border-bottom: none !important;
	flex: 1;
	width: auto !important;
	min-width: 0;
}

.contact-form-wrap .wpcf7-form-control-wrap[data-name="mobile"]:focus-within {
	border-bottom-color: #5a6e7e;
}

/* No-form fallback message */
.ps12-no-form {
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	color: #888;
}

.page-section1 {
	padding: 100px 0;
}

/*About Page Start*/

.about-section1 {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.about-section1 .container {
	max-width: 1620px;
}

.ab-slider {
	position: relative;
	width: 100%;
	height: calc(100vh - 250px);
	overflow: hidden;
}

.ab-slide {
	position: absolute;
	inset: 0;
	display: flex;
	pointer-events: none;
	z-index: 0;
	margin-top: 50px;
}

.ab-slide.active {
	pointer-events: all;
	z-index: 2;
}

.ab-slide.leave {
	z-index: 1;
}

.ab-eyebrow {
	display: block;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: #6b6056;
	margin-bottom: 20px;
}

.ab-headline {
	font-weight: 400;
	font-size: 56px;
	line-height: 100%;
	color: #3a3a3a;
	font-family: "Instrument Serif", serif;
	margin: 10px 0 0 0;
	overflow: hidden;
	position: relative;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .72s cubic-bezier(.22, .8, .32, 1);
	transition-delay: .18s;
}

h3.ab-headline {
	font-size: 56px;
	font-weight: 400;
	margin: 10px 0 0 0;
}

.ab-headline em {
	font-style: italic;
	color: #7c6a52;
}

.ab-line {
	display: block;
	padding-bottom: 10px;
}

.ab-headline::after {
	content: '';
	position: absolute;
	inset: -2px 0;
	background: #ffffff;
	transform: scaleX(1);
	transform-origin: right center;
	transition: transform .68s cubic-bezier(.22, .8, .32, 1);
	transition-delay: .48s;
}

.ab-slide.active:not(.leave) .ab-headline {
	transform: scaleX(1);
}

.ab-slide.active:not(.leave) .ab-headline::after {
	transform: scaleX(0);
}

.ab-slide.leave .ab-headline {
	transform: scaleX(0);
	transition-duration: .40s;
	transition-timing-function: cubic-bezier(.55, 0, .8, .45);
	transition-delay: .00s;
}

.ab-slide.leave .ab-headline::after {
	transform: scaleX(1);
	transition-duration: .38s;
	transition-timing-function: cubic-bezier(.55, 0, .8, .45);
	transition-delay: .00s;
}

.ab-col-left {
	width: 40%;
	height: 100%;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	padding: 50px 250px 0px 0px;
	overflow: hidden;
}

.ab-left-text {
	flex-shrink: 0;
	padding-bottom: 28px;
}

.ab-left-img {
	flex: 1;
	min-height: 0;
	overflow: hidden;
	transform: translateX(-100%);
	transition: transform .85s cubic-bezier(.22, .8, .32, 1);
}

.ab-left-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ab-slide.active .ab-left-img {
	transform: translateX(0);
}

.ab-slide.leave .ab-left-img {
	transform: translateX(100%);
	transition-duration: .85s;
	transition-timing-function: cubic-bezier(.22, .8, .32, 1);
}

.ab-col-right {
	width: 60%;
	height: 100%;
	position: relative;
	overflow: hidden;
	clip-path: inset(0 100% 0 0);
	transition: clip-path .85s cubic-bezier(.22, .8, .32, 1);
}

.ab-right-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
	transform: scale(1.06);
	transition: transform 1.6s ease;
}

.ab-slide.active .ab-col-right {
	clip-path: inset(0 0% 0 0);
}

.ab-slide.leave .ab-col-right {
	clip-path: inset(0 100% 0 0);
	transition-duration: .85s;
	transition-timing-function: cubic-bezier(.22, .8, .32, 1);
}

.ab-slide.active .ab-right-img {
	transform: scale(1);
}

.ab-overlap-card {
	position: absolute;
	top: 37%;
	left: 40%;
	width: 300px;
	background: rgba(255, 255, 255, .95);
	padding: 22px 24px;
	z-index: 20;
	transform: translateX(-50%) scaleX(0);
	transform-origin: left center;
	transition: transform .68s cubic-bezier(.22, .8, .32, 1);
	transition-delay: .52s;
}

.ab-overlap-card p {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.78;
	color: #2c2925;
	position: relative;
	overflow: hidden;
}

.ab-overlap-card p::after {
	content: '';
	position: absolute;
	inset: -2px 0;
	background: rgba(255, 255, 255, .95);
	transform: scaleX(1);
	transform-origin: right center;
	transition: transform .68s cubic-bezier(.22, .8, .32, 1);
	transition-delay: .78s;
}

.ab-slide.active:not(.leave) .ab-overlap-card p::after {
	transform: scaleX(0);
}

.ab-slide.leave .ab-overlap-card p::after {
	transform: scaleX(1);
	transition-duration: .38s;
	transition-timing-function: cubic-bezier(.55, 0, .8, .45);
	transition-delay: .00s;
}

.ab-slide.active:not(.leave) .ab-overlap-card {
	transform: translateX(-50%) scaleX(1);
}

.ab-slide.leave .ab-overlap-card {
	transform: translateX(-50%) scaleX(0);
	transition-duration: .38s;
	transition-timing-function: cubic-bezier(.55, 0, .8, .45);
	transition-delay: .00s;
}

.ab-nav-row {
	position: absolute;
	bottom: 28px;
	right: 40px;
	display: flex;
	align-items: center;
	gap: 20px;
	z-index: 15;
}

/* dots */
.ab-dots {
	display: flex;
	gap: 8px;
	align-items: center;
}

.ab-dot {
	width: 28px;
	height: 2px;
	background: rgba(255, 255, 255, .45);
	cursor: pointer;
	border: none;
	transition: background .3s, width .35s;
}

.ab-dot.active {
	background: #ffffff;
	width: 46px;
}

/* counter */
.ab-counter {
	font-family: "Instrument Serif", serif;
	font-size: 14px;
	color: rgba(255, 255, 255, .7);
	letter-spacing: .06em;
}

.ab-counter strong {
	font-size: 24px;
	font-weight: 400;
	color: #ffffff;
	margin-right: 2px;
}

/* arrows */
.ab-arrows {
	display: flex;
	gap: 8px;
}

.ab-arr-btn {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, .5);
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: background .25s, border-color .25s;
}

.ab-arr-btn:hover {
	background: #b4965a;
	border-color: #b4965a;
}

.ab-arr-btn svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.ab-progress-line {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
	background: #b4965a;
	width: 0;
	z-index: 100;
	pointer-events: none;
}

/* mobile-only block hidden on desktop */
.ab-mobile-content {
	display: none;
}

/*About Page End*/

.about-section2 {
	background-color: #fff;
	padding-top: 92px;
	padding-bottom: 23px;
}

.about-section2 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

/* Heading Row */
.as2-heading-row {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-bottom: 28px;
}

.as2-line {
	flex: 1;
	height: 1px;
	background-color: #e4e4e4;
	display: block;
}

.as2-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 55px;
	font-weight: 400;
	color: #3a3a3a;
	white-space: nowrap;
	margin: 0;
	line-height: 1.1;
}

/* Description */
.as2-desc {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #6b6056;
	line-height: 1.8;
	text-align: center;
	max-width: 80%;
	margin: 0 auto 55px;
}

/* Cards Grid */
.as2-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 70px;
	border-top: 1px solid #e4e4e4;
	padding-top: 100px;
	padding-bottom: 100px;
	border-bottom: 1px solid #e4e4e4;
}

.as2-card {
	background: linear-gradient(135deg, #1a5c52 0%, #1a5c52 40%, #2e7a5a 100%);
	padding: 52px 44px 56px;
	position: relative;
	display: flex;
	flex-direction: column;
}

.as2-card-icon {
	position: absolute;
	top: 40px;
	right: 40px;
	width: 100px;
	height: 100px;
	opacity: 0.85;
}

.as2-card-icon img {
	width: auto;
	height: 100%;
	max-width: 100%;
}

/* Card Title */
.as2-card-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 46px;
	font-weight: 400;
	color: #ffffff;
	margin: 0 0 30px;
	line-height: 1.1;
	max-width: 75%;
}

/* Card Body */
.as2-card-text,
.as2-card-text p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.85;
	margin: 0;
}

.about-section3 {
	background-color: #ffffff;
	padding: 0;
}

.about-section3 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

.as3-inner {
	display: grid;
	grid-template-columns: 42% 58%;
	min-height: 480px;
}

/* Left column */
.as3-left {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0px 80px 0px 0px;
	gap: 0;
}

/* Each item row */
.as3-item {
	display: flex;
	align-items: flex-start;
	gap: 42px;
	padding: 40px 0;
}

.as3-divider {
	height: 2px;
	background-color: #bcbdbd;
	width: 100%;
}

/* Icon */
.as3-icon {
	flex-shrink: 0;
	width: 80px;
	height: auto;
}

.as3-icon svg {
	width: 100%;
	height: 100%;
}

/* Content */
.as3-content {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 6px;
}

.as3-item-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 38px;
	font-weight: 400;
	color: #646565;
	margin: 0;
	line-height: 1.1;
}

.as3-item-text {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #333;
	line-height: 1.5;
	margin: 0;
	max-width: 380px;
}

.as3-right {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.as3-right img {
	max-width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
	display: block;
}

.about-section4 {
	background-color: #ffffff;
	padding-top: 50px;
	padding-bottom: 100px;
}

.about-section4 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

/* Full-width image */
.as4-image-wrap {
	width: 100%;
	line-height: 0;
	overflow: hidden;
}

.as4-image-wrap img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Green content block */
.as4-content {
	background: linear-gradient(135deg, #0d3d2e 0%, #0d3d2e 30%, #0e5c52 100%);
	padding: 93px 80px 93px;
}

.as4-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 60px;
	font-weight: 400;
	color: #ffffff;
	margin: 0 0 35px;
	line-height: 1.1;
}

/* Two-column text with divider */
.as4-cols {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	gap: 0 56px;
	align-items: start;
}

.as4-col-divider {
	background-color: rgba(255, 255, 255, 0.25);
	align-self: stretch;
}

.as4-col-text,
.as4-col-text p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.85;
	margin: 0;
}

.about-section5 {
	background-color: #ffffff;
	padding-bottom: 0px;
}

.about-section5 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

.as5-outer {
	position: relative;
	padding-top: 185px;
}

/* Teal gradient band */
.as5-band {
	background-image: url('../images/about-deco.png'), linear-gradient(180deg, #0e6b6b 0%, #0e6b6b 45%, #2e8a5c 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: right -61% top 48%, center;
	background-size: 1200px 1200px, cover;
	position: relative;
	overflow: hidden;
	min-height: 300px;
	display: flex;
	align-items: center;
	padding: 88px 80px;
}

.as5-text {
	flex: 0 0 46%;
	max-width: 46%;
	position: relative;
	z-index: 2;
}

.as5-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 50px;
	font-weight: 400;
	color: #ffffff;
	margin: 0 0 35px;
	line-height: 1.1;
}

.as5-desc,
.as5-desc p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.85;
	margin: 0;
	max-width: 590px;
}

/* Decorative concentric circles */
.as5-deco {
	position: absolute;
	right: 260px;
	top: 50%;
	transform: translateY(-50%);
	width: 480px;
	height: 480px;
	z-index: 1;
	pointer-events: none;
}

.as5-deco svg {
	width: 100%;
	height: 100%;
}

.as5-person {
	position: absolute;
	right: 60px;
	bottom: 0;
	height: 100%;
	z-index: 3;
}

.as5-person-deco {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	z-index: 1;
	pointer-events: none;
}

.as5-person-img {
	position: relative;
	z-index: 2;
}

.as5-person img {
	height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: bottom center;
	display: block;
}

.about-section6 {
	background-color: #ffffff;
	padding: 100px 0;
}

.about-section6 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

/* Header bar */
.as6-header {
	background: linear-gradient(180deg, #1a8a82 0%, #0eaa96 100%);
	padding: 25px 48px;
	margin-bottom: 23px;
}

.as6-header-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 47px;
	font-weight: 400;
	color: #ffffff;
	margin: 0;
	line-height: 1.1;
}

/* Cards grid */
.as6-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 56px;
}

.as6-card {
	background: linear-gradient(180deg, #0e6b6b 0%, #2e8a5c 100%);
	padding: 44px 36px 52px;
	display: flex;
	flex-direction: column;
}

/* Icon */
.as6-icon {
	width: 80px;
	height: auto;
	margin-bottom: 32px;
	flex-shrink: 0;
}

.as6-icon img {
	max-width: 100%;
	height: auto;
}

/* Card title */
.as6-card-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 38px;
	font-weight: 400;
	color: #ffffff;
	margin: 0 0 30px;
	line-height: 1;
}

/* Card body */
.as6-card-text,
.as6-card-text p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.85;
	margin: 0;
}

.about-section7 {
	background-color: #ffffff;
	padding-top: 0px;
	padding-bottom: 0px;
}

.about-section7 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

.as7-inner {
	display: grid;
	grid-template-columns: 38% 62%;
	align-items: center;
	gap: 0 80px;
}

/* Left */
.as7-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 50px;
	font-weight: 400;
	color: #565656;
	margin: 0 0 35px;
	line-height: 1;
}

.as7-desc {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #2b2b2b;
	line-height: 1.85;
	margin: 0;
}

/* Right */
.as7-right {
	display: flex;
	flex-direction: column;
}

/* Timeline */
.as7-tl-wrap {
	position: relative;
	padding-bottom: 20px;
}

.as7-tl-line {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 29px;
	height: 1px;
	background-color: #d0c9c0;
	z-index: 0;
}

.as7-tl-nodes {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.as7-tl-node {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	outline: none;
}

.as7-tl-label {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 28px;
	font-weight: 400;
	color: #6d6e71;
	white-space: nowrap;
}

.as7-tl-dot {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: #2c2925;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s ease, transform 0.3s ease;
	flex-shrink: 0;
}

.as7-tl-node.active .as7-tl-dot {
	background-color: #1d5e52;
}

/* 6-ring ripple animation */
@keyframes as7Ripple {
	0% {
		transform: scale(1);
		opacity: 0.55;
	}

	100% {
		transform: scale(4.2);
		opacity: 0;
	}
}

.as7-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1.5px solid rgba(29, 94, 82, 0);
	pointer-events: none;
	opacity: 0;
}

.as7-tl-node.active .as7-ring {
	border-color: rgba(29, 94, 82, 0.55);
	animation: as7Ripple 2.4s ease-out infinite;
}

.as7-tl-node.active .as7-ring:nth-child(1) {
	animation-delay: 0s;
}

.as7-tl-node.active .as7-ring:nth-child(2) {
	animation-delay: 0.4s;
}

.as7-tl-node.active .as7-ring:nth-child(3) {
	animation-delay: 0.8s;
}

.as7-tl-node.active .as7-ring:nth-child(4) {
	animation-delay: 1.2s;
}

.as7-tl-node.active .as7-ring:nth-child(5) {
	animation-delay: 1.6s;
}

.as7-tl-node.active .as7-ring:nth-child(6) {
	animation-delay: 2.0s;
}

/* Arrow pointer */
.as7-arrow-wrap {
	position: relative;
	height: 20px;
}

.as7-arrow {
	position: absolute;
	top: 2px;
	width: 0;
	height: 0;
	border-left: 13px solid transparent;
	border-right: 13px solid transparent;
	border-bottom: 18px solid #1a8a82;
	transform: translateX(-50%);
	transition: left 0.35s ease;
}

/* Panels */
.as7-panels {
	background: linear-gradient(180deg, #1a8a82 0%, #0eaa96 100%);
}

.as7-panel {
	display: none;
	padding: 48px 52px 56px;
}

.as7-panel.active {
	display: block;
}

.as7-panel-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 38px;
	font-weight: 400;
	color: #ffffff;
	margin: 0 0 30px;
	line-height: 1.2;
}

.as7-panel-list,
.as7-panel ul {
	list-style: none;
	padding: 0;
	margin: 0 0 14px 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.as7-panel-list li,
.as7-panel ul li {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.65;
	padding-left: 18px;
	position: relative;
}

.as7-panel-list li::before,
.as7-panel ul li::before {
	content: '\2022';
	position: absolute;
	left: 0;
	color: rgba(255, 255, 255, 0.6);
}

.as7-panel p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.85;
	margin: 0 0 14px 0;
}

.about-section8 {
	background-color: #ffffff;
	padding: 100px 0;
}

.about-section8 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

.as8-image-wrap {
	width: 100%;
	line-height: 0;
	overflow: hidden;
}

.as8-image-wrap img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	max-height: 520px;
}

.as8-content {
	background: linear-gradient(180deg, #1e7b5a 0%, #036769 100%);
	padding: 90px 80px 90px;
}

.as8-cols {
	display: grid;
	grid-template-columns: 38fr 62fr;
	gap: 0 80px;
	align-items: center;
}

.as8-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 44px;
	font-weight: 400;
	color: #ffffff;
	margin: 0;
	line-height: 1.1;
}

.as8-text,
.as8-text p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.85;
	margin: 0;
}

.about-section9 {
	background-color: #ffffff;
	padding-top: 0px;
}

.about-section9 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

/* Heading row */
.as9-heading-row {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-bottom: 32px;
}

.as9-line {
	flex: 1;
	height: 1px;
	background-color: #d0c9c0;
	display: block;
}

.as9-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 40px;
	font-weight: 400;
	color: #757777;
	white-space: nowrap;
	margin: 0;
	line-height: 1.1;
}

/* Description */
.as9-desc-wrap {
	text-align: center;
	margin-bottom: 52px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.as9-desc {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #2b2b2b;
	line-height: 1.8;
	margin: 0 auto;
}

/* Slider */
.as9-slider-outer {
	overflow: hidden;
	width: 100%;
}

.as9-slider-track {
	display: flex;
	gap: 20px;
	transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.as9-video-item {
	flex: 0 0 calc((100% - 40px) / 3);
	min-width: 0;
}

.as9-video-thumb {
	position: relative;
	width: 100%;
	padding-top: 0;
	background-color: #000000;
	overflow: hidden;
	cursor: pointer;
	height: 295px;
}

.as9-video-thumb img {
	width: 100%;
	object-fit: cover;
	height: 100%;
}

/* Play button */
.as9-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: rgba(180, 180, 180, 0.72);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.25s ease, transform 0.25s ease;
	padding: 0;
}

.as9-play-btn svg {
	width: 22px;
	height: 22px;
	margin-left: 3px;
}

.as9-play-btn:hover {
	background-color: rgba(255, 255, 255, 0.9);
	transform: translate(-50%, -50%) scale(1.08);
}

.as9-play-btn:hover svg polygon {
	fill: #1d5e52;
}

/* Vimeo iframe injected on play */
.as9-video-thumb iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

.as9-video-thumb.is-playing .as9-play-btn {
	display: none;
}

/* Nav row */
.as9-nav-row {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	margin-top: 37px;
	margin-bottom: 100px;
	border-bottom: 1px solid #9f9f9f;
	padding-bottom: 35px;
}

.as9-nav-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid #616161;
	background: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #2c2925;
	transition: background-color 0.25s ease, color 0.25s ease;
	padding: 0;
}

.as9-nav-btn svg {
	width: 18px;
	height: 18px;
}

.as9-nav-btn:hover {
	background-color: #1d5e52;
	border-color: #1d5e52;
	color: #ffffff;
}

.as9-nav-btn:disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

/* Bottom separator */
.as9-bottom-line {
	height: 1px;
	background-color: #d0c9c0;
}

.about-section10 {
	background-color: #fff;
	padding: 0;
	overflow: hidden;
}

.about-section10 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-direction: column;
	background: linear-gradient(135deg, #1a7a78 0%, #00b5a0 100%);
}

/* Text content block */
.as10-content {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	gap: 0 64px;
	align-items: start;
	padding: 72px 80px 64px;
}

/* Vertical divider */
.as10-divider {
	background-color: rgba(255, 255, 255, 0.28);
	align-self: stretch;
}

/* Each column */
.as10-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.as10-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 35px;
	font-weight: 400;
	color: #ffffff;
	margin: 0;
	line-height: 1.1;
}

.as10-text,
.as10-text p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	line-height: 1.85;
	margin: 0;
}

/* Full-width illustration image */
.as10-image {
	width: 100%;
	line-height: 0;
	flex-shrink: 0;
}

.as10-image img {
	max-width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	margin: 0 auto;
}

.about-section11 {
	background-color: #ffffff;
	padding-top: 100px;
	padding-bottom: 100px;
}

.about-section11 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

/* Top and bottom border lines */
.as11-top-line,
.as11-bottom-line {
	height: 1px;
	background-color: #d0c9c0;
	width: 100%;
}

/* Three-column grid */
.as11-cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

/* Each column */
.as11-col {
	padding: 56px 52px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.as11-col:not(:last-child) {
	border-right: 1px solid #d0c9c0;
}

.as11-col-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 35px;
	font-weight: 400;
	color: #686868;
	margin: 0;
	line-height: 1.2;
}

.as11-col-text,
.as11-col-text p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #2b2b2b;
	line-height: 1.85;
	margin: 0;
}

.about-section12 {
	background-color: #ffffff;
	padding-bottom: 207px;
	overflow: hidden;
}

.about-section12 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0;
}

/* Two-column inner layout */
.as12-inner {
	display: grid;
	grid-template-columns: 25% 75%;
	min-height: 780px;
}

.as12-left {
	position: relative;
	background-color: #fff;
	overflow: hidden;
	display: flex;
	align-items: end;
}

.as12-building-svg {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	inset: 0;
}

.as12-right {
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
}

/* Teal header bar */
.as12-header {
	background: linear-gradient(180deg, #1a8a82 0%, #0eaa96 100%);
	padding: 25px 35px;
}

.as12-header-title {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 36px;
	font-weight: 400;
	color: #ffffff;
	margin: 0;
	letter-spacing: 0.02em;
}

/* FAQ list container */
.as12-faqs {
	display: flex;
	flex-direction: column;
	padding: 0px;
	flex: 1;
}

/* Single FAQ item */
.as12-faq {
	border-bottom: 1px solid #ddd8d2;
}

/* Question button */
.as12-faq-q {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 26px 0;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	outline: none;
}

.as12-faq-q:focus-visible {
	outline: 2px solid #2b7a6c;
	outline-offset: 2px;
	border-radius: 2px;
}

.as12-faq-q-text {
	font-family: 'Instrument Serif', Georgia, serif;
	font-size: 24px;
	font-weight: 400;
	color: #646565;
	line-height: 1.35;
	transition: color 0.2s ease;
}

.as12-faq-q:hover .as12-faq-q-text {
	color: #2b7a6c;
}

/* +/- icon */
.as12-faq-icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Nunito Sans', sans-serif;
	font-size: 22px;
	font-weight: 300;
	color: #2c2925;
	line-height: 1;
	transition: color 0.2s ease;
}

.as12-faq-q:hover .as12-faq-icon {
	color: #2b7a6c;
}

.as12-faq-a {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.38s ease;
}

.as12-faq--open .as12-faq-a {
	max-height: 400px;
}

.as12-faq-a-text,
.as12-faq-a-text p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #2b2b2b;
	line-height: 1.85;
	margin: 0;
	padding-bottom: 22px;
}

/*About Page End*/

/* FAQ: main category + panel accordion layout (500px and below only; desktop unchanged) */

.bl-section {
	padding: 100px 0;
	background: #ffffff;
}

.bl-section .container {
	max-width: 1620px;
}

.bl-heading-row {
	display: flex;
	align-items: center;
	gap: 24px;
	padding-bottom: 100px;
	margin-bottom: 0;
}

.bl-heading {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 55px;
	font-weight: 400;
	color: #565656;
	white-space: nowrap;
	margin: 0;
	line-height: 1;
}

.bl-heading-line {
	flex: 1;
	height: 1px;
	background: #d0c9c0;
}

.bl-list {
	width: 100%;
	margin-top: 0;
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.bl-row {
	display: flex;
	align-items: stretch;
	background: #373e47;
	min-height: 260px;
	overflow: hidden;
}

.bl-row:last-child {
	border-bottom: 1px solid #e5e0db;
}

.bl-row--alt {
	background: #d1d3d4;
}

.bl-row-img {
	flex: 0 0 30%;
	max-width: 30%;
	overflow: hidden;
	line-height: 0;
	flex-shrink: 0;
	padding-left: 50px;
}

.bl-row-img a {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.bl-row-img img {
	width: 100%;
	height: 100%;
	max-height: 300px;
	object-fit: cover;
	object-position: center;
	display: block;
	min-height: 160px;
	transition: transform 0.45s ease;
}

.bl-row:hover .bl-row-img img {
	transform: scale(1.04);
}

.bl-row-body {
	flex: 0 0 50%;
	max-width: 50%;
	padding: 30px 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	min-width: 0;
}

.bl-row-title {
	font-family: "Instrument Serif", serif;
	font-size: 36px;
	font-weight: 400;
	color: #fff;
	line-height: normal;
	margin: 0;
	transition: color 0.2s ease;
	letter-spacing: 1px;
}

.bl-row:hover .bl-row-title {
	color: #826727;
}

.bl-row--alt .bl-row-title {
	color: #373e47;
}

.bl-row-excerpt {
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	font-weight: 300;
	color: #fff;
	line-height: 1.7;
	margin: 0;
}

.bl-row--alt .bl-row-excerpt {
	color: #373e47;
}

.bl-row-more {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color 0.2s ease;
}

.bl-row-more span {
	font-size: 22px;
	line-height: 1;
}

.bl-row--alt .bl-row-more {
	color: #373e47;
}

.bl-row-more:hover {
	color: #826727;
	text-decoration: none;
}

.bl-row-meta {
	flex: 0 0 20%;
	max-width: 20%;
	display: flex;
	align-items: stretch;
	padding: 50px 50px;
}

/* Date + Location sub-column */
.bl-row-date-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 20px;
	gap: 5px;
	min-width: 110px;
}

.bl-row-date {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: #fff;
	white-space: nowrap;
}

.bl-row--alt .bl-row-date {
	color: #373e47;
}

.bl-row-loc {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 0.4px;
}

.bl-row--alt .bl-row-loc {
	color: #373e47;
}

/* Thin vertical separator */
.bl-row-vsep {
	width: 1px;
	background: #e5e0db;
	align-self: stretch;
	flex-shrink: 0;
}

.bl-row--alt .bl-row-vsep {
	background: #373e47;
}

/* Number sub-column */
.bl-row-num-col {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 30px;
	min-width: 90px;
	flex-direction: column;
}

.bl-row-num {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 75px;
	font-weight: 600;
	color: #73777c;
	line-height: 1;
}

.bl-row--alt .bl-row-num {
	color: #acafb1;
}

.bl-scroll-sentinel {
	width: 100%;
	height: 1px;
	margin-top: 20px;
}

.bl-loader {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 40px 0;
}

.bl-loader-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #826727;
	animation: bl-bounce 1.2s infinite ease-in-out both;
}

.bl-loader-dot:nth-child(1) {
	animation-delay: -0.32s;
}

.bl-loader-dot:nth-child(2) {
	animation-delay: -0.16s;
}

.bl-loader-dot:nth-child(3) {
	animation-delay: 0s;
}

@keyframes bl-bounce {

	0%,
	80%,
	100% {
		transform: scale(0);
		opacity: 0.3;
	}

	40% {
		transform: scale(1);
		opacity: 1;
	}
}

.not-found-wrapper {
	text-align: center;
	padding: 60px 0;
}

.sp-section {
	background: #fff;
	padding-bottom: 120px;
}

.sp-section .container {
	max-width: 1620px;
}

.sp-hero {
	width: 100%;
	overflow: hidden;
	background: #1e2129;
	line-height: 0;
}

.sp-hero-img {
	display: block;
	width: 100%;
	height: 520px;
	object-fit: cover;
	object-position: top;
}

.sp-article-wrap {
	max-width: 920px;
	margin: 0 auto;
	padding: 65px 20px 0;
}

.sp-meta-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-bottom: 26px;
}

.sp-meta-date,
.sp-meta-author {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #888;
	line-height: 1;
}

.sp-meta-date svg,
.sp-meta-author svg {
	flex-shrink: 0;
	opacity: 0.55;
}

/* Dot separator between meta items */
.sp-meta-sep {
	display: inline-block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #c9a96e;
	flex-shrink: 0;
}

/* Category chips */
.sp-meta-cats {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
}

.sp-meta-cat-link {
	font-family: "Nunito Sans", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: #826727;
	text-decoration: none;
	border: 1px solid rgba(130, 103, 39, 0.4);
	padding: 3px 10px;
	transition: background 0.2s ease, color 0.2s ease;
}

.sp-meta-cat-link:hover {
	background: #826727;
	color: #fff;
	text-decoration: none;
	border: 1px solid #826727;
}

.sp-title {
	font-family: "Instrument Serif", serif;
	font-size: 52px;
	font-weight: 400;
	color: #373e47;
	line-height: 1.15;
	margin: 0 0 22px;
	letter-spacing: 0.2px;
}

/* Gold accent rule beneath the title */
.sp-title-rule {
	width: 55px;
	height: 2px;
	background: #826727;
	margin-bottom: 42px;
}

.sp-content {
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.9;
	color: #444;
}

/* Remove top margin from the very first element */
.sp-content>*:first-child {
	margin-top: 0 !important;
}

.sp-content h1 {
	font-family: "Instrument Serif", serif;
	font-size: 42px;
	font-weight: 400;
	color: #373e47;
	line-height: 1.15;
	margin: 54px 0 18px;
}

.sp-content h2 {
	font-family: "Instrument Serif", serif;
	font-size: 34px;
	font-weight: 400;
	color: #373e47;
	line-height: 1.2;
	margin: 48px 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e8e3dc;
}

.sp-content h3 {
	font-family: "Nunito Sans", sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #373e47;
	line-height: 1.35;
	margin: 40px 0 14px;
}

.sp-content h4 {
	font-family: "Nunito Sans", sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #4a5058;
	line-height: 1.4;
	margin: 34px 0 12px;
}

.sp-content h5 {
	font-family: "Nunito Sans", sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: #4a5058;
	line-height: 1.45;
	letter-spacing: 0.4px;
	margin: 28px 0 10px;
}

.sp-content h6 {
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #666;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 24px 0 8px;
}

.sp-content p {
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.9;
	margin: 0 0 22px;
}

.sp-content a {
	color: #826727;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.sp-content a:hover {
	color: #5a4619;
}

.sp-content ul {
	list-style: none;
	padding-left: 0;
	margin: 0 0 24px;
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.8;
}

.sp-content ul li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 9px;
}

.sp-content ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 11px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #826727;
	flex-shrink: 0;
}

.sp-content ol {
	padding-left: 28px;
	margin: 0 0 24px;
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.8;
}

.sp-content ol li {
	margin-bottom: 9px;
	padding-left: 6px;
}

.sp-content ol li::marker {
	color: #826727;
	font-weight: 600;
}

/* Nested lists */
.sp-content ul ul,
.sp-content ol ol,
.sp-content ul ol,
.sp-content ol ul {
	margin: 8px 0 8px 18px;
}

.sp-content blockquote {
	margin: 38px 0;
	padding: 26px 34px;
	border-left: 4px solid #826727;
	background: #f7f4ef;
	font-family: "Instrument Serif", serif;
	font-size: 22px;
	font-style: italic;
	font-weight: 400;
	color: #4a3b1a;
	line-height: 1.65;
}

.sp-content blockquote p {
	font-family: "Instrument Serif", serif;
	font-size: 22px;
	font-style: italic;
	color: #4a3b1a;
	line-height: 1.65;
	margin: 0;
}

.sp-content blockquote cite {
	display: block;
	margin-top: 14px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-style: normal;
	font-weight: 600;
	color: #826727;
	letter-spacing: 0.5px;
}

.sp-content img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 32px auto;
}

.sp-content figure {
	margin: 34px 0;
}

.sp-content figcaption {
	text-align: center;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	color: #999;
	margin-top: 8px;
	font-style: italic;
	line-height: 1.5;
}

/* WP image alignment helpers */
.sp-content .alignleft {
	float: left;
	margin: 6px 28px 18px 0;
}

.sp-content .alignright {
	float: right;
	margin: 6px 0 18px 28px;
}

.sp-content .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* WP caption */
.sp-content .wp-caption {
	max-width: 100%;
	margin: 32px auto;
}

.sp-content .wp-caption-text {
	text-align: center;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	color: #999;
	margin-top: 6px;
	font-style: italic;
}

.sp-content hr {
	border: none;
	border-top: 1px solid #e5e0db;
	margin: 46px 0;
}

.sp-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 34px 0;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
}

.sp-content thead th {
	background: #373e47;
	color: #fff;
	padding: 13px 18px;
	text-align: left;
	font-weight: 600;
	letter-spacing: 0.4px;
}

.sp-content tbody td {
	padding: 12px 18px;
	border-bottom: 1px solid #e8e3dc;
	color: #444;
	vertical-align: top;
}

.sp-content tbody tr:nth-child(even) td {
	background: #f7f4ef;
}

.sp-content code {
	font-family: "Courier New", Courier, monospace;
	font-size: 15px;
	background: #f0ede8;
	color: #826727;
	padding: 2px 7px;
	border-radius: 3px;
}

.sp-content pre {
	background: #2b3038;
	color: #e8e3dc;
	padding: 24px 28px;
	overflow-x: auto;
	margin: 32px 0;
	border-radius: 4px;
	font-family: "Courier New", Courier, monospace;
	font-size: 14px;
	line-height: 1.75;
}

.sp-content pre code {
	background: none;
	color: inherit;
	padding: 0;
	border-radius: 0;
	font-size: inherit;
}

.sp-content iframe,
.sp-content video {
	max-width: 100%;
	display: block;
	margin: 32px auto;
}

.sp-page-links {
	clear: both;
	margin-top: 40px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	color: #666;
}

.sp-page-links a {
	display: inline-block;
	margin: 0 4px;
	padding: 4px 13px;
	background: #373e47;
	color: #fff;
	text-decoration: none;
	font-weight: 500;
	transition: background 0.2s ease;
}

.sp-page-links a:hover {
	background: #826727;
	color: #fff;
}

.sp-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 52px;
	padding-top: 30px;
	border-top: 1px solid #e5e0db;
}

.sp-tags-label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #999;
	margin-right: 4px;
}

.sp-tag-pill {
	display: inline-block;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #555;
	background: #f0ede8;
	border: 1px solid #ddd8d0;
	padding: 5px 14px;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.sp-tag-pill:hover {
	background: #826727;
	color: #fff;
	border-color: #826727;
	text-decoration: none;
}

.sp-post-nav {
	display: flex;
	gap: 24px;
	margin-top: 60px;
	padding-top: 40px;
	border-top: 1px solid #e5e0db;
}

.sp-post-nav-prev {
	flex: 1;
}

.sp-post-nav-next {
	flex: 1;
	text-align: right;
}

.sp-nav-link {
	display: inline-flex;
	flex-direction: column;
	gap: 7px;
	text-decoration: none;
	max-width: 100%;
}

.sp-nav-dir {
	font-family: "Nunito Sans", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #826727;
}

.sp-nav-title {
	font-family: "Instrument Serif", serif;
	font-size: 20px;
	font-weight: 400;
	color: #373e47;
	line-height: 1.3;
	transition: color 0.2s ease;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sp-nav-link:hover .sp-nav-title {
	color: #826727;
}

.sp-not-found {
	text-align: center;
	padding: 100px 20px;
}

.sp-not-found h2 {
	font-family: "Instrument Serif", serif;
	font-size: 42px;
	color: #373e47;
	margin-bottom: 16px;
}

.arc-heading-wrap {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex-shrink: 0;
}

/* Small archive-type label (e.g. "Category Archive") */
.arc-label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #826727;
}

.arc-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 60px;
	padding-top: 36px;
	border-top: 1px solid #e5e0db;
	gap: 16px;
}

.arc-nav-older,
.arc-nav-newer {
	flex: 0 0 auto;
}

.arc-nav-older a,
.arc-nav-newer a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #373e47;
	text-decoration: none;
	padding: 13px 28px;
	background: transparent;
	border: 1px solid #d0c9c0;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.arc-nav-older a:hover,
.arc-nav-newer a:hover {
	background: #373e47;
	color: #fff;
	border-color: #373e47;
	text-decoration: none;
}

.arc-nav-arrow {
	font-size: 18px;
	line-height: 1;
	display: inline-block;
}

.srch-section {
	background: #fff;
	padding: 100px 0;
}

.srch-section .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0 20px;
}

.srch-heading-wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
}

.srch-label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #826727;
}

.srch-query {
	color: #826727;
	font-style: italic;
}

.srch-count {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	color: #888;
	margin: 0;
	line-height: 1.5;
}

.srch-count strong {
	color: #373e47;
	font-weight: 700;
}

.srch-type-badge {
	display: inline-block;
	font-family: "Nunito Sans", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #826727;
	border: 1px solid #826727;
	padding: 2px 10px;
	margin-bottom: 10px;
	line-height: 1.6;
}

.srch-no-thumb {
	background: #e9e6e1;
}

.srch-no-thumb a {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 220px;
}

.srch-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 60px;
	padding-top: 36px;
	border-top: 1px solid #e5e0db;
	gap: 16px;
}

.srch-nav-older,
.srch-nav-newer {
	flex: 0 0 auto;
}

.srch-nav-older a,
.srch-nav-newer a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #373e47;
	text-decoration: none;
	border: 1px solid #373e47;
	padding: 12px 28px;
	transition: background 0.22s ease, color 0.22s ease;
}

.srch-nav-older a:hover,
.srch-nav-newer a:hover {
	background: #373e47;
	color: #fff;
}

.srch-nav-arrow {
	font-size: 18px;
	line-height: 1;
}

.srch-no-results {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	padding: 50px 20px 30px;
	text-align: center;
}

.srch-no-results-icon {
	color: #c4bdb5;
	line-height: 1;
}

.srch-no-results-heading {
	font-family: "Instrument Serif", serif;
	font-size: 38px;
	font-weight: 400;
	color: #373e47;
	margin: 0;
	line-height: 1.2;
}

.srch-no-results-text {
	font-family: "Nunito Sans", sans-serif;
	font-size: 17px;
	color: #666;
	max-width: 520px;
	line-height: 1.75;
	margin: 0;
}

.srch-form {
	width: 100%;
	max-width: 540px;
}

.srch-form-inner {
	display: flex;
	align-items: stretch;
	border: 1px solid #d6d0cb;
	overflow: hidden;
}

.srch-input {
	flex: 1;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	color: #373e47;
	padding: 15px 22px;
	border: none;
	outline: none;
	background: #fff;
	min-width: 0;
	-webkit-appearance: none;
}

.srch-input::placeholder {
	color: #aaa;
}

.srch-input::-webkit-search-decoration,
.srch-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.srch-submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.4px;
	color: #fff;
	background: #826727;
	border: none;
	padding: 15px 26px;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.22s ease;
}

.srch-submit:hover {
	background: #6a5320;
}

.ct-section {
	background: #f7f4ef;
	padding: 100px 0 120px;
}

.ct-section .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0 20px;
}

.ct-heading-wrap {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex-shrink: 0;
}

.ct-label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #826727;
}

.ct-main-grid {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 0 80px;
	align-items: start;
}

.ct-intro {
	font-family: "Nunito Sans", sans-serif;
	font-size: 17px;
	line-height: 1.85;
	color: #666;
	margin: 0 0 40px 0;
}

.ct-info-cards {
	display: flex;
	flex-direction: column;
}

.ct-info-card {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	padding: 30px 0;
	border-top: 1px solid #ddd8d0;
}

.ct-info-card:last-child {
	border-bottom: 1px solid #ddd8d0;
}

/* Gold icon circle */
.ct-info-icon {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	background: #826727;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	margin-top: 2px;
}

.ct-info-body {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding-top: 2px;
}

.ct-info-label {
	font-family: "Nunito Sans", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: #826727;
}

.ct-info-text {
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	line-height: 1.75;
	color: #373e47;
	margin: 0;
	font-style: normal;
}

.ct-info-text a {
	color: #373e47;
	text-decoration: none;
	transition: color 0.2s ease;
}

.ct-info-text a:hover {
	color: #826727;
}

.ct-form-col {
	position: sticky;
	top: 100px;
}

.ct-form-card {
	background: #373e47;
	padding: 55px 60px;
}

.ct-form-heading {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 40px;
	font-weight: 400;
	color: #fff;
	margin: 0 0 12px 0;
	line-height: 1.15;
}

.ct-form-sub {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.55);
	margin: 0 0 38px 0;
}

/* Fallback messages */
.ct-no-form {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.7;
	padding: 20px 0;
	margin: 0;
}

.ct-no-form strong {
	color: #826727;
}

/* Strip default CF7 outer margin / paragraph spacing */
.ct-form-wrap .wpcf7 {
	margin: 0;
	padding: 0;
}

.ct-form-wrap .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.ct-form-wrap .home-section12-field input[type="text"],
.ct-form-wrap .home-section12-field input[type="email"],
.ct-form-wrap .home-section12-field input[type="tel"] {
	background: transparent;
	border-bottom-color: rgba(255, 255, 255, 0.25);
	color: #fff;
}

.ct-form-wrap .home-section12-field input[type="text"]::placeholder,
.ct-form-wrap .home-section12-field input[type="email"]::placeholder,
.ct-form-wrap .home-section12-field input[type="tel"]::placeholder {
	color: rgba(255, 255, 255, 0.38);
}

.ct-form-wrap .home-section12-field input[type="text"]:focus,
.ct-form-wrap .home-section12-field input[type="email"]:focus,
.ct-form-wrap .home-section12-field input[type="tel"]:focus {
	border-bottom-color: #826727;
}

.ct-form-wrap .home-section12-phone-row {
	border-bottom-color: rgba(255, 255, 255, 0.25);
}

.ct-form-wrap .home-section12-phone-row.focused {
	border-bottom-color: #826727;
}

.ct-form-wrap .home-section12-country-code {
	color: rgba(255, 255, 255, 0.65);
}

.ct-form-wrap .home-section12-chevron {
	border-right-color: rgba(255, 255, 255, 0.5);
	border-bottom-color: rgba(255, 255, 255, 0.5);
}

/* Override the light-grey wrapper background that style.css sets.
   !important needed: style.css background:#f3f3f3 can survive proxy cache. */
.ct-form-wrap .home-section12-country-select {
	background: rgba(255, 255, 255, 0.08) !important;
}

.ct-form-wrap .home-section12-country-select .wpcf7-form-control-wrap {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: auto !important;
	align-items: center;
}

.ct-form-wrap .home-section12-country-select select {
	width: 42px !important;
	max-width: 42px !important;
	background: transparent !important;
	color: rgba(255, 255, 255, 0.65) !important;
}

/* Country code abbreviation ("IND") and dial code text ("+91") */
.ct-form-wrap .home-section12-country-select .home-section12-country-code,
.ct-form-wrap #home-section12-dial {
	color: rgba(255, 255, 255, 0.65) !important;
}

.ct-form-wrap .home-section12-phone-input {
	background: transparent;
	color: #fff;
}

.ct-form-wrap .home-section12-phone-input::placeholder {
	color: rgba(255, 255, 255, 0.38);
}

.ct-form-wrap .home-section12-select-wrap select,
.ct-form-wrap .wpcf7-form .wpcf7-select {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.7);
}

.ct-form-wrap .home-section12-select-wrap select:focus,
.ct-form-wrap .wpcf7-form .wpcf7-select:focus {
	border-color: #826727;
	color: #fff;
}

.ct-form-wrap .home-section12-select-wrap select option,
.ct-form-wrap .wpcf7-form .wpcf7-select option {
	background: #373e47;
	color: #fff;
}

.ct-form-wrap .home-section12-country-select select option {
	background: #fff !important;
	color: #2a2a2a !important;
}

.ct-form-wrap .home-section12-select-arrow svg {
	stroke: rgba(255, 255, 255, 0.55);
}

.ct-form-wrap .home-section12-textarea-wrap textarea,
.ct-form-wrap .wpcf7-form .wpcf7-textarea {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.ct-form-wrap .home-section12-textarea-wrap textarea::placeholder,
.ct-form-wrap .wpcf7-form .wpcf7-textarea::placeholder {
	color: rgba(255, 255, 255, 0.38);
}

.ct-form-wrap .home-section12-textarea-wrap textarea:focus,
.ct-form-wrap .wpcf7-form .wpcf7-textarea:focus {
	border-color: #826727;
}

.ct-form-wrap .home-section12-submit-wrap input[type="submit"],
.ct-form-wrap .home-section12-submit-wrap button[type="submit"],
.ct-form-wrap .wpcf7-form .wpcf7-submit {
	background: #826727;
	border: 2px solid #826727;
	transition: background 0.22s ease, color 0.22s ease, transform 0.18s ease;
}

.ct-form-wrap .home-section12-submit-wrap input[type="submit"]:hover,
.ct-form-wrap .home-section12-submit-wrap button[type="submit"]:hover,
.ct-form-wrap .wpcf7-form .wpcf7-submit:hover {
	background: transparent;
	color: #826727;
	transform: none;
}

.ct-form-wrap .wpcf7-not-valid-tip {
	color: #ff8080;
}

.ct-form-wrap .wpcf7-not-valid {
	border-color: #ff8080 !important;
}

.ct-form-wrap .wpcf7-response-output {
	margin: 16px 0 0 0;
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.05);
}

.ct-map-wrap {
	width: 100%;
	height: 500px;
	overflow: hidden;
	display: block;
	line-height: 0;
}

.ct-map-wrap iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.eq-section {
	background: #f7f4ef;
	padding: 100px 0 120px;
}

.eq-section .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0 20px;
}

.eq-body {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: 0 80px;
	align-items: start;
}

.eq-intro {
	font-family: "Nunito Sans", sans-serif;
	font-size: 17px;
	line-height: 1.85;
	color: #666;
	margin: 0 0 40px 0;
}

.eq-features {
	display: flex;
	flex-direction: column;
}

.eq-feature {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	padding: 28px 0;
	border-top: 1px solid #ddd8d0;
}

.eq-feature:last-child {
	border-bottom: 1px solid #ddd8d0;
}

/* Gold icon circle */
.eq-feature-icon {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	background: #826727;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	margin-top: 2px;
}

.eq-feature-body {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding-top: 4px;
}

.eq-feature-title {
	display: block;
	font-family: "Nunito Sans", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: #826727;
}

.eq-feature-text {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	line-height: 1.75;
	color: #373e47;
	margin: 0;
}

.eq-form-col {
	position: sticky;
	top: 100px;
}

.eq-form-card {
	background: #373e47;
	padding: 55px 60px;
}


/* ══════════════════════════════════════
   Upcoming Project – Section 1 Slider
══════════════════════════════════════ */
.upcomingproject-section1 .container,
.upcomingproject-section2 .container,
.upcomingproject-section3 .container {
	max-width: 1620px;
}

.upcomingproject-section1 .ups1-slider {
	position: relative;
	width: 100%;
	padding-top: 70px;
}

.upcomingproject-section1 .ups1-viewport {
	position: relative;
	width: 100%;
	height: 600px;
	/* fallback; JS sets the real height */
	overflow: hidden;
}

.upcomingproject-section1 .ups1-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.6s ease;
	will-change: transform;
}

.upcomingproject-section1 .ups1-slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
}

.upcomingproject-section1 .ups1-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* White control box anchored to the bottom-right of the image */
.upcomingproject-section1 .ups1-controls {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 22px 40px;
	background: #fff;
}

.upcomingproject-section1 .ups1-arrows {
	display: flex;
	align-items: center;
	gap: 28px;
}

.upcomingproject-section1 .ups1-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	background: transparent;
	border: 0;
	color: #1a1a1a;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.upcomingproject-section1 .ups1-arrow svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}

.upcomingproject-section1 .ups1-arrow.disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.upcomingproject-section1 .ups1-counter {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 17px;
	letter-spacing: 1px;
	color: #1a1a1a;
}

.upcomingproject-section1 .ups1-of {
	font-size: 14px;
	color: #8a8a8a;
}

.upcomingproject-section1 .ups1-sep {
	display: inline-block;
	width: 16px;
	height: 1px;
	background: #c9c9c9;
}



/* ══════════════════════════════════════
   Upcoming Project – Section 2 Intro
══════════════════════════════════════ */
.upcomingproject-section2 .ups2-wrap {
	display: flex;
	align-items: flex-end;
	gap: 80px;
	padding: 70px 0;
}

.upcomingproject-section2 .ups2-col-left {
	flex: 0 0 42%;
	max-width: 42%;
	padding-bottom: 45px;
}

.upcomingproject-section2 .ups2-col-right {
	flex: 1;
}

.upcomingproject-section2 .ups2-heading {
	margin: 0;
	font-family: 'Instrument Serif', Georgia, serif;
	font-weight: 400;
	font-size: 58px;
	line-height: 1.1;
	color: #1f3a2b;
}

.upcomingproject-section2 .ups2-text p {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 24px;
	text-align: justify;
	color: #2b2b2b;
}

.upcomingproject-section2 .ups2-text p:last-child {
	margin-bottom: 0;
}

.upcomingproject-section2 .ups2-underline {
	display: block;
	width: 120px;
	height: 1px;
	margin-top: 40px;
	background: #1a1a1a;
}



/* ══════════════════════════════════════
   Upcoming Project – Section 3 Showcase
══════════════════════════════════════ */
.upcomingproject-section3 .ups3-wrap {
	display: flex;
	align-items: stretch;
	padding-bottom: 100px;
}

.upcomingproject-section3 .ups3-left {
	flex: 0 0 64%;
	max-width: 64%;
}

.upcomingproject-section3 .ups3-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-bottom: 40px;
	background: linear-gradient(110deg, #3a5a78 0%, #1d3247 100%);
}

/* Navy header bar with title + code */
.upcomingproject-section3 .ups3-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 34px 48px;
	background: linear-gradient(110deg, #3a5a78 0%, #1d3247 100%);
}

.upcomingproject-section3 .ups3-title,
.upcomingproject-section3 .ups3-code {
	margin: 0;
	font-family: 'Instrument Serif', Georgia, serif;
	font-weight: 400;
	color: #e9eef3;
	line-height: 1;
}

.upcomingproject-section3 .ups3-code-wrap .ups3-code {
	display: none;
}

.upcomingproject-section3 .ups3-code-wrap .ups3-code.active {
	display: inline-block;
}

.upcomingproject-section3 .ups3-title {
	font-size: 46px;
}

.upcomingproject-section3 .ups3-code {
	font-size: 40px;
	letter-spacing: 1px;
}

/* Image slider */
.upcomingproject-section3 .ups3-slider {
	position: relative;
	height: 460px;
	overflow: hidden;
}

.upcomingproject-section3 .ups3-viewport {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.upcomingproject-section3 .ups3-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.6s ease;
	will-change: transform;
}

.upcomingproject-section3 .ups3-slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
}

.upcomingproject-section3 .ups3-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Circular outlined arrows, vertically centred over the image */
.upcomingproject-section3 .ups3-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	background: transparent;
	border: 1px solid rgb(255, 255, 255);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}

.upcomingproject-section3 .ups3-arrow:hover {
	background: rgba(255, 255, 255, 0.9);
	color: #1d3247;
}

.upcomingproject-section3 .ups3-prev {
	left: 26px;
}

.upcomingproject-section3 .ups3-next {
	right: 26px;
}

.upcomingproject-section3 .ups3-arrow svg {
	width: 25px;
	height: 25px;
	fill: currentColor;
	stroke: none;
}

.upcomingproject-section3 .ups3-arrow.disabled {
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

/* Right spec panel */
.upcomingproject-section3 .ups3-right {
	position: relative;
	flex: 1;
	background: #ececec;
	padding: 50px 100px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.upcomingproject-section3 .ups3-specs {
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

.upcomingproject-section3 .ups3-specs.active {
	display: block;
}

.upcomingproject-section3 .ups3-spec {
	padding: 10px 0;
	font-size: 16px;
	color: #2b2b2b;
	border-bottom: 1px solid #c9c9c9;
	font-family: "Nunito Sans", sans-serif;
	font-weight: 400;
}

.upcomingproject-section3 .ups3-spec:last-child {
	border-bottom: 0;
}

/* Navy accent tab on the right edge */
.upcomingproject-section3 .ups3-side-tab {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 20px;
	height: 38%;
	background: #2d4a63;
}


/* ══════════════════════════════════════
   Completed Project – Section 1 Slider
══════════════════════════════════════ */
.completedproject-section1 .container {
	max-width: 1620px;
}

.completedproject-section1 {
	padding: 80px 0;
}

.completedproject-section1 .cps1-slider {
	position: relative;
	width: 100%;
}

/* Heading + intro row (fixed, not tied to the slider) */
.completedproject-section1 .cps1-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 60px;
	margin-bottom: 50px;
}

.completedproject-section1 .cps1-head-left {
	flex: 1 1 360px;
}

.completedproject-section1 .cps1-head-right {
	flex: 1 1 460px;
}

.completedproject-section1 .cps1-heading {
	margin: 0;
	font-family: 'Instrument Serif', Georgia, serif;
	font-weight: 400;
	font-size: 58px;
	line-height: 1.1;
	color: #1f3a2b;
}

.completedproject-section1 .cps1-intro {
	margin: 0;
	font-size: 18px;
	line-height: 1.6;
	color: #3a4654;
}

.completedproject-section1 .cps1-intro p {
	margin: 0 0 1em;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.completedproject-section1 .cps1-intro p:last-child {
	margin-bottom: 0;
}

.completedproject-section1 .cps1-underline {
	display: block;
	width: 110px;
	height: 1px;
	margin-top: 22px;
	background: #1c2b3a;
}

/* Image viewport */
.completedproject-section1 .cps1-viewport {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.completedproject-section1 .cps1-track {
	display: flex;
	width: 100%;
	transition: transform 0.6s ease;
	will-change: transform;
}

.completedproject-section1 .cps1-slide {
	flex: 0 0 100%;
	width: 100%;
}

.completedproject-section1 .cps1-slide img {
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	object-position: top;
}

/* White control box anchored to the bottom-right of the image */
.completedproject-section1 .cps1-controls {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 22px 40px;
	background: #fff;
}

.completedproject-section1 .cps1-arrows {
	display: flex;
	align-items: center;
	gap: 44px;
}

.completedproject-section1 .cps1-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	background: transparent;
	border: 0;
	color: #1c2b3a;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.completedproject-section1 .cps1-arrow svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}

.completedproject-section1 .cps1-arrow.disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.completedproject-section1 .cps1-counter {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 17px;
	letter-spacing: 1px;
	color: #1c2b3a;
}

.completedproject-section1 .cps1-of {
	font-size: 19px;
	color: #3f3f3f;
}

.completedproject-section1 .cps1-sep {
	display: inline-block;
	width: 22px;
	height: 1px;
	background: #3f3f3f;
}

/* ── Responsive ───────────────────────────────────────────── */


/* ══════════════════════════════════════
   Completed Project – Section 2 Slider
══════════════════════════════════════ */
.completedproject-section2 .container {
	max-width: 1460px;
}

.completedproject-section2 {
	padding: 60px 0;
}

.completedproject-section2 .cps2-slider {
	position: relative;
	width: 100%;
}

.completedproject-section2 .cps2-viewport {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.completedproject-section2 .cps2-track {
	display: flex;
	width: 100%;
	transition: transform 0.6s ease;
	will-change: transform;
}

.completedproject-section2 .cps2-slide {
	flex: 0 0 100%;
	width: 100%;
	padding-top: 60px;
	box-sizing: border-box;
	padding-bottom: 40px;
}

/* Alternating slide backgrounds */
.completedproject-section2 .cps2-slide-odd {
	background: radial-gradient(120% 140% at 30% 90%, #3f6786 0%, #2c4a64 45%, #16314a 100%);
}

.completedproject-section2 .cps2-slide-even {
	background: linear-gradient(180deg, #1f8d83 0%, #149187 100%);
}

/* Three-column inner layout */
.completedproject-section2 .cps2-inner {
	display: flex;
	align-items: stretch;
	gap: 70px;
}

/* Image left (default) / image right via flex order */
.completedproject-section2 .cps2-img-left .cps2-media {
	order: 1;
}

.completedproject-section2 .cps2-img-left .cps2-text-cols {
	order: 2;
}

.completedproject-section2 .cps2-img-right .cps2-text-cols {
	order: 1;
}

.completedproject-section2 .cps2-img-right .cps2-media {
	order: 2;
}

/* Wrapper holding the name-row title + the intro + info columns */
.completedproject-section2 .cps2-text-cols {
	display: flex;
	flex-wrap: wrap;
	flex: 1 1 0;
	min-width: 0;
	gap: 50px;
}

.completedproject-section2 .cps2-inner.cps2-slide-odd .cps2-text-cols {
	padding-right: 60px;
	padding-left: 0px;
}

.completedproject-section2 .cps2-inner.cps2-slide-even .cps2-text-cols {
	padding-right: 0px;
	padding-left: 60px;
}

.completedproject-section2 .cps2-text-cols .cps2-name-row {
	flex: 0 0 100%;
	margin-bottom: 0;
}

/* Media (image + overlaid arrows) */
.completedproject-section2 .cps2-media {
	position: relative;
	flex: 0 0 40%;
	max-width: 40%;
	align-self: center;
	padding-bottom: 40px;
}

.completedproject-section2 .cps2-media img {
	display: block;
	width: 100%;
	height: 440px;
	object-fit: cover;
}

.completedproject-section2 .cps2-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 1px solid rgba(255, 255, 255);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: background 0.3s ease, opacity 0.3s ease;
}

.completedproject-section2 .cps2-arrow:hover {
	background: rgba(0, 0, 0, 0.5);
}

.completedproject-section2 .cps2-arrow svg {
	width: 50px;
	height: 50px;
	fill: currentColor;
}

.completedproject-section2 .cps2-prev {
	left: 18px;
}

.completedproject-section2 .cps2-next {
	right: 18px;
}

.completedproject-section2 .cps2-arrow.disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

/* Inner image slider (images within a single project) */
.completedproject-section2 .cps2-media-viewport {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.completedproject-section2 .cps2-media-track {
	display: flex;
	width: 100%;
	transition: transform 0.5s ease;
	will-change: transform;
}

.completedproject-section2 .cps2-media-slide {
	flex: 0 0 100%;
	width: 100%;
}

/* Bottom navigation (project to project) */
.completedproject-section2 .cps2-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	padding: 36px 0 10px;
}

.completedproject-section2 .cps2-nav-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	background: transparent;
	border: 1px solid rgba(22, 49, 74, 0.6);
	border-radius: 50%;
	color: #16314a;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.completedproject-section2 .cps2-nav-arrow:hover {
	background: #16314a;
	color: #fff;
}

.completedproject-section2 .cps2-nav-arrow svg {
	width: 50px;
	height: 50px;
	fill: currentColor;
}

.completedproject-section2 .cps2-nav-arrow.disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.completedproject-section2 .cps2-nav-counter {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 19px;
	letter-spacing: 1px;
	color: #16314a;
}

.completedproject-section2 .cps2-nav-counter .cps2-sep {
	background: rgba(22, 49, 74, 0.6);
}

.completedproject-section2 .cps2-nav-counter .cps2-of {
	color: #16314a;
}

/* Intro column (name + heading + description) */
.completedproject-section2 .cps2-intro-col {
	flex: 1 1 0;
	min-width: 0;
	color: #fff;
}

.completedproject-section2 .cps2-name-row {
	display: flex;
	align-items: center;
	gap: 18px;
	width: 100%;
	margin-bottom: 50px;
}

.completedproject-section2 .cps2-name {
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #f2c686;
	white-space: nowrap;
}

.completedproject-section2 .cps2-name-line {
	flex: 1 1 auto;
	height: 1px;
	background: #fff;
}

.completedproject-section2 .cps2-heading {
	margin: 0 0 30px;
	font-size: 33px;
	line-height: 1.2;
	font-weight: 400;
	color: #fff;
	font-family: 'Instrument Serif', Georgia, serif;
}

.completedproject-section2 .cps2-desc {
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.9);
}

.completedproject-section2 .cps2-desc p {
	margin: 0 0 1em;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.completedproject-section2 .cps2-desc p:last-child {
	margin-bottom: 0;
}

/* Info column (key highlights + testimonial) */
.completedproject-section2 .cps2-info-col {
	flex: 1 1 0;
	min-width: 0;
	color: #fff;
}

.completedproject-section2 .cps2-info-title {
	margin: 0 0 15px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #fff;
	font-family: "Nunito Sans", sans-serif;
}

.completedproject-section2 .cps2-highlights {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.completedproject-section2 .cps2-highlight {
	padding: 14px 0;
	font-size: 16px;
	line-height: 1.5;
	color: #fff;
	border-bottom: 1px solid #8ba1b1;
	font-family: "Nunito Sans", sans-serif;
}

/* .completedproject-section2 .cps2-highlight:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.25);
} */
.completedproject-section2 .cps2-slide-even .cps2-highlight {
	border-top: 1px solid #fff;
}

.completedproject-section2 .cps2-slide-even .cps2-highlight:last-child {
	border-bottom: 1px solid #fff;
}

/* Testimonial */
.completedproject-section2 .cps2-testimonial {
	display: flex;
	align-items: stretch;
	gap: 16px;
	padding-right: 20px;
	border: 1px solid #68859a;
}

.completedproject-section2 .cps2-slide-even .cps2-testimonial {
	border-color: #fff;
}

.completedproject-section2 .cps2-testi-photo {
	flex: 0 0 120px;
	width: 120px;
}

.completedproject-section2 .cps2-testi-photo img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 80px;
	object-fit: cover;
	max-height: 80px;
}

.completedproject-section2 .cps2-testi-text {
	margin: 0;
	align-self: center;
	font-size: 12px;
	line-height: 1.6;
	color: #fff;
	font-family: "Nunito Sans", sans-serif;
}

.completedproject-section2 .cps2-testi-text p {
	margin: 0 0 1em;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.completedproject-section2 .cps2-testi-text p:last-child {
	margin-bottom: 0;
}

/* Counter */
.completedproject-section2 .cps2-counter {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 19px;
	letter-spacing: 1px;
	color: #fff;
}

.completedproject-section2 .cps2-inner.cps2-slide-even .cps2-counter {
	left: 0px;
}

.completedproject-section2 .cps2-of {
	font-size: 19px;
	color: rgba(255, 255, 255);
}

.completedproject-section2 .cps2-sep {
	display: inline-block;
	width: 18px;
	height: 1px;
	background: rgba(255, 255, 255, 0.6);
}

/* ══════════════════════════════════════════════════
   CONTACT SECTION 1
══════════════════════════════════════════════════ */
.contact-section1 {
	position: relative;
	padding: 90px 0 70px;
	overflow: hidden;
}

.contact-section1 .container {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0 70px 90px 70px;
	box-sizing: border-box;
	background-color: #2e5a49;
	background-repeat: no-repeat;
	background-position: center right;
	background-size: cover;
	position: relative;
}

.contact-section1 .container:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 25px;
	background-color: #2e5a49;
	z-index: 1;
}

/* ── Green form card ─────────────────────────────── */
.contact-section1 .cs1-card {
	position: relative;
	width: 57%;
	max-width: 860px;
	background: #34604c;
	border-radius: 24px;
	padding: 90px 60px 60px 60px;
	box-sizing: border-box;
}

.contact-section1 .cs1-title {
	font-family: "Instrument Serif", serif;
	font-size: 58px;
	line-height: 1.02;
	font-weight: 400;
	color: #ffffff;
	margin: 0 0 26px;
}

.contact-section1 .cs1-intro {
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	line-height: 1.7;
	color: #e7ece8;
	margin: 0 0 38px;
	text-align: justify;
	max-width: 660px;
}

.contact-section1 .cs1-intro p {
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	line-height: 1.7;
	color: #e7ece8;
	margin: 0 0 14px;
}

.contact-section1 .cs1-intro p:last-child {
	margin-bottom: 0;
}

/* ── Form ─────────────────────────────────────────── */
.contact-section1 .cs1-form {
	margin: 0;
}

.contact-section1 .cs1-row {
	display: flex;
	gap: 24px;
	margin-bottom: 24px;
}

.contact-section1 .cs1-field {
	flex: 1 1 0;
	min-width: 0;
}

.contact-section1 .cs1-field-full {
	margin-bottom: 26px;
}

.contact-section1 .cs1-field input,
.contact-section1 .cs1-field textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #2a2a2a;
	background: #ffffff;
	border: none;
	border-radius: 2px;
	padding: 16px 18px;
	outline: none;
	resize: none;
}

.contact-section1 .cs1-field textarea {
	min-height: 230px;
	line-height: 1.6;
}

.contact-section1 .cs1-field input::placeholder,
.contact-section1 .cs1-field textarea::placeholder {
	color: #555555;
	opacity: 1;
}

.contact-section1 .cs1-field input:focus,
.contact-section1 .cs1-field textarea:focus {
	box-shadow: inset 0 0 0 2px #c9a96a;
}

.contact-section1 .cs1-field input.cs1-error,
.contact-section1 .cs1-field textarea.cs1-error {
	box-shadow: inset 0 0 0 2px #c0392b;
}

/* ── Contact Form 7 overrides ─────────────────────── */
.contact-section1 .cs1-form .wpcf7-form-control-wrap {
	display: block;
}

.contact-section1 .cs1-form p {
	margin: 0;
}

.contact-section1 .cs1-form .wpcf7-not-valid-tip {
	display: block;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	color: #ffd2cc;
	margin-top: 6px;
}

.contact-section1 .cs1-form .wpcf7-form-control.wpcf7-not-valid {
	box-shadow: inset 0 0 0 2px #c0392b;
}

.contact-section1 .cs1-form .wpcf7-response-output {
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.4);
	margin: 22px 0 0;
	padding: 12px 16px;
}

.contact-section1 .cs1-form .wpcf7-spinner {
	margin: 14px 0 0 8px;
}

/* Consent checkbox row */
.contact-section1 .cs1-consent .wpcf7-acceptance {
	margin-right: 8px;
}

.contact-section1 .cs1-consent .wpcf7-list-item {
	display: inline;
	margin: 0;
}

.contact-section1 .cs1-consent input[type="checkbox"] {
	width: auto;
	margin-right: 8px;
	vertical-align: middle;
}

.contact-section1 .cs1-consent {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: #e7ece8;
	margin: 0;
	max-width: 640px;
}

/* ── Enquire button (overlaps card edge) ──────────── */
.cs1-contact-btn {
	position: absolute;
	right: 0;
	bottom: -60px;
	background: #34604c;
	padding: 20px;
	border-radius: 20px;
}

.contact-section1 .cs1-submit {
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #34604c;
	background: #e8dcc0;
	border: none;
	border-radius: 4px;
	padding: 22px 42px;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
}

.wpcf7-spinner {
	position: absolute;
}

.contact-section1 .cs1-submit:hover {
	background: #34604c;
	color: #e8dcc0;
	box-shadow: 0 0 0 1px #e8dcc0 inset;
}

/* ── Office info bar (over image) ─────────────────── */
.contact-section1 .cs1-office {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 50px;
	margin-top: 150px;
	width: 57%;
	max-width: 860px;
}

.contact-section1 .cs1-office-block {
	position: relative;
}

.contact-section1 .cs1-office-address {
	flex: 1 1 auto;
}

.contact-section1 .cs1-office-phone .cs1-office-text,
.contact-section1 .cs1-office-email .cs1-office-text {
	white-space: nowrap;
}

.contact-section1 .cs1-office-phone,
.contact-section1 .cs1-office-email {
	flex: 0 0 auto;
	padding-left: 50px;
}

.contact-section1 .cs1-office-phone::before,
.contact-section1 .cs1-office-email::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 1px;
	background: #fff;
}

.contact-section1 .cs1-office-label {
	display: block;
	font-family: "Nunito Sans", sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: #d7c3a6;
	margin-bottom: 12px;
}

.contact-section1 .cs1-office-text {
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #fff;
	font-weight: 300;
	margin: 0;
}

.contact-section1 .cs1-office-text p {
	margin: 0;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #fff;
	font-weight: 300;
}

.contact-section1 .cs1-office-text strong {
	font-weight: 300;
	text-transform: uppercase;
}

.contact-section1 .cs1-office-text a {
	color: #fff;
	text-decoration: none;
	transition: color 0.25s ease;
}

.contact-section1 .cs1-office-text a:hover {
	color: #c9a96a;
}

/* ══════════════════════════════════════════════════
   CONTACT SECTION 2 – Google Map
══════════════════════════════════════════════════ */
.contact-section2 {
	padding-top: 50px;
	padding-bottom: 100px;
}

.contact-section2 .container {
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	max-width: 1620px;
	margin: 0 auto;
}

.contact-section2 .cs2-map-wrap {
	position: relative;
	width: 100%;
	height: 520px;
	overflow: hidden;
	border-radius: 0;
	line-height: 0;
	background: #e9e6e0;
}

.contact-section2 .cs2-map-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* ══════════════════════════════════════
   Responsive / Media Queries
══════════════════════════════════════ */

@media (max-width: 1720px) {
	.new-floor-plan-outer .block-selector {
		flex: 0 0 400px;
	}

	.ab-headline {
		font-size: 40px;
		line-height: 1.2;
	}

	.project-section1 .container {
		max-width: 94%;
		padding: 0;
	}

	.project-section2 .container,
	.project-section3 .container,
	.project-section4 .container,
	.project-section5 .container,
	.project-section5b .container,
	.project-section6 .container,
	.project-section7 .container,
	.project-section8 .container,
	.project-section9 .container,
	.project-section10 .container,
	.project-section11 .container,
	.project-main-top-section .container,
	.project-main-section1 .container,
	.project-section12 .container,
	.about-section1 .container,
	.about-section2 .container,
	.about-section3 .container,
	.about-section4 .container,
	.about-section5 .container,
	.about-section6 .container,
	.about-section7 .container,
	.about-section8 .container,
	.about-section9 .container,
	.about-section10 .container,
	.about-section11 .container,
	.about-section12 .container,
	.upcomingproject-section1 .container,
	.upcomingproject-section2 .container,
	.upcomingproject-section3 .container,
	.completedproject-section1 .container,
	.contact-section1 .container,
	.contact-section2 .container {
		max-width: 85%;
	}

	.completedproject-section2 .container {
		max-width: 80%;
	}

	.walkthrough-label {
		font-size: 16px;
	}

	.info-unit {
		font-size: 14px;
	}

	.project-main-top-section h1 {
		font-size: 50px;
	}

	.ab-slide {
		margin-top: 30px;
	}

	h3.ab-headline {
		font-size: 40px;
		line-height: 1.2;
	}

	.about-title,
	.gallery-heading,
	.amenities-heading,
	.as2-title,
	.as4-title,
	.as5-title,
	.as6-header-title,
	.as7-title {
		font-size: 45px;
	}

	.about-desc p {
		font-size: 16px;
	}

	.about-left-inner-bottom {
		padding-bottom: 54px;
	}

	.stat-label {
		font-size: 18px;
	}

	.stat-sub {
		font-size: 15px;
	}

	.btn-download {
		font-size: 16px;
	}

	.rera-no {
		font-size: 16px;
	}

	.rera-label {
		font-size: 18px;
	}

	.tab-btn {
		font-size: 16px;
	}

	.fp-heading,
	.nl-heading,
	.brands-heading,
	.spec-heading,
	.wwb-heading,
	.faq-heading,
	.proj-heading,
	.new-floor-plan-outer .section-title {
		font-size: 35px;
	}

	.contact-heading {
		font-size: 55px;
	}

	.fp-main-tab,
	.new-floor-plan-outer .main-tab-btn,
	.fp-sub-btn {
		font-size: 18px;
	}

	.fp-facing-label {
		font-size: 16px;
	}

	.fp-unit-btn {
		font-size: 13px;
	}

	.fp-bhk-label {
		font-size: 25px;
	}

	.fp-type-btn,
	.new-floor-plan-outer .block-btn,
	.new-floor-plan-outer .detail-line-value,
	.new-floor-plan-outer .detail-line-value.sqft {
		font-size: 16px;
	}

	.nl-tab {
		font-size: 18px;
	}

	.brands-subtitle {
		font-size: 18px;
	}

	.spec-tab {
		font-size: 18px;
	}

	.spec-card p,
	.spec-card li,
	.spec-list li {
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: 0px;
	}

	.vc-play-btn {
		width: 60px;
		height: 60px;
	}

	.faq-cat-btn {
		font-size: 18px;
	}

	.faq-question-text {
		font-size: 25px;
	}

	.proj-logo-row img {
		max-width: 100%;
	}

	.proj-location {
		font-size: 12px;
	}

	.contact-label {
		font-size: 18px;
	}

	.contact-inner {
		gap: 50px;
	}

	.contact-form-wrap .cf7-form-body {
		gap: 80px;
	}

	.contact-band {
		padding: 50px 50px;
	}

	.form-grid {
		column-gap: 50px;
	}

	.form-field {
		width: 280px;
	}

	.as2-card-title,
	.as6-card-title,
	.as8-title,
	.as9-title {
		font-size: 35px;
	}

	.as3-item-title,
	.as10-title,
	.as11-col-title,
	.as12-header-title {
		font-size: 30px;
	}

	.as7-tl-label {
		font-size: 20px;
	}

	.as7-panel-title {
		font-size: 30px;
	}

	.as12-faq-q-text {
		font-size: 22px;
	}

	.as9-video-thumb {
		height: 250px;
	}

	.as5-band {
		background-position: right -32% top 48%, center;
		background-size: 1000px 1000px, cover;
	}

	.as12-inner {
		grid-template-columns: 30% 70%;
	}
}

@media (max-width: 1680px) {
	.bl-section .container {
		max-width: 85%;
	}

	.bl-heading-row {
		padding-bottom: 80px;
	}

	.bl-heading {
		font-size: 48px;
	}

	.bl-row-title {
		font-size: 30px;
		line-height: 1.2;
	}

	.bl-row-excerpt {
		font-size: 16px;
	}

	.bl-row-more span {
		font-size: 19px;
	}

	.bl-row-num {
		font-size: 65px;
	}

	.sp-hero-img {
		height: 470px;
	}

	.sp-title {
		font-size: 46px;
	}

	.sp-content h1 {
		font-size: 38px;
	}

	.sp-content h2 {
		font-size: 30px;
	}

	.sp-content h3 {
		font-size: 22px;
	}

	.sp-content h4 {
		font-size: 19px;
	}

	.arc-label {
		font-size: 12px;
	}

	.srch-section .container {
		max-width: 85%;
	}

	.srch-label {
		font-size: 12px;
	}

	.srch-count {
		font-size: 14px;
	}

	.srch-no-results-heading {
		font-size: 34px;
	}

	.srch-nav-older a,
	.srch-nav-newer a {
		font-size: 14px;
	}

	.ct-section .container {
		max-width: 85%;
	}

	.ct-label {
		font-size: 12px;
	}

	.ct-main-grid {
		gap: 0 60px;
	}

	.ct-form-card {
		padding: 50px 55px;
	}

	.ct-form-heading {
		font-size: 36px;
	}

	.ct-intro {
		font-size: 16px;
	}

	.eq-section .container {
		max-width: 85%;
		padding: 0;
	}

	.eq-body {
		gap: 0 60px;
	}

	.eq-form-card {
		padding: 50px 55px;
	}

	.eq-intro {
		font-size: 16px;
	}

	.ab-slider {
		height: 550px;
	}

	.banner-image {
		height: 590px;
	}

	.banner-wrapper {
		padding-top: 37%;
	}

	.info-box img {
		max-height: 120px
	}

	.project-section2 {
		padding: 0 0 130px
	}

	.upcomingproject-section2 .ups2-heading {
		font-size: 56px;
	}

	.upcomingproject-section1 .ups1-slider {
		padding-top: 50px;
	}

	.upcomingproject-section2 .ups2-wrap {
		padding: 50px 0;
	}

	.upcomingproject-section3 .ups3-wrap {
		padding-bottom: 70px;
	}

	.upcomingproject-section1 .ups1-viewport {
		height: 550px !important;
	}

	.upcomingproject-section3 .ups3-slider {
		height: 380px;
	}

	.completedproject-section1 .cps1-heading {
		font-size: 56px;
	}

	.upcomingproject-section2 .ups2-text p,
	.completedproject-section1 .cps1-intro {
		font-size: 16px;
	}

	.upcomingproject-section3 .ups3-title {
		font-size: 40px;
	}

	.upcomingproject-section3 .ups3-code {
		font-size: 35px;
	}

	.completedproject-section2 .cps2-name {
		font-size: 18px;
	}

	.completedproject-section2 .cps2-heading {
		font-size: 30px;
	}

	.completedproject-section2 .cps2-of,
	.completedproject-section2 .cps2-counter {
		font-size: 16px;
	}

	.contact-section1 .cs1-title {
		font-size: 56px;
	}

	.contact-section1 .cs1-office {
		width: 75%;
		max-width: 100%;
	}

	.contact-section2 {
		padding-top: 30px;
	}
	.proj-img-wrap,
	.proj-img-wrap img {
		height: 525px;
	}

}

@media (max-width: 1520px) {
	.info-box {
		width: 350px;
		height: 265px;
		bottom: -100px;
	}

	.info-box img {
		max-width: 100%;
	}

	.contact-inner {
		gap: 20px;
	}

	.as2-cards {
		gap: 40px;
	}

	.as6-cards {
		gap: 40px;
	}

	.as5-band {
		background-position: right -8% top 48%, center;
		background-size: 800px 800px, cover;
	}

	.as12-inner {
		grid-template-columns: 35% 65%;
	}
}

@media (max-width: 1490px) {

	.about-title,
	.gallery-heading,
	.amenities-heading,
	.as2-title,
	.as4-title,
	.as5-title,
	.as6-header-title,
	.as7-title {
		font-size: 40px;
	}

	.about-desc p {
		font-size: 15px;
	}

	.stat-label {
		font-size: 16px;
	}

	.stat-sub {
		font-size: 13px;
	}

	.rera-label {
		font-size: 16px;
	}

	.rera-no {
		font-size: 14px;
	}

	.tab-btn {
		font-size: 15px;
	}

	.fp-main-tab,
	.new-floor-plan-outer .main-tab-btn,
	.fp-sub-btn {
		font-size: 16px;
	}

	.fp-bhk-label {
		font-size: 20px;
	}

	.fp-block-nav {
		font-size: 14px;
	}

	.fp-sub-btn {
		padding: 10px 20px;
	}

	.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
		flex: 0 0 560px;
	}

	.fp-type-btn,
	.new-floor-plan-outer .block-btn,
	.new-floor-plan-outer .detail-line-value,
	.new-floor-plan-outer .detail-line-value.sqft {
		font-size: 15px;
	}

	.nl-tab {
		font-size: 16px;
	}

	.brands-subtitle {
		font-size: 16px;
	}

	.spec-tab {
		font-size: 16px;
	}

	.spec-card p,
	.spec-card li,
	.spec-list li {
		font-size: 15px;
	}

	.faq-cat-btn {
		font-size: 16px;
	}

	.faq-question-text {
		font-size: 22px;
	}

	.faq-answer p {
		font-size: 14px;
	}

	.contact-heading {
		font-size: 45px;
	}

	.contact-submit {
		letter-spacing: 1px;
		font-size: 14px;
	}

	.fp-heading,
	.nl-heading,
	.brands-heading,
	.spec-heading,
	.wwb-heading,
	.faq-heading,
	.proj-heading,
	.new-floor-plan-outer .section-title {
		font-size: 30px;
	}

	.contact-form-wrap .cf7-form-body {
		gap: 50px;
	}

	.about-left-inner-bottom {
		padding-bottom: 51px;
	}

	.ab-col-left {
		padding: 50px 150px 0px 0px;
	}

	.ab-headline {
		font-size: 45px;
	}

	h3.ab-headline {
		font-size: 45px;
	}

	.as2-card-title,
	.as6-card-title,
	.as8-title,
	.as9-title {
		font-size: 30px;
	}

	.as3-item-title,
	.as10-title,
	.as11-col-title,
	.as12-header-title {
		font-size: 25px;
	}

	.as2-desc,
	.as2-card-text,
	.as2-card-text p,
	.as3-item-text,
	.as4-col-text,
	.as4-col-text p,
	.as5-desc,
	.as5-desc p,
	.as6-card-text,
	.as6-card-text p,
	.as7-desc,
	.as7-panel-list li,
	.as7-panel ul li,
	.as8-text,
	.as8-text p,
	.as9-desc,
	.as10-text,
	.as10-text p,
	.as11-col-text,
	.as11-col-text p,
	.as12-faq-a-text,
	.as12-faq-a-text p {
		font-size: 15px;
	}

	.as9-video-thumb {
		height: 220px;
	}

	.as9-play-btn {
		width: 50px;
		height: 50px;

	}

	.bl-heading-row {
		padding-bottom: 65px;
	}

	.bl-heading {
		font-size: 42px;
	}

	.bl-row-title {
		font-size: 26px;
	}

	.bl-row-excerpt {
		font-size: 15px;
	}

	.bl-row-more span {
		font-size: 18px;
	}

	.bl-row-num {
		font-size: 58px;
	}

	.sp-hero-img {
		height: 430px;
	}

	.sp-title {
		font-size: 42px;
	}

	.sp-content h1 {
		font-size: 34px;
	}

	.sp-content h2 {
		font-size: 28px;
	}

	.sp-content h3 {
		font-size: 21px;
	}

	.sp-content p,
	.sp-content ul,
	.sp-content ol {
		font-size: 17px;
	}

	.sp-content blockquote,
	.sp-content blockquote p {
		font-size: 20px;
	}

	.arc-nav-older a,
	.arc-nav-newer a {
		font-size: 14px;
		padding: 11px 24px;
	}

	.srch-no-results-heading {
		font-size: 30px;
	}

	.srch-nav-older a,
	.srch-nav-newer a {
		font-size: 14px;
		padding: 11px 24px;
	}

	.ct-form-heading {
		font-size: 32px;
	}

	.ct-form-card {
		padding: 46px 50px;
	}

	.ct-main-grid {
		gap: 0 50px;
	}

	.ct-info-text {
		font-size: 15px;
	}

	.ct-intro {
		font-size: 15px;
	}

	.eq-form-card {
		padding: 46px 50px;
	}

	.eq-body {
		gap: 0 50px;
	}

	.eq-feature-text {
		font-size: 14px;
	}

	.eq-intro {
		font-size: 15px;
	}

	.ab-overlap-card {
		top: 26%;
	}

	.banner-image {
		height: 530px;
	}

	.walkthrough-btn {
		bottom: 30px;
		left: 40px;
	}

	.amenity-icon {
		width: 60px;
		height: 60px;
	}

	.amenity-label {
		font-size: 14px;
	}

	.new-floor-plan-outer .plan-image-area {
		padding: 10px;
		border: 5px solid #d4dddd;
	}

	.upcomingproject-section2 .ups2-heading {
		font-size: 40px;
	}

	.upcomingproject-section1 .ups1-viewport {
		height: 500px !important;
	}

	.upcomingproject-section3 .ups3-slider {
		height: 350px;
	}

	.upcomingproject-section3 .ups3-right {
		padding: 35px 70px;
	}

	.upcomingproject-section3 .ups3-spec {
		font-size: 15px;
	}

	.upcomingproject-section3 .ups3-title {
		font-size: 40px;
	}

	.upcomingproject-section3 .ups3-code {
		font-size: 35px;
	}

	.upcomingproject-section2 .ups2-text p {
		font-size: 15px;
	}

	.completedproject-section1 .cps1-heading {
		font-size: 40px;
	}

	.upcomingproject-section2 .ups2-text p,
	.completedproject-section1 .cps1-intro,
	.completedproject-section2 .cps2-desc,
	.completedproject-section2 .cps2-highlight,
	.completedproject-section1 .cps1-of,
	.completedproject-section1 .cps1-counter {
		font-size: 15px;
	}

	.contact-section1 .cs1-title {
		font-size: 40px;
	}

	.contact-section1 .cs1-intro,
	.contact-section1 .cs1-intro p,
	.contact-section1 .cs1-consent,
	.contact-section1 .cs1-office-text {
		font-size: 15px;
	}
	.proj-img-wrap,
	.proj-img-wrap img {
		height: 500px;
	}
}

@media (max-width: 1400px) {
	.about-left {
		flex: 0 0 52%;
		max-width: 52%;
		padding-right: 90px;
	}
}

@media (max-width: 1366px) {
	.info-box {
		width: 300px;
		height: 245px;
		bottom: -100px;
		padding: 15px;
	}

	.form-field {
		width: 250px;
	}

	.page-section1 {
		padding: 50px 0;
	}

	h1.title {
		padding-bottom: 25px;
	}

	.as2-cards {
		gap: 20px;
	}

	.as6-cards {
		gap: 20px;
	}

	.as5-outer {
		padding-top: 100px;
	}

	.sticky-btn-enquire {
		font-size: 12px;
		line-height: 1.1;
		height: 50px;
		padding: 12px 14px;
		min-width: 95px;
	}

	.as5-band {
		background-position: right -24% top 48%, center;
		background-size: 800px 800px, cover;
	}

	.ab-slider {
		height: 500px;
	}

	.banner-wrapper {
		padding-top: 39%;
	}

	.banner-image {
		height: 500px;
	}

	.walkthrough-btn {
		bottom: 30px;
		left: 30px;
	}

	.upcomingproject-section1 .ups1-viewport {
		height: 350px !important;
	}

	.upcomingproject-section3 .ups3-slider {
		height: 300px;
	}

	.upcomingproject-section3 .ups3-right {
		padding: 15px 50px;
	}

	.completedproject-section1 {
		padding: 50px 0;
	}

	.completedproject-section1 .cps1-slide img {
		height: 350px;
	}

	.completedproject-section2 {
		padding-top: 20px;
		padding-bottom: 50px;
	}

	.completedproject-section2 .cps2-inner {
		gap: 30px;
	}

	.completedproject-section2 .cps2-inner.cps2-slide-odd .cps2-text-cols {
		padding-right: 30px;
	}

	.completedproject-section2 .cps2-text-cols {
		gap: 30px;
	}

	.completedproject-section2 .cps2-inner.cps2-slide-even .cps2-text-cols {
		padding-left: 30px;
	}

	.contact-section1 .cs1-card {
		width: 65%;
		max-width: 100%;
	}
	.proj-img-wrap,
	.proj-img-wrap img {
		height: 400px;
	}


}

@media (max-width: 1280px) {
	.as5-text {
		flex: 0 0 52%;
		max-width: 52%;
	}

	.as5-deco {
		right: 180px;
		width: 400px;
		height: 400px;
	}

	.as5-person {
		right: 32px;
	}

	.project-section2 .container,
	.project-section3 .container,
	.project-section4 .container,
	.project-section5 .container,
	.project-section5b .container,
	.project-section6 .container,
	.project-section7 .container,
	.project-section8 .container,
	.project-section9 .container,
	.project-section10 .container,
	.project-section11 .container,
	.project-main-section1 .container,
	.project-section12 .container,
	.project-main-top-section .container,
	.contact-section2 .container {
		max-width: 90%;
		padding-left: 0;
		padding-right: 0;
	}

	.contact-section1 .container {
		max-width: 90%;
		padding: 0 50px 50px 30px;
	}

	.as5-band {
		background-position: right -40% top 48%, center;
		background-size: 800px 800px, cover;
	}

	.fp-sub-block-tabs {
		padding: 8px 10px;
	}

	.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
		flex: 0 0 380px;
	}

	.fp-unit-grid {
		grid-template-columns: repeat(2, auto);
	}

	.amenity-icon img {
		max-width: 70px;
		max-height: 70px;
	}

	.bl-section .container,
	.ct-section .container {
		max-width: 90%;
		padding: 0;
	}

	.eq-section .container {
		max-width: 90%;
		padding: 0;
	}
}

@media (max-width: 1200px) {
	.about-left {
		flex: 0 0 50%;
		max-width: 50%;
		padding-right: 60px;
	}

	.about-title {
		font-size: 38px;
	}

	.completedproject-section2 .cps2-inner {
		flex-direction: column;
	}

	/* Below 1200px always stack media on top, text-cols at the bottom,
	   regardless of the img-left / img-right side ordering. */
	.completedproject-section2 .cps2-img-left .cps2-media,
	.completedproject-section2 .cps2-img-right .cps2-media {
		order: 1;
	}

	.completedproject-section2 .cps2-img-left .cps2-text-cols,
	.completedproject-section2 .cps2-img-right .cps2-text-cols {
		order: 2;
	}

	.completedproject-section2 .cps2-media {
		max-width: 100%;
		width: 100%;
	}

	.completedproject-section2 .cps2-counter {
		width: 100%;
		justify-content: center;
	}

	.completedproject-section2 .cps2-inner.cps2-slide-odd .cps2-text-cols,
	.completedproject-section2 .cps2-inner.cps2-slide-even .cps2-text-cols {
		padding-right: 50px;
		padding-left: 50px;
	}

	.completedproject-section2 .cps2-slide-odd,
	.completedproject-section2 .cps2-slide-even {
		padding-top: 0;
	}


}

@media (max-width: 1199px) {
	.completedproject-section1 .cps1-slide img {
		height: 400px;
	}

	.completedproject-section2 .cps2-inner {
		gap: 35px;
	}

	.completedproject-section2 .cps2-media img {
		height: 380px;
	}

	.completedproject-section2 .cps2-heading {
		font-size: 32px;
	}
}

@media (max-width: 1100px) {
	.amenities-page {
		grid-template-columns: repeat(5, 1fr);
		gap: 44px 0;
	}

	/* Show 2 cards */
	.proj-card {
		flex: 0 0 calc((100% - 28px) / 2);
	}

	.project-main-section1 .proj-cards-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px;
	}

	.project-main-section1 .proj-card {
		flex: none;
		width: 100%;
	}

	.proj-logo-row img {
		max-width: 85%;
	}

	.proj-name {
		font-size: 22px;
	}

	.contact-inner {
		gap: 40px;
	}

	.contact-left {
		flex: 0 0 200px;
	}

	.contact-heading {
		font-size: 42px;
	}

	.form-grid {
		column-gap: 36px;
	}

	.as2-card {
		padding: 44px 32px 48px;
	}

	.as2-card-icon {
		top: 32px;
		right: 28px;
		width: 52px;
		height: 52px;
	}

	.as3-inner {
		grid-template-columns: 50% 50%;
		min-height: 0;
	}

	.as4-content {
		padding: 60px 56px 68px;
	}

	.as4-cols {
		gap: 0 40px;
	}

	.as6-card {
		padding: 36px 28px 44px;
	}

	.as6-icon {
		width: 60px;
		height: 60px;
		margin-bottom: 24px;
	}

	.as8-content {
		padding: 60px 56px 68px;
	}

	.as8-cols {
		gap: 0 48px;
	}

	.as10-content {
		padding: 60px 56px 52px;
		gap: 0 44px;
	}

	.as12-inner {
		grid-template-columns: 34% 66%;
	}

	.as12-header {
		padding: 24px 48px;
	}

	.as12-faqs {
		padding: 0 48px;
	}

	.bl-heading-row {
		padding-bottom: 70px;
	}

	.bl-row-img {
		flex: 0 0 30%;
		max-width: 30%;
		padding-left: 30px;
		/* was 50px */
	}

	.bl-row-body {
		padding: 24px 30px;
		/* was 30px 50px */
	}

	.bl-row-title {
		font-size: 28px;
		line-height: 1.3;
		/* was 36px */
	}

	.bl-row-excerpt {
		font-size: 16px;
		/* was 18px */
	}

	.bl-row-meta {
		padding: 35px 20px;
		/* was 50px 50px */
	}

	.bl-row-num {
		font-size: 55px;
		/* was 75px */
	}

	.bl-section {
		padding: 50px 0;
	}

	.sp-hero-img {
		height: 390px;
	}

	.sp-article-wrap {
		padding-top: 52px;
	}

	.sp-title {
		font-size: 38px;
	}

	.sp-content h1 {
		font-size: 32px;
	}

	.sp-content h2 {
		font-size: 26px;
	}

	.sp-content h3 {
		font-size: 20px;
	}

	.arc-nav {
		margin-top: 50px;
		padding-top: 30px;
	}

	.arc-nav-older a,
	.arc-nav-newer a {
		padding: 11px 22px;
	}

	.srch-section {
		padding: 80px 0;
	}

	.srch-nav {
		margin-top: 50px;
	}

	.srch-nav-older a,
	.srch-nav-newer a {
		padding: 11px 22px;
	}

	.srch-no-results-heading {
		font-size: 28px;
	}

	.ct-section {
		padding: 80px 0 100px;
	}

	.ct-main-grid {
		gap: 0 40px;
	}

	.ct-form-card {
		padding: 40px 42px;
	}

	.ct-form-heading {
		font-size: 28px;
	}

	.ct-form-sub {
		font-size: 14px;
		margin-bottom: 30px;
	}

	/* Unstick the form column on smaller screens */
	.ct-form-col {
		position: static;
	}

	.ct-info-icon {
		width: 46px;
		height: 46px;
	}

	.ct-map-wrap {
		height: 420px;
	}

	.eq-section {
		padding: 80px 0 100px;
	}

	.eq-body {
		gap: 0 40px;
	}

	.eq-form-card {
		padding: 40px 42px;
	}

	/* Unstick the form column on smaller screens */
	.eq-form-col {
		position: static;
	}

	.eq-feature-icon {
		width: 46px;
		height: 46px;
	}

	.page-template-template-signatureheightspage .fp-direction-icon {
		width: 60px;
	}

	.upcomingproject-section2 .ups2-heading,
	.completedproject-section1 .cps1-heading {
		font-size: 35px;
	}

	.contact-section2 {
		padding-bottom: 50px;
	}


}

@media (max-width: 1024px) {
	.about-inner {
		flex-direction: column;
	}

	.about-left {
		flex: none;
		max-width: 100%;
		width: 100%;
		padding-right: 0;
		align-self: auto;
	}

	.about-desc {
		flex: none;
	}

	.about-desc p {
		flex: none;
	}

	.btn-enquire {
		margin-top: 36px;
	}

	.about-right {
		width: 100%;
		margin-top: 44px;
	}

	.ab-slider {
		height: calc(100vh - 250px);
	}

	.ab-col-left {
		padding: 60px 60px 36px 40px;
	}

	.ab-headline {
		font-size: clamp(22px, 2.8vw, 38px);
	}

	h3.ab-headline {
		font-size: clamp(22px, 2.8vw, 38px);
	}

	.ab-nav-row {
		right: 24px;
		bottom: 20px;
		gap: 14px;
	}

	.as5-outer {
		padding-top: 0px;
	}

	.as5-band {
		padding: 52px 56px;
		min-height: 260px;
	}

	.as5-text {
		flex: 0 0 58%;
		max-width: 58%;
	}

	.as5-deco {
		right: 120px;
		width: 320px;
		height: 320px;
	}

	.as7-inner {
		gap: 0 48px;
	}

	.as7-panel {
		padding: 40px 40px 48px;
	}

	.info-box {
		width: 230px;
		height: 170px;
		bottom: -60px;
		padding: 15px;
	}

	.info-box img {
		max-width: 100px;
	}

	.project-section1 {
		padding-bottom: 60px;
	}

	.project-section2 {
		padding: 50px 0 50px;
	}

	.btn-enquire {
		margin-top: 30px;
	}

	.project-section2 .container,
	.project-section3 .container {
		padding-bottom: 50px;
	}

	.amenities-section {
		padding: 50px 0;
	}

	.project-section5 {
		padding: 50px 0;
	}

	.fp-heading-row {
		margin-bottom: 50px;
	}

	.nl-heading-row {
		margin-bottom: 50px;
	}

	.project-section5b {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.project-section7 {
		padding: 50px 0;
	}

	.spec-tabs {
		flex-wrap: wrap;
		gap: 15px;
		min-width: 0;
		justify-content: flex-start;
	}

	.project-section9 {
		padding-top: 0;
	}

	.project-section9 .container {
		padding-bottom: 50px;
	}

	.project-section10 .container {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.faq-question {
		padding: 20px 30px;
	}

	.faq-answer {
		padding: 0px 30px 30px 30px;
	}

	.faq-cat-btn {
		font-size: 15px;
	}

	.faq-cat-btn {
		padding: 20px 30px;
	}

	.project-section11 .container,
	.project-main-section1 .container {
		padding-top: 50px;
		padding-bottom: 110px;
	}

	.proj-heading {
		margin-bottom: 50px;
	}

	.project-section12 .container {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.contact-band {
		padding: 50px;
	}

	.contact-form-wrap .cf7-form-body {
		gap: 20px;
		flex-direction: column;
	}

	.cf7-submit-row {
		justify-content: flex-start;
	}

	.about-left-inner-bottom {
		padding-bottom: 0;
	}

	.as6-cards {
		gap: 20px;
		grid-template-columns: repeat(2, 1fr);
	}

	.about-section2 {
		padding: 50px 0;
	}

	.as2-cards {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.about-section4 {
		padding: 50px 0;
	}

	.about-section5 {
		padding-bottom: 50px;
	}

	.about-section6 {
		padding: 50px 0;
	}

	.about-section7 {
		padding: 50px 0;
	}

	.about-section8 {
		padding: 50px 0;
	}

	.about-section9 {
		padding: 50px 0 0;
	}

	.as9-nav-row {
		margin-top: 20px;
		margin-bottom: 50px;
		padding-bottom: 20px;

	}

	.about-section11 {
		padding: 50px 0;
	}

	.about-section12 {
		padding-bottom: 50px;
	}

	.as9-video-thumb {
		height: 160px;
	}

	.as5-person {
		right: 0;
		width: 400px;
	}

	.as5-band {
		background-position: right -40% top 48%, center;
		background-size: 600px 600px, cover;
	}

	.ab-col-left,
	.ab-col-right {
		width: 50%;
	}

	.ab-headline {
		font-size: 35px;
	}

	.ab-overlap-card {
		left: 55%;
	}

	.new-floor-plan-outer .block-list {
		flex: 0 0 100%;
	}

	.new-floor-plan-outer .block-selector {
		flex: 0 0 250px;
	}

	.upcomingproject-section2 .ups2-wrap {
		gap: 50px;
	}

	.completedproject-section1 .cps1-head-left,
	.completedproject-section1 .cps1-head-right {
		width: 100%;
		flex: 0;
	}

	.completedproject-section1 .cps1-head {
		gap: 20px;
		flex-direction: column;
	}

	.completedproject-section1 .container,
	.completedproject-section2 .container {
		max-width: 90%;
	}

}

@media (max-width: 991px) {
	.upcomingproject-section2 .ups2-wrap {
		flex-direction: column;
		gap: 20px;
		align-items: flex-start;
	}

	.upcomingproject-section2 .ups2-col-left,
	.upcomingproject-section2 .ups2-col-right {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.upcomingproject-section2 .ups2-col-left {
		padding-bottom: 0;
	}

	.upcomingproject-section2 .ups2-heading {
		font-size: 30px;
	}

	.upcomingproject-section3 .ups3-wrap {
		flex-direction: column;
	}

	.upcomingproject-section3 .ups3-left,
	.upcomingproject-section3 .ups3-right {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.upcomingproject-section3 .ups3-title {
		font-size: 34px;
	}

	.upcomingproject-section3 .ups3-code {
		font-size: 28px;
	}

	.upcomingproject-section3 .ups3-side-tab {
		display: none;
	}

	.completedproject-section1 {
		padding: 60px 0;
	}

	.completedproject-section1 .cps1-head {
		gap: 30px;
		margin-bottom: 36px;
	}

	.completedproject-section1 .cps1-heading {
		font-size: 30px;
	}

	.completedproject-section1 .cps1-slide img {
		height: 320px;
	}

	.completedproject-section1 .cps1-controls {
		gap: 14px;
		padding: 20px 32px;
	}

	.completedproject-section1 .cps1-arrows {
		gap: 34px;
	}

	.completedproject-section1 .cps1-counter {
		font-size: 22px;
	}

	.completedproject-section2 .cps2-inner {
		flex-wrap: wrap;
	}

	/* Image spans full width on top; text columns sit below side by side */
	.completedproject-section2 .cps2-img-left .cps2-media,
	.completedproject-section2 .cps2-img-right .cps2-media {
		order: 1;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.completedproject-section2 .cps2-img-left .cps2-text-cols,
	.completedproject-section2 .cps2-img-right .cps2-text-cols {
		order: 2;
		flex: 1 1 100%;
	}

	.completedproject-section2 .cps2-intro-col,
	.completedproject-section2 .cps2-info-col {
		flex: 1 1 280px;
	}

	.completedproject-section2 .cps2-media img {
		height: 340px;
	}

	.completedproject-section2 .cps2-name-row {
		margin-bottom: 22px;
	}

	.completedproject-section2 .cps2-heading {
		font-size: 30px;
		margin-bottom: 20px;
	}
}

@media (max-width: 960px) {
	.nl-sidebar {
		flex: 0 0 300px;
		padding-top: 100px;
		padding-left: 50px;
		padding-right: 50px;
		padding-bottom: 100px;
	}

	.as5-band {
		background-position: right -55% top 48%, center;
		background-size: 600px 600px, cover;
	}
}

@media (max-width: 920px) {
	.new-floor-plan-outer .block-selector {
		flex: 0 0 360px;
	}

	.new-floor-plan-outer .block-btn {
		font-size: 12px;
		padding: 15px 15px 15px 15px;
	}

	.new-floor-plan-outer .plan-image-area {
		padding: 15px;
	}

	.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
		flex: none;
		width: 100%;
		padding: 20px;
		overflow: visible;
		height: auto;
	}

	.page-template-template-signatureheightspage .fp-sub-panel {
		height: auto;
		flex: none;
		overflow: visible;
	}

	.page-template-template-signatureheightspage .fp-inner-slider {
		height: auto;
		flex: none;
		overflow: visible;
	}

	.page-template-template-signatureheightspage .fp-inner-slide {
		height: auto;
		flex: none;
		overflow: visible;
	}

	.page-template-template-signatureheightspage .fp-sub-content {
		height: auto;
		flex: none;
		overflow: visible;
	}

	.page-template-template-signatureheightspage .fp-tabs-group {
		width: 100%;
	}

	.page-template-template-signatureheightspage .fp-sub-block-tabs {
		padding: 8px 20px;
	}

	.page-template-template-signatureheightspage .fp-sub-btn {
		padding: 10px 30px;
		font-size: 18px;
	}

	.fp-unit-grid {
		grid-template-columns: repeat(2, auto);
	}
}

@media (max-width: 900px) {
	.banner-wrapper {
		padding-top: 56%;
	}

	.info-box {
		min-width: 220px;
		padding: 20px 22px 24px 22px;
	}

	.logo-text-premier {
		font-size: 30px;
	}

	.walkthrough-btn {
		bottom: 18px;
		left: 20px;
	}

	.walkthrough-label {
		font-size: 13px;
	}

	.play-circle {
		width: 40px;
		height: 40px;
	}

	.play-icon {
		border-top-width: 8px;
		border-bottom-width: 8px;
		border-left-width: 14px;
	}

	.gallery-header {
		padding: 0px;
	}

	.slide {
		flex: 0 0 82%;
	}

	.fp-body {
		flex-direction: column;
	}

	.fp-sidebar {
		flex: none;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		padding: 20px 16px;
		gap: 8px;
	}

	.fp-bhk-label {
		width: 100%;
		text-align: center;
		margin-bottom: 4px;
	}

	.fp-type-btn {
		width: auto;
		padding: 8px 16px;
	}

	.fp-type-pane {
		flex-direction: column;
	}

	.fp-plan-image-wrap {
		border: none;
	}

	.new-floor-plan-outer .block-selector {
		flex: none;
		width: 100%;
		height: auto;
		overflow: visible;
	}

	.nl-sidebar {
		flex: none;
		flex-direction: row;
		flex-wrap: wrap;
		padding: 12px 8px;
		gap: 0;
	}

	.brand-item {
		padding: 0 32px;
	}

	.brand-logo {
		height: 36px;
	}

	.contact-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
		padding: 0;
		box-sizing: border-box;
		width: 100%;
	}

	.contact-left {
		flex: none;
	}

	.contact-heading {
		font-size: 48px;
	}

	.contact-form-wrap {
		width: 100%;
		box-sizing: border-box;
	}

	.contact-submit-wrap {
		width: 100%;
	}

	.contact-submit {
		width: 100%;
		text-align: center;
	}

	.proj-img-wrap {
		height: 400px;
	}

	.about-section2 {
		padding: 80px 0 90px;
	}

	.as2-cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.as2-card {
		padding: 44px 36px 48px;
	}

	.as2-card-title {
		max-width: 70%;
	}

	.as3-inner {
		grid-template-columns: 1fr;
	}

	.as3-right {
		min-height: 280px;
		max-height: 480px;
	}

	.as3-left {
		padding: 0;
	}

	.as3-item-text {
		max-width: 100%;
	}

	.as4-content {
		padding: 52px 40px 60px;
	}

	.as4-cols {
		grid-template-columns: 1fr;
		gap: 28px 0;
	}

	.as4-col-divider {
		height: 1px;
		width: 100%;
		align-self: auto;
	}

	.as4-title {
		margin-bottom: 36px;
	}

	/* Stack: person above, text below */
	.as5-outer {
		padding-top: 0;
	}

	.as5-band {
		padding: 48px 40px 52px;
		min-height: unset;
	}

	.as5-text {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.as5-desc,
	.as5-desc p {
		max-width: 100%;
	}

	.as5-person {
		position: relative;
		right: auto;
		bottom: auto;
		max-height: 420px;
		width: 100%;
		overflow: hidden;
	}

	.as5-deco {
		right: -60px;
		width: 260px;
		height: 260px;
	}

	/* Reorder: image first, band second */
	.as5-outer {
		display: flex;
		flex-direction: column-reverse;
	}

	.as6-cards {
		grid-template-columns: repeat(2, 1fr);
	}

	.as7-inner {
		grid-template-columns: 1fr;
		gap: 56px 0;
	}

	.as7-tl-nodes {
		justify-content: space-around;
	}

	.as8-content {
		padding: 52px 40px 60px;
	}

	.as8-cols {
		grid-template-columns: 1fr;
		gap: 24px 0;
	}

	.as8-image-wrap img {
		max-height: 55vw;
	}

	.as9-video-item {
		flex: 0 0 calc((100% - 20px) / 2);
	}

	.as9-heading-row {
		gap: 16px;
	}

	.as10-content {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 52px 40px 48px;
	}

	.as10-divider {
		height: 1px;
		margin: 32px 0;
		align-self: auto;
	}

	.as10-image img {
		max-height: 55vw;
	}

	.as11-cols {
		grid-template-columns: 1fr;
	}

	.as11-col {
		padding: 40px 0px;
		border-right: none !important;
		border-bottom: 1px solid #d0c9c0;
	}

	.as11-col:last-child {
		border-bottom: none;
	}

	.as12-inner {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.as12-left {
		height: 280px;
	}

	.as12-building-svg {
		width: 55%;
		left: 50%;
		transform: translateX(-50%);
		height: 100%;
	}

	.as12-header {
		padding: 22px 36px;
	}

	.as12-faqs {
		padding: 0px 20px;
	}

	.as12-faq-q {
		padding: 22px 0;
	}

	.slider-nav {
		bottom: 15px;
		right: 160px;
	}

	.about-title,
	.gallery-heading,
	.amenities-heading,
	.as2-title,
	.as4-title,
	.as5-title,
	.as6-header-title,
	.as7-title {
		font-size: 35px;
	}

	.fp-sidebar {
		justify-content: flex-start;
	}

	.contact-heading {
		font-size: 40px;
	}

	.ab-headline {
		font-size: 40px;
	}

	h3.ab-headline {
		font-size: 40px;
	}

	.as5-person {
		width: 250px;
	}

	.as5-person img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: top center;
	}

	.as12-left {
		display: none;
	}

	.as5-outer {
		padding-top: 0;
	}

	.as12-inner {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.bl-section {
		padding: 50px 0 70px;
	}

	.bl-heading-row {
		padding-bottom: 50px;
	}

	.bl-heading {
		font-size: 38px;
	}

	.bl-row {
		min-height: 200px;
		/* was 260px */
	}

	.bl-row-img {
		flex: 0 0 28%;
		max-width: 28%;
		padding-left: 15px;
		/* was 30px */
	}

	.bl-row-body {
		padding: 20px 22px;
		gap: 8px;
	}

	.bl-row-title {
		font-size: 22px;
		/* was 28px */
		line-height: 1.4;
	}

	.bl-row-excerpt {
		font-size: 15px;
	}

	.bl-row-meta {
		padding: 20px 10px;

	}

	.bl-row-date-col {
		padding: 16px 14px;
		min-width: 90px;
	}

	.bl-row-num-col {
		padding: 16px 14px;
		min-width: 76px;
	}

	.bl-row-num {
		font-size: 48px;
	}

	.sp-hero-img {
		height: 340px;
	}

	.sp-article-wrap {
		padding-top: 44px;
	}

	.sp-title {
		font-size: 34px;
	}

	.sp-title-rule {
		margin-bottom: 34px;
	}

	.sp-content h1 {
		font-size: 30px;
	}

	.sp-content h2 {
		font-size: 24px;
		margin: 40px 0 14px;
	}

	.sp-content h3 {
		font-size: 19px;
	}

	.sp-content p,
	.sp-content ul,
	.sp-content ol {
		font-size: 16px;
	}

	.sp-content blockquote,
	.sp-content blockquote p {
		font-size: 19px;
		padding: 20px 26px;
	}

	.sp-nav-title {
		font-size: 18px;
	}

	.new-floor-plan-outer .section-header {
		align-items: flex-start;
		gap: 30px;
		flex-direction: column;
	}

	.new-floor-plan-outer .plan-card {
		flex-direction: column;
	}

	.page-template-template-signatureheightspage .fp-sub-btn {
		padding: 10px 30px;
		font-size: 12px;
	}

	.fp-unit-grid {
		grid-template-columns: repeat(3, auto);
	}

	.arc-nav {
		margin-top: 42px;
	}

	.arc-label {
		font-size: 11px;
	}

	.arc-nav-older a,
	.arc-nav-newer a {
		font-size: 13px;
		padding: 10px 18px;
		gap: 8px;
	}

	.arc-nav-arrow {
		font-size: 16px;
	}

	.srch-section {
		padding: 60px 0;
	}

	.srch-label {
		font-size: 11px;
	}

	.srch-count {
		font-size: 13px;
	}

	.srch-nav {
		margin-top: 42px;
	}

	.srch-nav-older a,
	.srch-nav-newer a {
		font-size: 13px;
		padding: 10px 18px;
	}

	.srch-nav-arrow {
		font-size: 16px;
	}

	.srch-no-results-heading {
		font-size: 26px;
	}

	.srch-no-results-text {
		font-size: 15px;
	}

	.srch-no-results-icon svg {
		width: 46px;
		height: 46px;
	}

	.ct-section {
		padding: 60px 0 80px;
	}

	/* Stack to single column */
	.ct-main-grid {
		grid-template-columns: 1fr;
		gap: 60px 0;
	}

	.ct-form-heading {
		font-size: 26px;
	}

	.ct-intro {
		margin-bottom: 28px;
	}

	.ct-map-wrap {
		height: 380px;
	}

	.eq-section {
		padding: 60px 0 80px;
	}

	.eq-body {
		grid-template-columns: 1fr;
		gap: 60px 0;
	}

	.eq-intro {
		margin-bottom: 28px;
	}
}

@media (max-width: 900px) and (min-width: 501px) {
	.faq-body {
		grid-template-columns: 260px 1fr;
	}
}

@media (max-width: 768px) {
	.about-section {
		padding: 48px 0 40px;
	}

	.about-title {
		font-size: 32px;
	}

	.about-desc p {
		font-size: 13.5px;
	}

	.amenities-section {
		padding: 48px 32px 64px;
	}

	.amenities-heading {
		font-size: 38px;
	}

	.amenities-page {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px 0;
	}

	/* Show 2 cards per slide on tablet */
	.wwb-slide {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	/* Hide 3rd card on tablet */
	.wwb-slide .video-card:nth-child(3) {
		display: none;
	}

	.ab-slider {
		height: auto;
		overflow: visible;
	}

	.ab-slide {
		position: relative;
		inset: auto;
		flex-direction: column;
		height: auto;
		display: none;
		opacity: 1;
		pointer-events: none;
	}

	.ab-slide.active {
		display: flex;
		pointer-events: all;
	}

	.ab-slide.leave {
		display: none;
	}

	.ab-col-right {
		position: relative;
		width: 100%;
		height: 56vw;
		min-height: 200px;
		max-height: 320px;
		clip-path: none !important;
		transition: none !important;
		order: 0;
	}

	.ab-col-right .ab-right-img {
		transform: none !important;
		transition: none !important;
	}

	.ab-nav-row {
		position: absolute;
		bottom: 12px;
		right: 16px;
		gap: 10px;
		z-index: 10;
	}

	.ab-dot {
		background: rgba(255, 255, 255, .5);
		width: 18px;
	}

	.ab-dot.active {
		background: #ffffff;
		width: 30px;
	}

	.ab-arr-btn {
		width: 32px;
		height: 32px;
	}

	.ab-counter {
		font-size: 11px;
	}

	.ab-counter strong {
		font-size: 16px;
	}

	.ab-mobile-content {
		position: relative;
		z-index: 1;
		background: #ffffff;
		padding: 28px 0px 36px 0px;
		display: flex;
		flex-direction: column;
		gap: 10px;
		order: 1;
	}

	.ab-mobile-content .ab-eyebrow {
		color: #6b6056;
		font-size: 9px;
		letter-spacing: .32em;
	}

	.ab-mobile-content .ab-headline {
		font-family: "Instrument Serif", serif;
		font-size: clamp(26px, 7vw, 38px);
		font-weight: 300;
		line-height: 1.18;
		color: #2c2925;
		transform: none !important;
		transition: none !important;
		overflow: visible;
	}

	.ab-mobile-content .ab-headline::after {
		display: none;
	}

	.ab-mobile-content .ab-headline em {
		color: #7c6a52;
		font-style: italic;
	}

	.ab-col-left {
		display: none;
	}

	.ab-overlap-card {
		display: none;
	}

	.ab-col-right,
	.ab-left-img,
	.ab-headline,
	.ab-headline::after,
	.ab-overlap-card,
	.ab-overlap-card p::after {
		transform: none !important;
		clip-path: none !important;
		transition: none !important;
	}

	.info-box {
		right: 50px;
	}

	.fp-plan-placeholder {
		padding: 30px;
	}

	.nl-sidebar {
		flex: 0 0 250px;
		padding-top: 50px;
		padding-left: 30px;
		padding-right: 30px;
		padding-bottom: 50px;
	}

	.nl-tab {
		font-size: 15px;
	}

	.spec-card {
		padding: 50px;
	}

	.amenity-card {
		align-items: center;
	}

	.fp-heading,
	.nl-heading,
	.brands-heading,
	.spec-heading,
	.wwb-heading,
	.faq-heading,
	.proj-heading {
		font-size: 25px;
	}

	.ab-col-right {
		width: 100%;
	}

	.bl-heading-row {
		padding-bottom: 40px;
	}

	.bl-heading {
		font-size: 32px;
	}

	.bl-row {
		min-height: 160px;
	}

	.bl-row-img {
		padding-left: 20px;
	}

	.bl-row-body {
		padding: 16px 18px;
	}

	.bl-row-title {
		font-size: 18px;
	}

	.bl-row-excerpt {
		font-size: 14px;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.bl-row-more {
		font-size: 13px;
	}

	.bl-row-more span {
		font-size: 18px;
	}

	.bl-row-meta {
		padding: 12px 8px;

	}

	.bl-row-date-col {
		min-width: 80px;
		padding: 10px 8px;
	}

	.bl-row-date {
		font-size: 13px;
	}

	.bl-row-loc {
		font-size: 13px;
	}

	.bl-row-num-col {
		padding: 10px 10px;
		min-width: 60px;
	}

	.bl-row-num {
		font-size: 40px;
	}

	.sp-section {
		padding-bottom: 80px;
	}

	.sp-hero-img {
		height: 290px;
	}

	.sp-article-wrap {
		padding-top: 36px;
	}

	.sp-title {
		font-size: 28px;
		margin-bottom: 18px;
	}

	.sp-title-rule {
		width: 44px;
		margin-bottom: 28px;
	}

	.sp-content {
		font-size: 16px;
		line-height: 1.8;
	}

	.sp-content h1 {
		font-size: 26px;
		margin: 40px 0 14px;
	}

	.sp-content h2 {
		font-size: 22px;
		margin: 36px 0 12px;
	}

	.sp-content h3 {
		font-size: 18px;
		margin: 30px 0 10px;
	}

	.sp-content h4 {
		font-size: 16px;
		margin: 26px 0 8px;
	}

	.sp-content h5,
	.sp-content h6 {
		margin: 20px 0 7px;
	}

	.sp-content p,
	.sp-content ul,
	.sp-content ol {
		font-size: 16px;
	}

	.sp-content blockquote,
	.sp-content blockquote p {
		font-size: 17px;
		padding: 18px 22px;
	}

	/* Float images become block on tablet */
	.sp-content .alignleft,
	.sp-content .alignright {
		float: none;
		display: block;
		margin: 24px auto;
	}

	.sp-content pre {
		padding: 18px 20px;
		font-size: 13px;
	}

	.sp-post-nav {
		gap: 16px;
		margin-top: 48px;
		padding-top: 30px;
	}

	.sp-nav-title {
		font-size: 16px;
	}

	.sp-tags {
		margin-top: 40px;
		padding-top: 24px;
	}

	.arc-nav {
		margin-top: 36px;
		padding-top: 24px;
	}

	.arc-nav-older a,
	.arc-nav-newer a {
		font-size: 13px;
		padding: 9px 16px;
	}

	.srch-section {
		padding: 50px 0;
	}

	.srch-nav {
		margin-top: 36px;
		padding-top: 28px;
	}

	.srch-nav-older a,
	.srch-nav-newer a {
		font-size: 13px;
		padding: 9px 16px;
	}

	.srch-label {
		font-size: 11px;
	}

	.srch-count {
		font-size: 13px;
	}

	.srch-no-results {
		padding: 36px 16px 24px;
		gap: 22px;
	}

	.srch-no-results-heading {
		font-size: 24px;
	}

	.srch-no-results-text {
		font-size: 14px;
	}

	.srch-type-badge {
		font-size: 10px;
	}

	.ct-section {
		padding: 50px 0 70px;
	}

	.ct-form-card {
		padding: 36px 36px;
	}

	.ct-form-heading {
		font-size: 24px;
	}

	.ct-form-sub {
		font-size: 13px;
		margin-bottom: 24px;
	}

	.ct-info-card {
		padding: 24px 0;
		gap: 16px;
	}

	.ct-info-icon {
		width: 44px;
		height: 44px;
	}

	.ct-info-icon svg {
		width: 20px;
		height: 20px;
	}

	.ct-info-text {
		font-size: 14px;
	}

	.ct-map-wrap {
		height: 320px;
	}

	.eq-section {
		padding: 50px 0 70px;
	}

	.eq-form-card {
		padding: 36px 36px;
	}

	.eq-feature {
		padding: 24px 0;
		gap: 16px;
	}

	.eq-feature-icon {
		width: 44px;
		height: 44px;
	}

	.eq-feature-icon svg {
		width: 20px;
		height: 20px;
	}

	.eq-feature-text {
		font-size: 13px;
	}

	.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
		flex: 1;
	}

	.upcomingproject-section2 .ups2-text p {
		font-size: 14px;
	}

	.upcomingproject-section2 .ups2-wrap {
		gap: 30px;
	}

	.upcomingproject-section3 .ups3-title {
		font-size: 35px;
	}

	.upcomingproject-section3 .ups3-code {
		font-size: 30px;
	}

	.completedproject-section1 .cps1-intro {
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.upcomingproject-section1 .ups1-controls {
		padding: 16px 24px;
		gap: 10px;
	}

	.upcomingproject-section1 .ups1-arrows {
		gap: 22px;
	}

	.completedproject-section1 {
		padding: 44px 0;
	}

	.completedproject-section1 .cps1-head {
		flex-direction: column;
		gap: 18px;
		margin-bottom: 28px;
	}

	.completedproject-section1 .cps1-head-left,
	.completedproject-section1 .cps1-head-right {
		flex: 1 1 100%;
		width: 100%;
	}

	.completedproject-section1 .cps1-heading,
	.upcomingproject-section2 .ups2-heading {
		font-size: 30px;
	}

	.completedproject-section1 .cps1-underline {
		margin-top: 16px;
	}

	.completedproject-section1 .cps1-slide img {
		height: 220px;
	}

	.completedproject-section1 .cps1-controls {
		gap: 12px;
		padding: 16px 24px;
	}

	.completedproject-section1 .cps1-arrows {
		gap: 28px;
	}

	.completedproject-section1 .cps1-arrow {
		width: 28px;
		height: 28px;
	}

	.completedproject-section1 .cps1-arrow svg {
		width: 22px;
		height: 22px;
	}

	.completedproject-section1 .cps1-counter {
		font-size: 20px;
		gap: 10px;
	}

	.completedproject-section1 .cps1-sep {
		width: 16px;
	}

	.completedproject-section2 {
		padding: 40px 0;
	}

	.completedproject-section2 .cps2-inner {
		flex-direction: column;
		gap: 28px;
	}

	.completedproject-section2 .cps2-text-cols {
		flex-direction: column;
		gap: 28px;
	}

	.completedproject-section2 .cps2-intro-col,
	.completedproject-section2 .cps2-info-col {
		flex: 1 1 100%;
		width: 100%;
	}

	.completedproject-section2 .cps2-media img {
		height: 240px;
	}

	.completedproject-section2 .cps2-arrow {
		width: 38px;
		height: 38px;
	}

	.completedproject-section2 .cps2-heading {
		font-size: 26px;
	}

	.completedproject-section2 .cps2-name {
		font-size: 15px;
		letter-spacing: 1.5px;
	}

	.completedproject-section2 .cps2-desc {
		font-size: 15px;
	}

}

@media (max-width: 700px) {
	.new-floor-plan-outer .section-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.new-floor-plan-outer .plan-card {
		flex-direction: column;
	}

	.new-floor-plan-outer .plan-image-area {
		min-height: 400px;
		padding: 14px;
	}

	.new-floor-plan-outer .block-selector {
		flex: none;
		width: 100%;
		border-left: none;
		min-height: 200px;
	}

	.new-floor-plan-outer .main-tab-btn {
		padding: 10px 20px;
	}

	.new-floor-plan-outer .block-btn {
		min-height: 40px;
		font-size: 12px;
	}

	.new-floor-plan-outer .block-detail-col {
		padding: 24px 20px;
		gap: 18px;
	}

	.new-floor-plan-outer .detail-line-value {
		font-size: 17px;
	}

	.new-floor-plan-outer .detail-line-value.sqft {
		font-size: 22px;
	}

	.page-template-template-signatureheightspage .fp-tabs-group {
		flex-direction: column;
		width: 100%;
		gap: 10px;
	}

	.page-template-template-signatureheightspage .fp-sub-block-tabs {
		padding: 8px 15px;
		gap: 8px;
		flex-wrap: wrap;
	}

	.page-template-template-signatureheightspage .fp-sub-btn {
		padding: 8px 20px;
		font-size: 16px;
		flex: 1;
		text-align: center;
	}

	.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
		padding: 16px;
		overflow: visible;
		height: auto;
	}

	.fp-facing-label {
		font-size: 15px;
		padding: 8px 14px;
	}

	.fp-facing-bhk {
		font-size: 15px;
		padding: 8px 12px;
	}

	.fp-unit-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}

	.fp-unit-btn {
		padding: 8px 12px;
		font-size: 13px;
		white-space: normal;
	}

	.fp-block-nav {
		font-size: 13px;
		margin-top: 16px;
	}

	.proj-heading-row {
		gap: 16px;
	}

	/* Show 1 card */
	.proj-card {
		flex: 0 0 100%;
	}

	.proj-track {
		gap: 20px;
	}

	.project-main-section1 .proj-cards-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.project-main-section1 .proj-card {
		flex: none;
	}

	.proj-img-wrap {
		aspect-ratio: 4 / 3.5;
	}

	.info-unit {
		font-size: 13px;
	}

	.form-grid {
		grid-template-columns: 1fr;
		column-gap: 0px;
		row-gap: 10px;
	}

	.form-field {
		width: 100%;
	}
}

@media (max-width: 600px) {
	.banner-wrapper {
		padding-top: 72%;
	}

	.info-box {
		min-width: 160px;
		max-width: 200px;
		padding: 14px 14px 18px 14px;
	}

	.logo-ornament svg {
		width: 30px;
		height: 30px;
	}

	.logo-text-signature {
		font-size: 10px;
		letter-spacing: 2px;
	}

	.logo-text-premier {
		font-size: 22px;
	}

	.logo-text-luxury {
		font-size: 7px;
		letter-spacing: 2.5px;
		margin-bottom: 12px;
	}

	.info-unit {
		font-size: 8.5px;
		letter-spacing: 1.5px;
	}

	.walkthrough-btn {
		bottom: 12px;
		left: 12px;
		gap: 10px;
	}

	.walkthrough-label {
		font-size: 11px;
	}

	.play-circle {
		width: 34px;
		height: 34px;
	}

	.play-icon {
		border-top-width: 7px;
		border-bottom-width: 7px;
		border-left-width: 12px;
		margin-left: 3px;
	}

	.gallery-section {
		padding: 0px;
	}

	.tab-btn {
		padding: 8px 14px;
		font-size: 12px;
	}

	.slide {
		flex: 0 0 88%;
	}

	.slider-nav {
		padding-right: 20px;
	}

	.contact-inner {
		padding: 0;
		gap: 28px;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
	}

	.contact-heading {
		font-size: 38px;
	}

	.form-grid {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
		width: 100%;
		box-sizing: border-box;
	}

	.contact-form-wrap,
	.contact-form-wrap .wpcf7,
	.contact-form-wrap .wpcf7-form {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-width: 0;
	}

	.contact-form-wrap .wpcf7-form-control:not([type="submit"]) {
		font-size: 16px;
		max-width: 100%;
		box-sizing: border-box;
	}

	.contact-form-wrap .wpcf7-submit,
	.contact-form-wrap input[type="submit"] {
		width: 100%;
		box-sizing: border-box;
	}

	.ab-eyebrow {
		margin-bottom: 0;
	}

	.about-section2 {
		padding: 20px 0 70px;
	}

	.as2-heading-row {
		gap: 16px;
		margin-bottom: 20px;
	}

	.as2-desc {
		margin-bottom: 40px;
	}

	.as2-card {
		padding: 36px 28px 40px;
	}

	.as2-card-title {
		max-width: 65%;
		font-size: clamp(30px, 8vw, 44px);
	}

	.as2-card-icon {
		top: 28px;
		right: 24px;
		width: 44px;
		height: 44px;
	}

	.as3-item {
		gap: 20px;
		padding: 32px 0;
	}

	.as3-icon {
		width: 54px;
		height: 54px;
	}

	.as3-icon img {
		max-width: 100%;
	}

	.as3-right {
		min-height: 0;
		max-height: 480px;
	}

	.as4-content {
		padding: 40px 24px 48px;
	}

	.as4-cols {
		gap: 24px 0;
	}

	.as5-band {
		padding: 40px 24px 48px;
	}

	.as5-person {
		height: auto;
	}

	.about-section6 {
		padding: 70px 0;
	}

	.as6-header {
		padding: 24px 24px;
	}

	.as6-cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.as6-card {
		padding: 36px 24px 40px;
	}

	.about-section7 {
		padding: 70px 0;
	}

	.as7-panel {
		padding: 36px 24px 44px;
	}

	.as7-tl-label {
		font-size: clamp(10px, 3vw, 12px);
	}

	.about-section8 {
		padding: 70px 0;
	}

	.as8-content {
		padding: 40px 24px 48px;
	}

	.as8-image-wrap img {
		max-height: 64vw;
	}

	.about-section9 {
		padding: 70px 0 0;
	}

	.as9-video-item {
		flex: 0 0 100%;
	}

	.as9-title {
		font-size: clamp(20px, 6vw, 28px);
	}

	.as9-desc-wrap {
		margin-bottom: 36px;
	}

	.as10-content {
		padding: 40px 24px 36px;
	}

	.as10-image img {
		max-height: 64vw;
	}

	.as11-col {
		padding: 30px 0px;
		gap: 16px;
	}

	.as12-left {
		height: 220px;
	}

	.as12-header {
		padding: 20px 24px;
	}

	.as12-faq-q {
		padding: 18px 0;
		gap: 16px;
	}

	.as12-faq-q-text {
		font-size: 14px;
	}

	.info-box {
		right: 50px;
		height: 190px;
	}

	.contact-band {
		padding: 30px 20px;
		overflow-x: hidden;
	}

	.project-section12 {
		overflow-x: hidden !important;
	}

	.project-section12 .container {
		width: 100% !important;
		box-sizing: border-box !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.cf7-submit-row {
		justify-content: end;
	}

	.wpcf7-spinner {
		position: absolute;
		right: 0;
	}

	.bl-section {
		padding: 36px 0 50px;
	}

	.bl-heading-row {
		padding-bottom: 30px;
		gap: 12px;
	}

	.bl-heading {
		font-size: 26px;
	}

	.bl-row {
		flex-wrap: wrap;
		min-height: auto;
		/* remove fixed height in stacked layout */
	}


	.bl-row-img {
		flex: 0 0 100%;
		max-width: 100%;
		padding-left: 0;

	}

	.bl-row-img img {
		height: 220px;
		min-height: 220px;
	}


	.bl-row-body {
		flex: 1;
		max-width: 100%;

		min-width: 0;
		padding: 16px 16px 12px;
		order: 2;
	}

	.bl-row-title {
		font-size: 15px;
		line-height: 1.3;
	}

	.bl-row-excerpt {
		font-size: 13px;
		-webkit-line-clamp: 3;
	}

	.bl-row-more {
		font-size: 13px;
	}

	.bl-row-more span {
		font-size: 16px;
	}


	.bl-row-vsep {
		display: none;
	}


	.bl-row-meta {
		order: 3;
		flex: 0 0 100%;
		max-width: 100%;

		border-left: none;
		border-top: 1px solid rgba(229, 224, 219, 0.3);
		justify-content: flex-end;
		min-height: 48px;
		padding: 6px 16px;
		/* was 50px 50px */
	}

	.bl-row-date-col {
		flex-direction: row;
		gap: 10px;
		align-items: center;
		justify-content: flex-end;
		min-width: 0;
		padding: 8px 10px;
	}

	.bl-row-date {
		font-size: 12px;
	}

	.bl-row-loc {
		font-size: 12px;
	}

	.bl-row-num-col {
		flex-direction: row;
		align-items: center;
		min-width: 55px;
		padding: 8px 12px;
	}

	.bl-row-num {
		font-size: 28px;
	}

	.sp-section {
		padding-bottom: 60px;
	}

	.sp-hero-img {
		height: 230px;
	}

	.sp-article-wrap {
		padding-top: 28px;
	}

	.sp-title {
		font-size: 24px;
		line-height: 1.2;
		margin-bottom: 14px;
	}

	.sp-title-rule {
		width: 36px;
		margin-bottom: 22px;
	}

	.sp-meta-bar {
		gap: 7px 12px;
		margin-bottom: 20px;
	}

	.sp-meta-date,
	.sp-meta-author {
		font-size: 13px;
	}

	.sp-content {
		font-size: 15px;
	}

	.sp-content h1 {
		font-size: 22px;
		margin: 34px 0 12px;
	}

	.sp-content h2 {
		font-size: 19px;
		margin: 30px 0 10px;
	}

	.sp-content h3 {
		font-size: 17px;
		margin: 26px 0 8px;
	}

	.sp-content h4 {
		font-size: 15px;
	}

	.sp-content p,
	.sp-content ul,
	.sp-content ol {
		font-size: 15px;
		line-height: 1.75;
	}

	.sp-content blockquote,
	.sp-content blockquote p {
		font-size: 16px;
		padding: 16px 18px;
	}

	.sp-content table {
		font-size: 14px;
	}

	.sp-content thead th,
	.sp-content tbody td {
		padding: 9px 12px;
	}

	/* Stack prev/next vertically */
	.sp-post-nav {
		flex-direction: column;
		gap: 24px;
		margin-top: 40px;
		padding-top: 24px;
	}

	.sp-post-nav-next {
		text-align: left;
	}

	.sp-nav-title {
		font-size: 15px;
	}

	.sp-tags {
		margin-top: 34px;
		padding-top: 20px;
	}

	.arc-heading-wrap {
		gap: 4px;
	}

	.arc-label {
		font-size: 11px;
		letter-spacing: 0.8px;
	}

	/* Stack older/newer links on small screens */
	.arc-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		margin-top: 30px;
		padding-top: 20px;
	}

	.arc-nav-older a,
	.arc-nav-newer a {
		display: flex;
		justify-content: center;
		font-size: 13px;
		padding: 12px 16px;
	}

	.srch-section {
		padding: 36px 0 50px;
	}

	.srch-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.srch-nav-older a,
	.srch-nav-newer a {
		display: flex;
		justify-content: center;
		padding: 12px 16px;
	}

	.srch-no-results-heading {
		font-size: 22px;
	}

	.srch-form-inner {
		flex-direction: column;
	}

	.srch-submit {
		justify-content: center;
		padding: 13px 20px;
	}

	.ct-section {
		padding: 36px 0 60px;
	}

	.ct-form-card {
		padding: 30px 24px;
	}

	.ct-form-heading {
		font-size: 22px;
	}

	/* Form fields go single column */
	.ct-form-wrap .wpcf7 form {
		grid-template-columns: 1fr;
	}

	.ct-form-wrap .wpcf7 form>p:nth-child(n+5) {
		grid-column: 1;
	}

	.ct-map-wrap {
		height: 280px;
	}

	.eq-section {
		padding: 36px 0 60px;
	}

	.eq-form-card {
		padding: 30px 24px;
	}

	.fp-unit-grid {
		grid-template-columns: repeat(2, auto);
	}

	.upcomingproject-section3 .ups3-title {
		font-size: 30px;
	}

	.upcomingproject-section3 .ups3-code {
		font-size: 25px;
	}

	.upcomingproject-section1 .ups1-viewport {
		height: 250px !important;
	}

	.upcomingproject-section3 .ups3-card-head {
		align-items: flex-start;
		gap: 15px;
		padding: 20px 25px;
		flex-direction: column;
	}

	.upcomingproject-section3 .ups3-slider {
		height: 250px;
	}

	.upcomingproject-section3 .ups3-right {
		padding: 10px 30px;
	}

	.upcomingproject-section3 .ups3-spec {
		font-size: 14px;
	}
}

@media (max-width: 520px) {
	.amenities-section {
		padding: 36px 20px 52px;
	}

	.amenities-heading {
		font-size: 30px;
	}

	.nav-circle {
		width: 34px;
		height: 34px;
	}

	.amenities-page {
		grid-template-columns: repeat(3, 1fr);
		gap: 36px 0;
	}

	.amenity-icon {
		width: 54px;
		height: 54px;
	}
}

@media (max-width: 500px) {

	/* Floor plan sidebar: 2-column type buttons; label stays full width */
	.fp-sidebar {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 10px;
		row-gap: 8px;
		align-items: stretch;
		padding: 16px 12px;
	}

	.fp-bhk-label {
		grid-column: 1 / -1;
		width: 100%;
		margin-bottom: 4px;
	}

	.fp-type-btn {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.brands-slider-wrapper {
		gap: 10px;
	}

	.brands-arrow {
		width: 32px;
		height: 32px;
		flex-shrink: 0;
		background-size: 28px 28px;
		background-position: center;
	}

	.brand-item {
		padding: 0 6px;
	}

	.brand-item img,
	.brand-logo {
		display: block;
		height: 26px;
		width: auto;
		max-width: 56px;
		object-fit: contain;
	}

	/* One video per slide on small screens */
	.wwb-slide {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.wwb-slide .video-card:nth-child(2),
	.wwb-slide .video-card:nth-child(3) {
		display: none;
	}

	.project-section1 .container {
		max-width: 90%;
	}

	.info-box {
		right: 26px;
		height: 135px;
		width: 177px;
	}

	.info-unit {
		font-size: 8px;
		margin-top: 2px;
	}

	.walkthrough-label {
		font-size: 14px;
		width: 160px;
		height: 34px;
	}

	.walkthrough-btn {
		display: none;
	}

	.project-section2 {
		padding: 100px 0 50px;
		overflow-x: hidden;
	}

	.about-title,
	.gallery-heading,
	.amenities-heading,
	.as2-title,
	.as4-title,
	.as5-title,
	.as6-header-title,
	.as7-title {
		font-size: 30px;
	}

	.about-desc p {
		font-size: 15.5px;
	}

	.btn-enquire {
		font-size: 13.83px;
	}

	.btn-enquire {
		font-size: 13.83px;
		max-width: 212px;
		height: 42px;
		padding: 0 15px;
	}


	.project-section2 .container {
		max-width: 100%;
		box-sizing: border-box;
		padding-left: 16px;
		padding-right: 16px;
	}

	.about-inner {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.about-right {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.stats-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 8px;
		row-gap: 12px;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-bottom: 16px;
		box-sizing: border-box;
	}

	.stat-card {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 8px 4px;
		min-width: 0;
		box-sizing: border-box;
	}

	.stat-card .stat-icon {
		width: 36px;
		height: 36px;
		flex-shrink: 0;
	}

	.stat-card .stat-info {
		min-width: 0;
		flex: 1;
	}

	.stat-label {
		font-size: 12px;
		word-break: break-word;
		overflow-wrap: anywhere;
		line-height: 1.2;
	}

	.stat-sub {
		font-size: 11px;
		word-break: break-word;
		overflow-wrap: anywhere;
		line-height: 1.2;
	}

	.stat-card--download {
		align-items: stretch;
		min-width: 0;
	}

	.btn-download {
		font-size: 11px;
		white-space: normal;
		text-align: center;
		width: 100%;
		max-width: 100%;
		padding: 10px 6px;
		line-height: 1.25;
		box-sizing: border-box;
	}

	.rera-no {
		font-size: 12px;
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.rera-label {
		font-size: 12px;
	}

	.gallery-header {
		padding: 0px;
		gap: 25px;
		margin-bottom: 25px;
	}

	.new-floor-plan-outer .section-header {
		gap: 25px;
	}

	.nl-heading-row {
		margin-bottom: 25px;
	}

	.brands-heading-row {
		gap: 25px;
		margin-bottom: 25px;
	}

	.spec-heading {
		margin-bottom: 25px;
	}

	.wwb-heading-row {
		gap: 25px;
		margin-bottom: 25px;
	}

	.faq-heading {
		margin-bottom: 25px;
	}

	.nl-body {
		min-height: 0;
		flex-direction: column;
	}

	.nl-map-area {
		order: 1;
		min-height: 190px;
	}

	.nl-sidebar {
		padding: 20px;
		order: 2;
		flex: 0 0 auto;
	}

	.nl-tab {
		width: auto;
		padding: 10px 10px;
	}

	/* Spec tabs: exactly 3 per row (no horizontal scroll) */
	.spec-tabs-outer {
		overflow-x: visible;
	}

	.spec-tabs {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px 10px;
		min-width: 0;
		width: 100%;
	}

	.spec-tab {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
		white-space: normal;
		text-align: center;
		padding: 8px 6px;
		font-size: 11px;
		line-height: 1.25;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.spec-card {
		padding: 30px;
	}


	.project-section11,
	.project-main-section1 {
		overflow-x: hidden;
		max-width: 100%;
	}

	.project-section11.flexbox,
	.project-main-section1.flexbox {
		flex-direction: column;
		align-items: stretch;
	}

	.project-section11 .container,
	.project-main-section1 .container {
		max-width: 100%;
		box-sizing: border-box;
		padding-left: 16px;
		padding-right: 16px;
	}

	.proj-section {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.proj-heading-row {
		flex-wrap: wrap;
		justify-content: center;
		gap: 12px;
		min-width: 0;
		width: 100%;
	}

	.proj-heading-line {
		display: none;
	}

	.proj-heading {
		white-space: normal;
		text-align: center;
		width: 100%;
		min-width: 0;
		margin-bottom: 25px;
		font-size: 24px;
		line-height: 1.25;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.proj-slider-outer {
		max-width: 100%;
	}

	.proj-track {
		min-width: 0;
	}

	.proj-card {
		min-width: 0;
		box-sizing: border-box;
	}

	.form-field {
		width: 100%;
		max-width: 284px;
	}

	.slide img {
		height: 400px;
	}

	/* Single column: category + FAQ content stack (no side-by-side layout) */
	.project-section10.flexbox {
		flex-direction: column;
		align-items: stretch;
	}

	.faq-section {
		width: 100%;
		min-width: 0;
	}

	/* Until JS runs, hide all FAQ panels so only category labels show (no flash of first panel) */
	.faq-body:not(.faq-js-ready) .faq-panel {
		display: none !important;
	}

	.faq-body:not(.faq-js-ready) .faq-cat-btn {
		background: #efefef !important;
		color: #434345 !important;
	}

	.faq-body {
		display: grid !important;
		grid-template-columns: 1fr;
		align-items: stretch;
		width: 100%;
		min-width: 0;
		gap: 10px;
		min-height: 0;
	}

	.faq-cat-wrap {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}

	.faq-cat-wrap .faq-cat-btn,
	.faq-cat-wrap .faq-panel {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.faq-cat-wrap .faq-panel {
		grid-column: unset !important;
		grid-row: unset !important;
		align-self: stretch;
	}

	/* Only category rows show until one is tapped; panel opens directly underneath */
	.faq-cat-wrap .faq-cat-btn {
		border-right: none;
		text-align: left;
		position: relative;
		padding-left: 20px;
		padding-right: 44px;
	}

	.faq-cat-btn::after {
		content: '+';
		position: absolute;
		right: 18px;
		top: 50%;
		transform: translateY(-50%);
		font-family: "Nunito Sans", sans-serif;
		font-size: 22px;
		font-weight: 300;
		line-height: 1;
		color: inherit;
		opacity: 0.85;
		transition: transform 0.25s ease;
	}

	.faq-cat-btn.active::after {
		transform: translateY(-50%) rotate(45deg);
	}

	.stat-icon {
		width: 35px;
		height: 35px;
	}

	.gallery-tabs {
		gap: 5px;
	}

	.as2-desc {
		max-width: 100%;
		text-align: left;
	}

	.as6-cards {
		grid-template-columns: repeat(1, 1fr);
	}

	.as7-panel-title {
		font-size: 25px;
	}

	.as7-tl-label {
		font-size: 15px;
	}

	.as3-icon img {
		max-width: 100%;
		height: 54px;
	}

	.as12-faq-q-text {
		font-size: 20px;
	}

	.as9-video-thumb {
		height: 150px;
	}

	.as2-line {
		display: none;
	}

	.about-section4 .container {
		display: flex;
		flex-direction: column;
	}

	.as4-content {
		order: 1;
	}

	.as4-image-wrap {
		order: 2;
	}

	.as5-outer {
		flex-direction: column;
	}

	.as5-outer {
		background: linear-gradient(180deg, #0e6b6b 0%, #0e6b6b 45%, #2e8a5c 100%);
	}

	.as5-band {
		background: transparent;
	}

	.as5-person {
		width: 100%;
		background-image: url('../images/about-deco.png');
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 500px 500px, cover;
	}

	.as5-deco {
		right: 0;
		width: 260px;
		height: 260px;
		top: auto;
		bottom: 0;
		transform: none;
	}

	.as8-image-wrap img {
		height: 150px;
	}

	.as9-line {
		display: none;
	}

	.as9-desc-wrap {
		text-align: left;
	}

	.as12-left {
		display: flex;
		justify-content: center;
		height: 350px;
		background-color: #f7f7f7;
	}

	.as12-left img {
		height: 300px;
	}

	.completedproject-section2 .cps2-inner.cps2-slide-odd .cps2-text-cols,
	.completedproject-section2 .cps2-inner.cps2-slide-even .cps2-text-cols {
		padding-right: 20px;
		padding-left: 20px;
	}

	.completedproject-section2 .cps2-testimonial {
		flex-direction: column;
		gap: 12px;
		padding: 10px;
		justify-content: center;
		align-content: center;
		align-items: center;
	}

	.completedproject-section2 .cps2-testi-photo img {
		min-height: 100px;
		max-height: 100px;
	}

	.completedproject-section2 .cps2-testi-photo {
		flex: 0 0 100px;
		width: 100px;
	}

	.banner-image {
		height: 275px;
	}


}

@media (max-width: 480px) {
	.page-template-template-signatureheightspage .fp-sub-btn {
		font-size: 14px;
		padding: 8px 14px;
	}

	.fp-unit-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.fp-unit-btn {
		font-size: 12px;
		padding: 7px 10px;
	}

	.fp-facing-label {
		font-size: 13px;
		padding: 7px 12px;
	}

	.fp-facing-bhk {
		font-size: 13px;
		padding: 7px 10px;
	}

	.fp-facing-group {
		margin-bottom: 20px;
	}

	.page-template-template-signatureheightspage .new-floor-plan-outer .block-selector {
		padding: 12px;
	}

	.spec-section {
		padding: 32px 20px 48px;
	}

	.spec-heading {
		font-size: 28px;
		margin-bottom: 25px;
	}

	.spec-tab {
		padding: 8px 16px;
		font-size: 12.5px;
	}

	.spec-card {
		padding: 28px 24px;
	}

	.spec-list li {
		font-size: 13px;
	}
}

@media (max-width: 479px) {
	.completedproject-section1 .cps1-slide img {
		height: 140px;
	}

	.completedproject-section1 .cps1-controls {
		gap: 10px;
		padding: 12px 18px;
	}

	.completedproject-section1 .cps1-arrows {
		gap: 22px;
	}

	.completedproject-section1 .cps1-counter {
		font-size: 17px;
	}

	.completedproject-section1 .cps1-of {
		font-size: 13px;
	}

	.completedproject-section2 .cps2-media img {
		height: 200px;
	}

	.completedproject-section2 .cps2-heading {
		font-size: 23px;
	}

	.completedproject-section2 .cps2-testimonial {
		flex-direction: column;
		gap: 12px;
		padding: 18px;
	}

	.completedproject-section2 .cps2-counter {
		font-size: 18px;
	}
}

@media (max-width: 400px) {
	.banner-wrapper {
		padding-top: 85%;
	}

	.walkthrough-label {
		display: none;
	}

	.as2-title {
		font-size: clamp(24px, 7vw, 32px);
	}

	.as2-card-title {
		max-width: 60%;
		font-size: clamp(28px, 9vw, 40px);
	}

	.as3-item-title {
		font-size: clamp(20px, 6vw, 26px);
	}

	.as4-title {
		font-size: clamp(26px, 8vw, 36px);
	}

	.as5-title {
		font-size: clamp(22px, 7vw, 30px);
	}

	.as6-header-title {
		font-size: clamp(22px, 7vw, 30px);
	}

	.as6-card-title {
		font-size: clamp(18px, 6vw, 24px);
	}

	.as8-title {
		font-size: clamp(24px, 7vw, 34px);
	}

	.as10-title {
		font-size: clamp(20px, 6vw, 26px);
	}

	.as11-col-title {
		font-size: clamp(18px, 6vw, 24px);
	}

	.as12-header-title {
		font-size: 15px;
	}

	.as12-faq-q-text {
		font-size: 13px;
	}

	.bl-heading-row {
		padding-bottom: 22px;
		gap: 10px;
	}

	.bl-heading {
		font-size: 22px;
	}

	.bl-list {
		gap: 18px;
	}

	.bl-row-img img {
		height: 185px;
		min-height: 185px;
	}

	.bl-row-body {
		padding: 12px 12px 10px;
		gap: 6px;
	}

	.bl-row-title {
		font-size: 14px;
	}

	.bl-row-excerpt {
		font-size: 12px;
		-webkit-line-clamp: 2;
	}

	.bl-row-more {
		font-size: 12px;
	}

	.bl-row-more span {
		font-size: 15px;
	}

	.bl-row-num {
		font-size: 24px;
	}

	.sp-hero-img {
		height: 185px;
	}

	.sp-article-wrap {
		padding-top: 22px;
	}

	.sp-title {
		font-size: 20px;
	}

	.sp-content h1 {
		font-size: 19px;
	}

	.sp-content h2 {
		font-size: 17px;
	}

	.sp-content h3 {
		font-size: 15px;
	}

	.sp-content p,
	.sp-content ul,
	.sp-content ol {
		font-size: 14px;
	}

	.sp-content blockquote,
	.sp-content blockquote p {
		font-size: 15px;
		padding: 14px 16px;
	}

	.sp-nav-title {
		font-size: 14px;
	}

	.sp-tag-pill {
		font-size: 12px;
		padding: 4px 10px;
	}

	.arc-nav-older a,
	.arc-nav-newer a {
		font-size: 12px;
		padding: 10px 14px;
	}

	.arc-nav-arrow {
		font-size: 14px;
	}

	.srch-nav-older a,
	.srch-nav-newer a {
		font-size: 12px;
		padding: 10px 14px;
	}

	.srch-nav-arrow {
		font-size: 14px;
	}

	.srch-no-results-heading {
		font-size: 20px;
	}

	.srch-no-results-text {
		font-size: 13px;
	}

	.srch-input {
		font-size: 15px;
		padding: 13px 16px;
	}

	.srch-submit {
		font-size: 14px;
		padding: 13px 18px;
	}

	.ct-form-card {
		padding: 24px 18px;
	}

	.ct-form-heading {
		font-size: 20px;
	}

	.ct-info-card {
		padding: 20px 0;
		gap: 14px;
	}

	.ct-info-icon {
		width: 40px;
		height: 40px;
	}

	.ct-info-icon svg {
		width: 18px;
		height: 18px;
	}

	.ct-info-text {
		font-size: 13px;
	}

	.ct-map-wrap {
		height: 240px;
	}

	.eq-form-card {
		padding: 24px 18px;
	}

	.eq-feature {
		padding: 20px 0;
		gap: 14px;
	}

	.eq-feature-icon {
		width: 40px;
		height: 40px;
	}

	.eq-feature-icon svg {
		width: 18px;
		height: 18px;
	}

	.eq-feature-text {
		font-size: 12px;
	}

	.new-floor-plan-outer .plan-image-area {
		min-height: 300px;
	}

	.new-floor-plan-outer .plan-card {
		min-height: 300px;
	}
}

@media (min-width: 501px) {
	.faq-body {
		display: grid;
		grid-template-columns: 395px 1fr;
		grid-template-rows: repeat(8, auto);
		gap: 10px 12px;
		align-items: start;
		min-height: 460px;
	}

	.faq-cat-wrap {
		display: contents;
	}

	.faq-cat-wrap .faq-panel {
		grid-column: 2;
		grid-row: 1 / -1;
		align-self: start;
	}

	.faq-cat-wrap:nth-child(1) .faq-cat-btn {
		grid-column: 1;
		grid-row: 1;
	}

	.faq-cat-wrap:nth-child(2) .faq-cat-btn {
		grid-column: 1;
		grid-row: 2;
	}

	.faq-cat-wrap:nth-child(3) .faq-cat-btn {
		grid-column: 1;
		grid-row: 3;
	}

	.faq-cat-wrap:nth-child(4) .faq-cat-btn {
		grid-column: 1;
		grid-row: 4;
	}

	.faq-cat-wrap:nth-child(5) .faq-cat-btn {
		grid-column: 1;
		grid-row: 5;
	}

	.faq-cat-wrap:nth-child(6) .faq-cat-btn {
		grid-column: 1;
		grid-row: 6;
	}

	.faq-cat-wrap:nth-child(7) .faq-cat-btn {
		grid-column: 1;
		grid-row: 7;
	}

	.faq-cat-wrap:nth-child(8) .faq-cat-btn {
		grid-column: 1;
		grid-row: 8;
	}

	.faq-cat-btn {
		border-right: 1px solid #d8d2ca;
	}
}


@media (max-width: 1200px) {
	.contact-section1 .cs1-title {
		font-size: 35px;
	}

	.contact-section1 .cs1-card,
	.contact-section1 .cs1-office {
		width: 72%;
		max-width: none;
	}
}

@media (max-width: 1100px) {
	.contact-section1 {
		padding: 50px 0 50px;
	}


	.contact-section1 .cs1-office {
		width: 100%;
		max-width: none;
		padding: 0px;
	}

	.contact-section1 .cs1-field input,
	.contact-section1 .cs1-field textarea {
		font-size: 14px;
	}

	.contact-section1 .cs1-card {
		padding: 70px 50px 50px 50px;
	}

}

@media (max-width: 991px) {
	.contact-section1 {
		padding: 60px 0 50px;
	}

	.contact-section1 .cs1-card,
	.contact-section1 .cs1-office {
		width: 100%;
	}

	.contact-section1 .cs1-card {
		padding: 45px 40px 80px;
	}

	.contact-section1 .cs1-office {
		flex-direction: column;
		gap: 30px;
		padding: 0;
	}

	.contact-section1 .cs1-office-phone,
	.contact-section1 .cs1-office-email {
		flex: 0 0 auto;
		padding-left: 0;
		padding-top: 30px;
	}

	.contact-section1 .cs1-office-phone::before,
	.contact-section1 .cs1-office-email::before {
		content: "";
		position: absolute;
		left: 0;
		top: 4px;
		bottom: 4px;
		width: 100px;
		background: #fff;
		height: 1px;
	}

	.contact-section2 .cs2-map-wrap {
		height: 420px;
	}

}

@media (max-width: 767px) {
	.contact-section1 {
		padding: 45px 0 45px;
	}

	.contact-section2 .cs2-map-wrap {
		height: 300px;
	}

	.contact-section1 .cs1-intro {
		font-size: 15px;
		text-align: left;
		margin-bottom: 28px;
	}

	.contact-section1 .cs1-row {
		flex-direction: column;
		gap: 16px;
		margin-bottom: 16px;
	}

	.contact-section1 .cs1-field textarea {
		min-height: 170px;
	}

	.contact-section1 .cs1-submit {
		right: 22px;
		bottom: -28px;
		padding: 18px 32px;
		font-size: 14px;
	}

	.contact-section1 .cs1-office {
		margin-top: 100px;
	}

	.contact-section1 .cs1-office-phone,
	.contact-section1 .cs1-office-email {
		padding-left: 0;
	}

	.contact-section1 .cs1-office-phone::before,
	.contact-section1 .cs1-office-email::before {
		display: none;
	}

	.contact-section1 .cs1-office-label {
		font-size: 16px;
	}
}

@media (max-width: 500px) {
	.contact-section1 .container {
		padding: 0 15px;
	}

	.contact-section1 .cs1-office {
		padding-bottom: 50px;
	}

	.contact-section1 .cs1-card {
		padding: 45px 20px 50px;
	}

}