.stw-hero {
	--h-bg: #0b1626;
	--h-bg-2: #14263d;
	--h-gold: #c9a14a;
	--h-gold-lt: #ecd59e;
	--h-gold-dk: #9f7a2c;
	--h-serif: 'Cormorant Garamond',Georgia,serif;
	--h-sans: 'Manrope',system-ui,sans-serif;
	--h-ease: cubic-bezier(.22,.8,.24,1);
	position: relative!important;
	overflow: hidden!important;
	color: #fff!important;
	min-height: calc(100vh - 90px);
	display: flex!important;
	flex-direction: column;
	justify-content: center;
	padding: 60px 0 0!important;
	font-family: var(--h-sans)!important;
	background: linear-gradient(160deg,var(--h-bg-2) 0%,var(--h-bg) 100%)!important;
}

.stw-hero * {
	box-sizing: border-box;
}

    /* Right side HD background image */
.stw-hero .stw-h-bgimg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	z-index: 0;
	overflow: hidden;
}

.stw-hero .stw-h-bgimg img {
	width: 100%!important;
	height: 100%!important;
	max-width: none!important;
	object-fit: cover;
	object-position: center 40%;
	display: block;
	animation: stwHKen 16s ease-out both;
}
    /* blend image into the left colour */
.stw-hero .stw-h-bgimg::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg,var(--h-bg) 0%,rgba(11,22,38,.85) 18%,rgba(11,22,38,.35) 40%,rgba(11,22,38,0) 62%);
}

.stw-hero .stw-h-bgimg::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 38%;
	z-index: 1;
	background: linear-gradient(to top,rgba(11,22,38,.95),rgba(11,22,38,0));
}

.stw-hero .stw-h-imgtag {
	position: absolute;
	right: 24px;
	top: 24px;
	z-index: 2;
	font: 600 10.5px var(--h-sans)!important;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(255,255,255,.7)!important;
}

    /* soft gold glow + dot pattern on the colour side */
.stw-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: radial-gradient(600px 400px at 8% 85%,rgba(201,161,74,.14),transparent 60%);
}

.stw-hero::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 45%;
	z-index: 0;
	pointer-events: none;
	background-image: radial-gradient(rgba(236,213,158,.10) 1px,transparent 1px);
	background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(to right,#000,transparent);
	mask-image: linear-gradient(to right,#000,transparent);
}

.stw-hero .stw-h-wrap {
	position: relative;
	z-index: 2;
	width: min(1240px,100% - 40px);
	margin-inline: auto;
}

.stw-hero .stw-h-content {
	max-width: 620px;
}

    /* Text */
.stw-hero .stw-h-tag {
	display: inline-flex!important;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	border: 1px solid rgba(236,213,158,.35);
	border-radius: 40px;
	font: 600 12.5px var(--h-sans)!important;
	color: var(--h-gold-lt)!important;
	margin-bottom: 26px;
	background: rgba(255,255,255,.05);
	backdrop-filter: blur(6px);
	animation: stwHFade 1s .1s var(--h-ease) both;
}

.stw-hero .stw-h-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3fd17f;
	animation: stwHPulse 2s infinite;
}

.stw-hero h1.stw-h-title {
	font-family: var(--h-serif)!important;
	font-weight: 600!important;
	font-size: clamp(46px,6vw,90px)!important;
	line-height: .98!important;
	letter-spacing: -1px!important;
	margin: 0 0 24px!important;
	color: #fff!important;
	text-shadow: 0 10px 40px rgba(0,0,0,.35);
}

.stw-hero .stw-h-line {
	display: block;
	overflow: hidden;
	font-family: var(--h-serif)!important;
	padding-bottom: 11px;
}

.stw-hero .stw-h-line>span {
	display: block;
	animation: stwHRise 1.1s var(--h-ease) both;
	font-family: var(--h-serif)!important;
}

.stw-hero .stw-h-line:nth-child(2)>span {
	animation-delay: .15s;
}

.stw-hero .stw-h-line:nth-child(3)>span {
	animation-delay: .3s;
}

.stw-hero .stw-h-title em {
	font-style: italic!important;
	color: var(--h-gold-lt)!important;
	font-family: var(--h-serif)!important;
}

.stw-hero p.stw-h-sub {
	font: 400 18px/1.75 var(--h-sans)!important;
	color: rgba(255,255,255,.8)!important;
	/*max-width: 540px;*/
	margin: 0 0 34px!important;
	animation: stwHFade 1s .5s var(--h-ease) both;
}

.stw-hero .stw-h-btns {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	animation: stwHFade 1s .65s var(--h-ease) both;
}

.stw-hero .stw-h-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex!important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 17px 32px!important;
	border-radius: 60px!important;
	font: 800 13px var(--h-sans)!important;
	letter-spacing: 1.5px!important;
	text-transform: uppercase!important;
	text-decoration: none!important;
	cursor: pointer;
	transition: transform .35s var(--h-ease),box-shadow .35s var(--h-ease),background .3s,color .3s;
	border: none!important;
	line-height: 1.2!important;
	width: auto!important;
}

.stw-hero .stw-h-btn-gold {
	background: linear-gradient(135deg,var(--h-gold-lt),var(--h-gold) 50%,var(--h-gold-dk))!important;
	color: #17110c!important;
	box-shadow: 0 16px 34px -14px rgba(201,161,74,.8);
}

.stw-hero .stw-h-btn-gold::after {
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 60%;
	height: 100%;
	background: linear-gradient(110deg,transparent,rgba(255,255,255,.7),transparent);
	transform: skewX(-20deg);
	animation: stwHShine 3.8s ease-in-out infinite;
}

.stw-hero .stw-h-btn-gold:hover {
	transform: translateY(-3px);
	color: #17110c!important;
	box-shadow: 0 24px 44px -14px rgba(201,161,74,.9);
}

.stw-hero .stw-h-btn-ghost {
	background: rgba(255,255,255,.04)!important;
	color: #fff!important;
	border: 1.5px solid rgba(255,255,255,.4)!important;
	backdrop-filter: blur(6px);
}

.stw-hero .stw-h-btn-ghost:hover {
	background: #fff!important;
	color: var(--h-bg)!important;
}

.stw-hero p.stw-h-rera {
	margin: 34px 0 0!important;
	font: 500 12.5px var(--h-sans)!important;
	color: rgba(255,255,255,.6)!important;
	letter-spacing: .5px;
	animation: stwHFade 1s .8s var(--h-ease) both;
}

.stw-hero p.stw-h-rera b {
	color: var(--h-gold-lt)!important;
}

    /* Floating glass badges on the image side */
.stw-hero .stw-h-badge {
	position: absolute;
	z-index: 3;
	background: rgba(11,22,38,.55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(236,213,158,.3);
	border-radius: 18px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 12px;
	box-shadow: 0 20px 40px -14px rgba(0,0,0,.55);
	animation: stwHFloat 5s ease-in-out infinite;
}

.stw-hero .stw-h-badge i {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg,var(--h-gold-lt),var(--h-gold));
	color: #17110c;
	font-size: 16px;
	flex: 0 0 42px;
}

.stw-hero .stw-h-badge strong {
	display: block;
	font: 700 24px/1 var(--h-serif)!important;
	color: #fff!important;
}

.stw-hero .stw-h-badge small {
	display: block;
	font: 700 10.5px var(--h-sans)!important;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: rgba(255,255,255,.7)!important;
	margin-top: 4px;
}

.stw-hero .stw-h-badge-1 {
	top: 22%;
	right: 6%;
}

.stw-hero .stw-h-badge-2 {
	top: 52%;
	right: 22%;
	animation-delay: -2.5s;
}

    /* Stats strip */
.stw-hero .stw-h-stats {
	position: relative;
	z-index: 2;
	width: min(1240px,100% - 40px);
	margin: 80px auto 0;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	background: rgba(11,22,38,.6);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(236,213,158,.16);
	border-bottom: none;
	border-radius: 22px 22px 0 0;
}

.stw-hero .stw-h-stat {
	padding: 28px 20px;
	text-align: center;
	border-right: 1px solid rgba(236,213,158,.12);
	transition: background .4s;
	animation: stwHFade 1s var(--h-ease) both;
}

.stw-hero .stw-h-stat:nth-child(1) {
	animation-delay: .9s;
}

.stw-hero .stw-h-stat:nth-child(2) {
	animation-delay: 1s;
}

.stw-hero .stw-h-stat:nth-child(3) {
	animation-delay: 1.1s;
}

.stw-hero .stw-h-stat:nth-child(4) {
	animation-delay: 1.2s;
	border-right: none;
}

.stw-hero .stw-h-stat:hover {
	background: rgba(201,161,74,.1);
}

.stw-hero .stw-h-stat b {
	display: block;
	font: 600 42px/1 var(--h-serif)!important;
	color: var(--h-gold-lt)!important;
}

.stw-hero .stw-h-stat span {
	display: block;
	margin-top: 10px;
	font: 700 11px var(--h-sans)!important;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: rgba(255,255,255,.65)!important;
}

    /* Keyframes */
@keyframes stwHRise {
	from {
		transform: translateY(105%);
	}

	to {
		transform: none;
	}
}

@keyframes stwHFade {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes stwHKen {
	from {
		transform: scale(1.12);
	}

	to {
		transform: scale(1);
	}
}

@keyframes stwHFloat {
	0%,100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-12px);
	}
}

@keyframes stwHPulse {
	0% {
		box-shadow: 0 0 0 0 rgba(63,209,127,.6);
	}

	100% {
		box-shadow: 0 0 0 12px rgba(63,209,127,0);
	}
}

@keyframes stwHShine {
	0%,60% {
		left: -130%;
	}

	100% {
		left: 160%;
	}
}

    /* Responsive */
@media(max-width:1199px) {
	.stw-hero .stw-h-bgimg {
		width: 70%;
	}

	.stw-hero .stw-h-badge-2 {
		display: none;
	}
}

@media(max-width:991px) {
	.stw-hero {
		min-height: auto;
		padding: 0!important;
	}

	.stw-hero .stw-h-bgimg {
		position: relative;
		width: 100%;
		height: 56vh;
		min-height: 340px;
	}

	.stw-hero .stw-h-bgimg::before {
		background: linear-gradient(to top,var(--h-bg) 0%,rgba(11,22,38,.4) 35%,rgba(11,22,38,0) 65%);
	}

	.stw-hero .stw-h-bgimg::after {
		display: none;
	}

	.stw-hero .stw-h-wrap {
		margin-top: -90px;
	}

	.stw-hero .stw-h-badge {
		display: none;
	}

	.stw-hero .stw-h-stats {
		grid-template-columns: repeat(2,1fr);
		margin-top: 50px;
	}

	.stw-hero .stw-h-stat:nth-child(2) {
		border-right: none;
	}

	.stw-hero .stw-h-stat:nth-child(-n+2) {
		border-bottom: 1px solid rgba(236,213,158,.12);
	}
}

@media(max-width:575px) {
	.stw-hero .stw-h-bgimg {
		height: 46vh;
	}

	.stw-hero .stw-h-btn {
		flex: 1 1 100%;
	}

	.stw-hero .stw-h-stat b {
		font-size: 34px!important;
	}
}

@media (prefers-reduced-motion:reduce) {
	.stw-hero *,.stw-hero *::before,.stw-hero *::after {
		animation: none!important;
		transition: none!important;
	}
}

/* =====================================================================
   ABOUT SECTION (below hero) – .stw-about
   ===================================================================== */
.stw-about {
	--a-navy: #0b1626;
	--a-navy-2: #14263d;
	--a-gold: #c9a14a;
	--a-gold-lt: #ecd59e;
	--a-gold-dk: #9f7a2c;
	--a-cream: #f7f5ef;
	--a-cream-2: #ece7d8;
	--a-ink: #16202e;
	--a-muted: #5f6672;
	--a-serif: 'Cormorant Garamond',Georgia,serif;
	--a-sans: 'Manrope',system-ui,sans-serif;
	--a-ease: cubic-bezier(.22,.8,.24,1);
	position: relative;
	overflow: hidden;
	background: #fff !important;
	padding: 60px 0!important;
	font-family: var(--a-sans)!important;
}

.stw-about::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -160px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(201,161,74,.16),transparent 65%);
	pointer-events: none;
}

.stw-about * {
	box-sizing: border-box;
}

/* ---------- Left media ---------- */
.stw-about .stw-ab-media {
	position: relative;
	padding: 0 50px 70px 0;
	z-index: 0;
}

.stw-about .stw-ab-frame {
	position: absolute;
	top: -22px;
	left: -22px;
	right: 72px;
	bottom: 92px;
	border: 1.5px solid var(--a-gold);
	border-radius: 26px;
	z-index: -1;
	transition: all .7s var(--a-ease);
}

.stw-about .stw-ab-media:hover .stw-ab-frame {
	top: -12px;
	left: -12px;
}

.stw-about .stw-ab-main {
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 40px 80px -35px rgba(11,22,38,.55);
	aspect-ratio: 4/5;
}

.stw-about .stw-ab-main img {
	width: 100%!important;
	height: 100%!important;
	object-fit: cover;
	display: block;
	transition: transform 1.4s var(--a-ease);
}

.stw-about .stw-ab-media:hover .stw-ab-main img {
	transform: scale(1.06);
}

.stw-about .stw-ab-small {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 52%;
	aspect-ratio: 1;
	border-radius: 20px;
	overflow: hidden;
	border: 8px solid #fff;
	box-shadow: 0 30px 60px -25px rgba(11,22,38,.6);
	animation: stwAbFloat 6s ease-in-out infinite;
}

.stw-about .stw-ab-small img {
	width: 100%!important;
	height: 100%!important;
	object-fit: cover;
	display: block;
}

.stw-about .stw-ab-badge {
	position: absolute;
	left: -18px;
	bottom: 110px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 22px;
	border-radius: 18px;
	background: linear-gradient(150deg,var(--a-navy-2),var(--a-navy));
	box-shadow: 0 24px 50px -20px rgba(11,22,38,.7);
	border: 1px solid rgba(236,213,158,.25);
	animation: stwAbFloat 5s ease-in-out infinite;
	animation-delay: -2s;
}

.stw-about .stw-ab-badge strong {
	font: 600 48px/1 var(--a-serif)!important;
	color: var(--a-gold-lt)!important;
}

.stw-about .stw-ab-badge span {
	font: 700 11px/1.35 var(--a-sans)!important;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(255,255,255,.8)!important;
}

/* ---------- Right content ---------- */
.stw-about .stw-ab-content .title-area {
	margin-bottom: 22px!important;
}

.stw-about .stw-ab-eyebrow {
	display: inline-flex!important;
	align-items: center;
	gap: 12px;
	font: 700 12px var(--a-sans)!important;
	letter-spacing: 3.5px!important;
	text-transform: uppercase!important;
	color: var(--a-gold-dk)!important;
	margin-bottom: 14px!important;
}

.stw-about .stw-ab-eyebrow::before {
	content: "";
	width: 40px;
	height: 1.5px;
	background: currentColor;
}

.stw-about h2.stw-ab-title {
	font-family: var(--a-serif)!important;
	font-weight: 600!important;
	font-size: clamp(40px,4.6vw,62px)!important;
	line-height: 1.05!important;
	letter-spacing: -.5px!important;
	color: var(--a-ink)!important;
	margin: 0!important;
}

.stw-about h2.stw-ab-title .cls-span {
	font-family: var(--a-serif)!important;
	font-size: inherit!important;
	font-weight: 600!important;
	color: var(--a-navy)!important;
	-webkit-text-fill-color: var(--a-navy)!important;
	background: none!important;
	display: block;
}

.stw-about .stw-ab-inner {
	padding-left: 0!important;
}

/* override theme's purple left bar */
.stw-about .stw-ab-inner p {
	border-left: none!important;
	padding-left: 0!important;
}

.stw-about .stw-ab-inner p::before,
.stw-about .stw-ab-inner p::after {
	display: none!important;
}

.stw-about p.stw-ab-rera {
	display: inline-flex!important;
	align-items: center;
	gap: 10px;
	padding: 9px 18px!important;
	margin: 0 0 26px!important;
	border-radius: 40px;
	background: #fff;
	border: 1px solid var(--a-cream-2)!important;
	box-shadow: 0 8px 20px -14px rgba(11,22,38,.4);
	font: 600 13px var(--a-sans)!important;
	color: var(--a-navy)!important;
}

.stw-about p.stw-ab-rera::before {
	content: ""!important;
	display: inline-block!important;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #2fb36a;
	animation: stwAbPulse 2s infinite;
}

.stw-about p.stw-ab-quote {
	font: italic 500 26px/1.35 var(--a-serif)!important;
	color: var(--a-ink)!important;
	margin: 0 0 18px!important;
}

.stw-about p.stw-ab-quote em {
	color: var(--a-gold-dk)!important;
	font-style: italic;
	font-weight: 600;
}

.stw-about p.stw-ab-text {
	font: 400 16px/1.85 var(--a-sans)!important;
	color: var(--a-muted)!important;
	text-align: left!important;
	margin: 0 0 30px!important;
}

/* Pillars */
.stw-about .stw-ab-pillars {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 14px;
	margin-bottom: 26px;
}

.stw-about .stw-ab-pillar {
	position: relative;
	overflow: hidden;
	padding: 22px 18px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--a-cream-2);
	transition: all .5s var(--a-ease);
}

.stw-about .stw-ab-pillar::before {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 0;
	background: linear-gradient(160deg,var(--a-navy-2),var(--a-navy));
	transition: height .55s var(--a-ease);
	z-index: 0;
}

.stw-about .stw-ab-pillar > * {
	position: relative;
	z-index: 1;
}

.stw-about .stw-ab-pillar i {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	margin-bottom: 14px;
	background: linear-gradient(135deg,var(--a-gold-lt),var(--a-gold));
	color: var(--a-navy);
	font-size: 15px;
	transition: transform .5s var(--a-ease);
}

.stw-about .stw-ab-pillar b {
	display: block;
	font: 700 16px var(--a-sans)!important;
	color: var(--a-ink)!important;
	margin-bottom: 4px;
	transition: color .4s;
}

.stw-about .stw-ab-pillar span {
	display: block;
	font: 500 13px/1.5 var(--a-sans)!important;
	color: var(--a-muted)!important;
	transition: color .4s;
}

.stw-about .stw-ab-pillar:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 40px -22px rgba(11,22,38,.55);
	border-color: transparent;
}

.stw-about .stw-ab-pillar:hover::before {
	height: 100%;
}

.stw-about .stw-ab-pillar:hover i {
	transform: rotate(-8deg) scale(1.08);
}

.stw-about .stw-ab-pillar:hover b {
	color: #fff!important;
}

.stw-about .stw-ab-pillar:hover span {
	color: rgba(255,255,255,.75)!important;
}

.stw-about p.stw-ab-sign {
	font: 500 15px/1.7 var(--a-sans)!important;
	color: var(--a-muted)!important;
	margin: 0!important;
	padding: 18px 0 0!important;
	border-top: 1px dashed var(--a-cream-2)!important;
}

.stw-about p.stw-ab-sign strong {
	color: var(--a-navy);
	font-weight: 700;
}

/* Buttons */
.stw-about .stw-ab-btns {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 32px;
}

.stw-about .stw-ab-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex!important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: auto!important;
	margin: 0!important;
	padding: 17px 32px!important;
	border-radius: 60px!important;
	border: none!important;
	background: linear-gradient(135deg,var(--a-gold-lt),var(--a-gold) 50%,var(--a-gold-dk))!important;
	color: #17110c!important;
	font: 800 13px var(--a-sans)!important;
	letter-spacing: 1.5px!important;
	text-transform: uppercase!important;
	box-shadow: 0 16px 34px -14px rgba(201,161,74,.8)!important;
	transition: transform .35s var(--a-ease),box-shadow .35s var(--a-ease)!important;
}

.stw-about .stw-ab-btn::after {
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 60%;
	height: 100%;
	background: linear-gradient(110deg,transparent,rgba(255,255,255,.7),transparent);
	transform: skewX(-20deg);
	animation: stwAbShine 3.8s ease-in-out infinite;
}

.stw-about .stw-ab-btn:hover {
	transform: translateY(-3px);
	color: #17110c!important;
	box-shadow: 0 24px 44px -14px rgba(201,161,74,.9)!important;
}

.stw-about .stw-ab-call {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none!important;
	color: var(--a-ink)!important;
	font: 700 17px var(--a-sans)!important;
}

.stw-about .stw-ab-call i {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--a-navy);
	color: var(--a-gold-lt);
	animation: stwAbRing 2.6s infinite;
}

.stw-about .stw-ab-call small {
	display: block;
	font: 700 10.5px var(--a-sans)!important;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--a-muted);
}

/* ---------- Scroll reveal ---------- */
.stw-js .stw-rv {
	opacity: 0;
	transition: opacity 1s var(--a-ease,ease),transform 1.1s var(--a-ease,ease);
}

.stw-js .stw-rv-left { transform: translateX(-60px); }
.stw-js .stw-rv-right { transform: translateX(60px); transition-delay: .15s; }

.stw-js .stw-rv.stw-in {
	opacity: 1;
	transform: none;
}

/* ---------- Keyframes ---------- */
@keyframes stwAbFloat {
	0%,100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}

@keyframes stwAbPulse {
	0% { box-shadow: 0 0 0 0 rgba(47,179,106,.55); }
	100% { box-shadow: 0 0 0 10px rgba(47,179,106,0); }
}

@keyframes stwAbShine {
	0%,60% { left: -130%; }
	100% { left: 160%; }
}

@keyframes stwAbRing {
	0%,100% { transform: rotate(0); }
	8%,24% { transform: rotate(-14deg); }
	16%,32% { transform: rotate(14deg); }
	40% { transform: rotate(0); }
}

/* ---------- Responsive ---------- */
@media(max-width:991px) {
	.stw-about { padding: 80px 0!important; }
	.stw-about .stw-ab-media { max-width: 520px; margin: 0 auto 20px; }
	.stw-about .stw-ab-badge { left: 0; }
}

@media(max-width:575px) {
	.stw-about .stw-ab-media { padding: 0 24px 50px 0; }
	.stw-about .stw-ab-frame { top: -12px; left: -10px; right: 40px; bottom: 66px; }
	.stw-about .stw-ab-badge { bottom: 70px; padding: 12px 16px; }
	.stw-about .stw-ab-badge strong { font-size: 38px!important; }
	.stw-about .stw-ab-pillars { grid-template-columns: 1fr; }
	.stw-about p.stw-ab-quote { font-size: 22px!important; }
	.stw-about .stw-ab-btn { width: 100%!important; }
}

@media (prefers-reduced-motion:reduce) {
	.stw-about *,.stw-about *::before,.stw-about *::after { animation: none!important; transition: none!important; }
	.stw-js .stw-rv { opacity: 1; transform: none; }
}


/* =====================================================================
   SHARED – sections 3 to 6 (.stw-sp / .stw-ft / .stw-pl / .stw-lc)
   ===================================================================== */
.stw-sp,.stw-ft,.stw-pl,.stw-lc {
	--s-navy: #0b1626;
	--s-navy-2: #14263d;
	--s-gold: #c9a14a;
	--s-gold-lt: #ecd59e;
	--s-gold-dk: #9f7a2c;
	--s-cream: #f6f3ea;
	--s-cream-2: #ebe5d3;
	--s-ink: #16202e;
	--s-muted: #6b6f78;
	--s-serif: 'Cormorant Garamond',Georgia,serif;
	--s-sans: 'Manrope',system-ui,sans-serif;
	--s-ease: cubic-bezier(.22,.8,.24,1);
	--s-sh: 0 30px 70px -30px rgba(11,22,38,.45);
	--s-sh-sm: 0 12px 30px -14px rgba(11,22,38,.3);
	position: relative;
	font-family: var(--s-sans)!important;
	color: var(--s-ink);
}

.stw-sp *,.stw-ft *,.stw-pl *,.stw-lc * { box-sizing: border-box; }

.stw-sec { padding: 60px 0!important; position: relative; overflow: hidden; }
.stw-wrap { width: min(1240px,100% - 40px); margin-inline: auto; }
.stw-center { text-align: center; }
.stw-head { margin-bottom: 56px; }

.stw-sec .stw-eyebrow {
	display: inline-flex!important;
	align-items: center;
	gap: 12px;
	font: 700 12px var(--s-sans)!important;
	letter-spacing: 3.5px!important;
	text-transform: uppercase!important;
	color: var(--s-gold-dk)!important;
	margin-bottom: 16px;
}
.stw-sec .stw-eyebrow::before,
.stw-sec .stw-center .stw-eyebrow::after { content: ""; width: 38px; height: 1px; background: currentColor; }

.stw-sec h2.stw-h2 {
	font-family: var(--s-serif)!important;
	font-weight: 600!important;
	font-size: clamp(36px,4.8vw,60px)!important;
	line-height: 1.06!important;
	letter-spacing: -.5px!important;
	color: var(--s-ink)!important;
	margin: 0 0 20px!important;
}
.stw-sec h2.stw-h2 em { font-style: italic!important; font-family: var(--s-serif)!important; color: var(--s-gold-dk)!important; }

.stw-sec p.stw-lead {
	font: 400 17px/1.75 var(--s-sans)!important;
	color: var(--s-muted)!important;
	max-width: 620px;
	margin: 0!important;
}
.stw-center p.stw-lead { margin-inline: auto!important; }

.stw-sec.stw-dark .stw-eyebrow { color: var(--s-gold)!important; }
.stw-sec.stw-dark h2.stw-h2 { color: #fff!important; }
.stw-sec.stw-dark h2.stw-h2 em { color: var(--s-gold-lt)!important; }

/* Buttons */
.stw-sec .stw-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex!important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 17px 32px!important;
	border-radius: 60px!important;
	border: none!important;
	font: 800 13px var(--s-sans)!important;
	letter-spacing: 1.5px!important;
	text-transform: uppercase!important;
	text-decoration: none!important;
	cursor: pointer;
	transition: transform .35s var(--s-ease),box-shadow .35s var(--s-ease);
}
.stw-sec .stw-btn-gold {
	background: linear-gradient(135deg,var(--s-gold-lt),var(--s-gold) 50%,var(--s-gold-dk))!important;
	color: #17110c!important;
	box-shadow: 0 16px 34px -14px rgba(201,161,74,.8);
}
.stw-sec .stw-btn-gold::after {
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 60%;
	height: 100%;
	background: linear-gradient(110deg,transparent,rgba(255,255,255,.7),transparent);
	transform: skewX(-20deg);
	animation: stwAbShine 3.8s ease-in-out infinite;
}
.stw-sec .stw-btn-gold:hover { transform: translateY(-3px); color: #17110c!important; box-shadow: 0 24px 44px -14px rgba(201,161,74,.9); }
.stw-sec .stw-btn-sm { padding: 12px 22px!important; font-size: 11.5px!important; }

/* Extra reveal variants */
.stw-js .stw-rv-up { transform: translateY(50px); }
.stw-js .stw-rv-up, .stw-js .stw-rv-left { transition-delay: var(--d,0s); }

/* =====================================================================
   3. SPACES – .stw-sp
   ===================================================================== */
.stw-sp { background: #ededed; }

.stw-sp .stw-sp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }

.stw-sp .stw-sp-card {
	position: relative;
	min-height: 600px;
	border-radius: 28px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	box-shadow: var(--s-sh);
}
.stw-sp .stw-sp-card > img {
	position: absolute;
	inset: 0;
	width: 100%!important;
	height: 100%!important;
	object-fit: cover;
	transition: transform 1.5s var(--s-ease);
}
.stw-sp .stw-sp-card::after {
	content: "";
	position: absolute;
	inset: 0;
	/*background: linear-gradient(to top,rgba(11,22,38,.97) 18%,rgba(11,22,38,.5) 58%,rgba(11,22,38,.08));*/
}
.stw-sp .stw-sp-card:hover > img { transform: scale(1.08); }

.stw-sp .stw-sp-body { position: relative; z-index: 1; padding: 44px; color: #fff; }
.stw-sp .stw-sp-num { font: 600 14px var(--s-serif)!important; letter-spacing: 3px; color: var(--s-gold)!important; margin-bottom: 10px; }
.stw-sp .stw-sp-body h3 {
	font-family: var(--s-serif)!important;
	font-weight: 600!important;
	font-size: clamp(28px,3vw,40px)!important;
	line-height: 1.1!important;
	color: #fff!important;
	margin: 0 0 14px!important;
}
.stw-sp .stw-sp-body p { font: 400 15.5px/1.7 var(--s-sans)!important; color: rgba(255,255,255,.8)!important; margin: 0 0 20px!important; }
.stw-sp .stw-sp-size {
	display: inline-block;
	margin-bottom: 22px;
	padding: 7px 16px;
	border-radius: 30px;
	background: rgba(236,213,158,.14);
	border: 1px solid rgba(236,213,158,.35);
	font: 700 13px var(--s-sans)!important;
	color: var(--s-gold-lt)!important;
}
.stw-sp .stw-sp-body ul { list-style: none; padding: 0!important; margin: 0 0 26px!important; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
.stw-sp .stw-sp-body li { display: flex; align-items: center; gap: 8px; margin: 0!important; font: 500 13.5px var(--s-sans)!important; color: rgba(255,255,255,.9)!important; }
.stw-sp .stw-sp-body li i { color: var(--s-gold); font-size: 11px; }

/* =====================================================================
   4. KEY FEATURES – .stw-ft
   ===================================================================== */
.stw-ft {
	background: radial-gradient(900px 500px at 85% 0%,rgba(201,161,74,.12),transparent 60%),
	            linear-gradient(160deg,var(--s-navy-2) 0%,var(--s-navy) 70%)!important;
}
.stw-ft::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(236,213,158,.10) 1px,transparent 1px);
	background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(to right,#000,transparent 50%);
	mask-image: linear-gradient(to right,#000,transparent 50%);
	pointer-events: none;
}
.stw-ft .stw-wrap { position: relative; z-index: 1; }

.stw-ft .stw-ft-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }

.stw-ft .stw-ft-card {
	position: relative;
	overflow: hidden;
	padding: 34px 30px;
	border-radius: 22px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(236,213,158,.14);
	transition: transform .5s var(--s-ease),border-color .4s,opacity 1s var(--s-ease)!important;
}
.stw-ft .stw-ft-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(380px 200px at var(--mx,50%) var(--my,0%),rgba(201,161,74,.24),transparent 70%);
	opacity: 0;
	transition: opacity .4s;
}
.stw-ft .stw-ft-card.stw-in:hover { transform: translateY(-8px)!important; border-color: rgba(236,213,158,.4); }
.stw-ft .stw-ft-card:hover::before { opacity: 1; }

.stw-ft .stw-ft-ico {
	position: relative;
	width: 66px;
	height: 66px;
	border-radius: 18px;
	background: var(--s-cream);
	display: grid;
	place-items: center;
	margin-bottom: 22px;
	transition: transform .6s var(--s-ease);
}
.stw-ft .stw-ft-card:hover .stw-ft-ico { transform: rotate(-8deg) scale(1.08); }
.stw-ft .stw-ft-ico img { width: 38px!important; height: 38px!important; object-fit: contain; }

.stw-ft .stw-ft-card h4 { position: relative; font: 700 18px/1.35 var(--s-sans)!important; color: #fff!important; margin: 0 0 6px!important; }
.stw-ft .stw-ft-card p { position: relative; font: 400 14px/1.65 var(--s-sans)!important; color: rgba(255,255,255,.65)!important; margin: 0!important; }
.stw-ft .stw-ft-n { position: absolute; top: 18px; right: 24px; font: italic 600 44px/1 var(--s-serif)!important; color: rgba(236,213,158,.14)!important; }

/* =====================================================================
   5. FLOOR PLANS – .stw-pl
   ===================================================================== */
.stw-pl { background: var(--s-cream)!important; }
.stw-pl .stw-head { margin-bottom: 36px; }

.stw-pl .stw-pl-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 34px; }
.stw-pl .stw-pl-tab {
	padding: 11px 20px!important;
	border-radius: 40px!important;
	border: 1.5px solid var(--s-cream-2)!important;
	background: #fff!important;
	color: var(--s-navy)!important;
	font: 700 13px var(--s-sans)!important;
	cursor: pointer;
	transition: all .3s;
	width: 10%;
}
.stw-pl .stw-pl-tab:hover { border-color: var(--s-gold)!important; }
.stw-pl .stw-pl-tab.is-active { background: var(--s-navy)!important; border-color: var(--s-navy)!important; color: var(--s-gold-lt)!important; }

.stw-pl .stw-pl-box { display: grid; grid-template-columns: 1.5fr 1fr; gap: 26px; align-items: center; }

.stw-pl .stw-pl-img,
.stw-lc .stw-lc-map {
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	background: #fff;
	padding: 30px;
	box-shadow: var(--s-sh-sm);
	cursor: zoom-in;
}
.stw-pl .stw-pl-img img { width: 100%!important; border-radius: 16px; transition: opacity .35s,transform .6s var(--s-ease); }
.stw-pl .stw-pl-img.is-swap img { opacity: 0; transform: scale(.97); }
.stw-sec .stw-pl-zoom {
	position: absolute;
	top: 26px;
	right: 26px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--s-navy);
	color: var(--s-gold-lt);
	transition: transform .3s;
}
.stw-pl .stw-pl-img:hover .stw-pl-zoom,
.stw-lc .stw-lc-map:hover .stw-pl-zoom { transform: scale(1.12); }

.stw-pl .stw-pl-info { display: flex; flex-direction: column; padding: 34px 30px; border-radius: 24px; background: #fff; box-shadow: var(--s-sh-sm); }
.stw-pl .stw-pl-info h3 { font-family: var(--s-serif)!important; font-weight: 600!important; font-size: 32px!important; color: var(--s-ink)!important; margin: 0 0 4px!important; }
.stw-pl .stw-pl-sub { font: 500 13px var(--s-sans); color: var(--s-muted); margin-bottom: 20px; }

.stw-pl .stw-pl-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.stw-pl .stw-pl-table th { padding: 10px 6px; border-bottom: 2px solid var(--s-cream-2); text-align: left; font: 700 11px var(--s-sans)!important; letter-spacing: 1.5px; text-transform: uppercase; color: var(--s-muted)!important; }
.stw-pl .stw-pl-table td { padding: 14px 6px; border-bottom: 1px solid var(--s-cream-2); font: 500 15px var(--s-sans)!important; color: var(--s-ink)!important; }
.stw-pl .stw-pl-table td:last-child { font: 700 22px var(--s-serif)!important; color: var(--s-navy)!important; }
.stw-pl .stw-pl-table tbody tr { transition: background .3s; }
.stw-pl .stw-pl-table tbody tr:hover { background: var(--s-cream); }
.stw-pl .stw-pl-info .stw-btn { margin-top: auto; width: 100%; }
.stw-pl p.stw-pl-note { font: 400 12px/1.6 var(--s-sans)!important; color: var(--s-muted)!important; margin: 14px 0 0!important; }

/* =====================================================================
   6. LOCATION – .stw-lc
   ===================================================================== */
.stw-lc { background: #fff; }
.stw-lc .stw-lc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.stw-lc .stw-lc-map { box-shadow: var(--s-sh); }
.stw-lc .stw-lc-map img { width: 100%!important; border-radius: 16px; transition: transform 1.4s var(--s-ease); }
.stw-lc .stw-lc-map:hover img { transform: scale(1.04); }

.stw-lc .stw-lc-list { list-style: none; padding: 0!important; margin: 26px 0 0!important; }
.stw-lc .stw-lc-list li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0!important;
	padding: 13px 0;
	border-bottom: 1px dashed var(--s-cream-2);
	font: 600 15.5px/1.5 var(--s-sans)!important;
	color: var(--s-ink)!important;
	transition: padding .35s var(--s-ease);
}
.stw-lc .stw-lc-list li:hover { padding-left: 8px; }
.stw-lc .stw-lc-list li i {
	flex: 0 0 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 11px;
	background: linear-gradient(135deg,var(--s-gold-lt),var(--s-gold));
	color: var(--s-navy);
}
.stw-lc .stw-lc-chips { display: flex; flex-wrap: wrap; gap: 13px 35px;
    margin-top: 25px;
    justify-content: center; }
.stw-lc .stw-lc-chips span { padding: 8px 15px; border-radius: 30px; background: var(--s-navy); color: var(--s-gold-lt); font: 700 12.5px var(--s-sans); }

/* =====================================================================
   Responsive – sections 3 to 6
   ===================================================================== */
@media(max-width:991px) {
	.stw-sec { padding: 80px 0!important; }
	.stw-head { margin-bottom: 40px; }
	.stw-sp .stw-sp-grid { grid-template-columns: 1fr; }
	.stw-sp .stw-sp-card { min-height: 540px; }
	.stw-ft .stw-ft-grid { grid-template-columns: 1fr 1fr; }
	.stw-pl .stw-pl-box { grid-template-columns: 1fr; }
	.stw-lc .stw-lc-grid { grid-template-columns: 1fr; gap: 44px; }
}

@media(max-width:575px) {
	.stw-sp .stw-sp-body { padding: 30px 22px; }
	.stw-sp .stw-sp-body ul { grid-template-columns: 1fr; }
	.stw-ft .stw-ft-grid { grid-template-columns: 1fr; }
	.stw-pl .stw-pl-info { padding: 28px 20px; }
}

@media (prefers-reduced-motion:reduce) {
	.stw-sec *,.stw-sec *::before,.stw-sec *::after { animation: none!important; transition: none!important; }
}

/* =====================================================================
   SHARED tokens – sections 7 to 9 (.stw-iv / .stw-ar / .stw-eq)
   ===================================================================== */
.stw-iv,.stw-ar,.stw-eq {
	--s-navy: #0b1626;
	--s-navy-2: #14263d;
	--s-gold: #c9a14a;
	--s-gold-lt: #ecd59e;
	--s-gold-dk: #9f7a2c;
	--s-cream: #f6f3ea;
	--s-cream-2: #ebe5d3;
	--s-ink: #16202e;
	--s-muted: #6b6f78;
	--s-serif: 'Cormorant Garamond',Georgia,serif;
	--s-sans: 'Manrope',system-ui,sans-serif;
	--s-ease: cubic-bezier(.22,.8,.24,1);
	--s-sh: 0 30px 70px -30px rgba(11,22,38,.45);
	--s-sh-sm: 0 12px 30px -14px rgba(11,22,38,.3);
	position: relative;
	font-family: var(--s-sans)!important;
	color: var(--s-ink);
}
.stw-iv *,.stw-ar *,.stw-eq * { box-sizing: border-box; }

.stw-sec .stw-btn-dark { background: var(--s-navy)!important; color: #fff!important; box-shadow: var(--s-sh-sm); }
.stw-sec .stw-btn-dark:hover { transform: translateY(-3px); background: var(--s-navy-2)!important; color: #fff!important; }

/* =====================================================================
   7. INVESTMENT – .stw-iv
   ===================================================================== */
.stw-iv {
	background: radial-gradient(800px 500px at 90% 20%,rgba(201,161,74,.12),transparent 60%),
	            linear-gradient(160deg,var(--s-navy-2) 0%,var(--s-navy) 70%)!important;
}
.stw-iv::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(236,213,158,.12) 1px,transparent 1px);
	background-size: 28px 28px;
	-webkit-mask-image: linear-gradient(to left,#000,transparent 60%);
	mask-image: linear-gradient(to left,#000,transparent 60%);
	pointer-events: none;
}
.stw-iv .stw-iv-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.stw-iv p.stw-iv-text { font: 400 16.5px/1.8 var(--s-sans)!important; color: rgba(255,255,255,.72)!important; margin: 0 0 30px!important; max-width: 560px; }

.stw-iv .stw-iv-img { position: relative; border-radius: 24px; overflow: hidden; box-shadow: 0 40px 80px -30px rgba(0,0,0,.7); }
.stw-iv .stw-iv-img img { width: 100%!important; display: block; aspect-ratio: 16/10; object-fit: cover; transition: transform 1.4s var(--s-ease); }
.stw-iv .stw-iv-img:hover img { transform: scale(1.06); }
.stw-iv .stw-iv-tag {
	position: absolute;
	left: 18px;
	bottom: 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border-radius: 30px;
	background: rgba(11,22,38,.65);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(236,213,158,.3);
	font: 700 12px var(--s-sans)!important;
	color: var(--s-gold-lt)!important;
}

.stw-iv .stw-iv-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.stw-iv .stw-iv-card {
	position: relative;
	overflow: hidden;
	padding: 24px 22px;
	border-radius: 18px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(236,213,158,.15);
	transition: transform .45s var(--s-ease),background .4s,border-color .4s,opacity 1s var(--s-ease)!important;
}
.stw-iv .stw-iv-card::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: linear-gradient(90deg,var(--s-gold-lt),var(--s-gold));
	transition: width .6s var(--s-ease);
}
.stw-iv .stw-iv-card i {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	margin-bottom: 14px;
	background: rgba(201,161,74,.14);
	color: var(--s-gold-lt);
	font-size: 16px;
	transition: all .45s var(--s-ease);
}
.stw-iv .stw-iv-card b { display: block; font: 700 15px/1.4 var(--s-sans)!important; color: #fff!important; }
.stw-iv .stw-iv-card.stw-in:hover { transform: translateY(-6px)!important; background: rgba(201,161,74,.1); border-color: rgba(236,213,158,.35); }
.stw-iv .stw-iv-card:hover::after { width: 100%; }
.stw-iv .stw-iv-card:hover i { background: linear-gradient(135deg,var(--s-gold-lt),var(--s-gold)); color: var(--s-navy); transform: rotate(-8deg); }

/* =====================================================================
   8. ARCHITECTURE – .stw-ar
   ===================================================================== */
.stw-ar { background: #fff; }
.stw-ar .stw-ar-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }

.stw-ar .stw-ar-img { position: relative; border-radius: 24px; overflow: hidden; box-shadow: var(--s-sh); }
.stw-ar .stw-ar-img img { width: 100%!important; display: block; aspect-ratio: 1/1; object-fit: cover; transition: transform 1.4s var(--s-ease); }
.stw-ar .stw-ar-img:hover img { transform: scale(1.06); }
.stw-ar .stw-ar-tag {
	position: absolute;
	left: 18px;
	bottom: 18px;
	padding: 9px 16px;
	border-radius: 30px;
	background: rgba(11,22,38,.7);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	font: 600 12px var(--s-sans)!important;
	letter-spacing: .5px;
	color: var(--s-gold-lt)!important;
}

.stw-ar .stw-ar-trio { margin: 26px 0 32px; }
.stw-ar .stw-ar-trio div {
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: 18px 0;
	border-bottom: 1px solid var(--s-cream-2);
	transition: padding .4s var(--s-ease);
}
.stw-ar .stw-ar-trio div:hover { padding-left: 10px; }
.stw-ar .stw-ar-trio b { min-width: 130px; font: italic 600 28px var(--s-serif)!important; color: var(--s-gold-dk)!important; }
.stw-ar .stw-ar-trio span { font: 500 15.5px var(--s-sans)!important; color: var(--s-muted)!important; }

/* =====================================================================
   9. ENQUIRY – .stw-eq
   ===================================================================== */
.stw-eq { background: var(--s-navy)!important; color: #fff; }
.stw-eq .stw-eq-bg {
	position: absolute;
	inset: 0;
	background: url('../imgs/projects/stalwart-business-enclave/banner-1.webp') center/cover no-repeat;
	transform: scale(1.08);
	transition: transform 6s linear;
	opacity: .18;
	filter: grayscale(.4);
}
.stw-eq.stw-eq-active .stw-eq-bg { transform: scale(1); }
.stw-eq::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg,rgba(11,22,38,.96) 35%,rgba(11,22,38,.82));
	pointer-events: none;
}
.stw-eq .stw-eq-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }

.stw-eq p.stw-eq-text { font: 400 16.5px/1.8 var(--s-sans)!important; color: rgba(255,255,255,.72)!important; margin: 0 0 28px!important; max-width: 560px; }

.stw-eq .stw-eq-contact { display: grid; gap: 14px; margin-bottom: 26px; }
.stw-eq .stw-eq-contact > a,
.stw-eq .stw-eq-contact > div { display: flex; align-items: center; gap: 16px; color: #fff!important; text-decoration: none!important; }
.stw-eq .stw-eq-contact i {
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(201,161,74,.16);
	color: var(--s-gold-lt);
}
.stw-eq .stw-eq-contact > a i { animation: stwAbRing 2.6s infinite; }
.stw-eq .stw-eq-contact small { display: block; font: 700 11px var(--s-sans)!important; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,.55)!important; }
.stw-eq .stw-eq-contact b { font: 600 16px/1.5 var(--s-sans)!important; color: #fff!important; }

.stw-eq .stw-eq-map { border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); }
.stw-eq .stw-eq-map iframe { display: block; width: 100%!important; height: 230px!important; border: 0; filter: grayscale(.25); }

/* form card */
.stw-eq .stw-eq-card {
	position: relative;
	padding: 38px 32px;
	border-radius: 26px;
	background: rgba(255,255,255,.98);
	color: var(--s-ink);
	box-shadow: 0 40px 90px -30px rgba(0,0,0,.75);
}
.stw-eq .stw-eq-card::before {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: 27px;
	padding: 1px;
	background: linear-gradient(135deg,var(--s-gold-lt),transparent 40%,transparent 60%,var(--s-gold));
	-webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}
.stw-eq .stw-eq-ribbon {
	position: absolute;
	top: -14px;
	right: 26px;
	padding: 7px 14px;
	border-radius: 30px;
	background: linear-gradient(135deg,var(--s-gold-lt),var(--s-gold));
	font: 800 11px var(--s-sans)!important;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: #17110c!important;
	box-shadow: var(--s-sh-sm);
}
.stw-eq .stw-eq-card h3 { font-family: var(--s-serif)!important; font-weight: 600!important; font-size: 32px!important; line-height: 1.1!important; color: var(--s-ink)!important; margin: 0 0 4px!important; }
.stw-eq p.stw-eq-sub { font: 400 14px var(--s-sans)!important; color: var(--s-muted)!important; margin: 0 0 22px!important; }

.stw-eq .stw-eq-field { position: relative; margin-bottom: 14px; }
.stw-eq .stw-eq-field i { position: absolute; left: 17px; top: 50%; transform: translateY(-50%); z-index: 1; color: var(--s-gold-dk); font-size: 14px; pointer-events: none; }
.stw-eq .stw-eq-field input,
.stw-eq .stw-eq-field select,
.stw-eq .stw-eq-field textarea {
	width: 100%!important;
	height: auto!important;
	margin: 0!important;
	padding: 15px 16px 15px 46px!important;
	border-radius: 14px!important;
	border: 1.5px solid transparent!important;
	background-color: var(--s-cream)!important;
	font: 500 15px var(--s-sans)!important;
	color: var(--s-ink)!important;
	box-shadow: none!important;
	transition: all .3s;
	-webkit-appearance: none;
	appearance: none;
}
.stw-eq .stw-eq-field select {
	background-image: linear-gradient(45deg,transparent 50%,var(--s-ink) 50%),linear-gradient(135deg,var(--s-ink) 50%,transparent 50%)!important;
	background-position: calc(100% - 22px) 50%,calc(100% - 16px) 50%!important;
	background-size: 6px 6px!important;
	background-repeat: no-repeat!important;
}
.stw-eq .stw-eq-field-ta textarea { padding-left: 16px!important; min-height: 100px; resize: vertical; }
.stw-eq .stw-eq-field input:focus,
.stw-eq .stw-eq-field select:focus,
.stw-eq .stw-eq-field textarea:focus {
	outline: none!important;
	border-color: var(--s-gold)!important;
	background-color: #fff!important;
	box-shadow: 0 0 0 4px rgba(201,161,74,.15)!important;
}
.stw-eq .stw-eq-card .stw-btn { width: 100%; margin-top: 4px; }
.stw-eq .stw-eq-trust { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.stw-eq .stw-eq-trust span { font: 500 11.5px var(--s-sans)!important; color: var(--s-muted)!important; }
.stw-eq .stw-eq-trust i { margin-right: 5px; color: var(--s-gold-dk); }

/* =====================================================================
   PROJECT GALLERY – animation only (original markup untouched)
   ===================================================================== */
.rts-project-area .rts-product-one { overflow: hidden; border-radius: 18px; position: relative; }
.rts-project-area .rts-product-one img { transition: transform 1.1s cubic-bezier(.22,.8,.24,1), filter .6s; cursor: zoom-in; }
.rts-project-area .rts-product-one:hover img { transform: scale(1.08); filter: brightness(.85); }
.rts-project-area .rts-product-one::after {
	content: "+";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 56px;
	height: 56px;
	margin: -28px 0 0 -28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255,255,255,.92);
	color: #0b1626;
	font: 300 32px/1 sans-serif;
	opacity: 0;
	transform: scale(.6);
	transition: opacity .4s, transform .4s cubic-bezier(.22,.8,.24,1);
	pointer-events: none;
}
.rts-project-area .rts-product-one:hover::after { opacity: 1; transform: scale(1); }

.stw-js .stw-gal-head { opacity: 0; transform: translateY(40px); transition: opacity 1s cubic-bezier(.22,.8,.24,1), transform 1s cubic-bezier(.22,.8,.24,1); }
.stw-js .stw-gal-item { opacity: 0; transform: translateY(50px) scale(.96); transition: opacity .9s cubic-bezier(.22,.8,.24,1) var(--d,0s), transform .9s cubic-bezier(.22,.8,.24,1) var(--d,0s); }
.stw-js .stw-gal-head.stw-gal-in,
.stw-js .stw-gal-item.stw-gal-in { opacity: 1; transform: none; }

/* =====================================================================
   Responsive – sections 7 to 9
   ===================================================================== */
@media(max-width:991px) {
	.stw-iv .stw-iv-grid,
	.stw-ar .stw-ar-grid,
	.stw-eq .stw-eq-grid { grid-template-columns: 1fr; gap: 44px; }
	.stw-ar .stw-ar-img { max-width: 560px; }
}
@media(max-width:575px) {
	.stw-iv .stw-iv-cards { grid-template-columns: 1fr; }
	.stw-ar .stw-ar-trio b { min-width: 100px; font-size: 24px!important; }
	.stw-eq .stw-eq-card { padding: 32px 20px; }
}
@media (prefers-reduced-motion:reduce) {
	.stw-js .stw-gal-head,.stw-js .stw-gal-item { opacity: 1; transform: none; transition: none; }
	.rts-project-area .rts-product-one img,.rts-project-area .rts-product-one::after { transition: none; }
}

/* =====================================================================
   V2 FIXES – Enquiry (light, blends into footer) · Brochure modal ·
   Gallery typography · Full responsive pass
   ===================================================================== */

/* ---------- 9. ENQUIRY – light version so it separates cleanly from the dark footer ---------- */
.stw-eq {
	background: linear-gradient(180deg,#fff 0%,var(--s-cream) 100%)!important;
	color: var(--s-ink)!important;
	padding-bottom: 60px!important;
}
.stw-eq .stw-eq-bg {
	left: auto;
	width: 46%;
	opacity: .07;
	filter: grayscale(1);
	-webkit-mask-image: linear-gradient(to left,#000 30%,transparent);
	mask-image: linear-gradient(to left,#000 30%,transparent);
}
.stw-eq::after { display: none!important; }
.stw-eq::before {
	content: "";
	position: absolute;
	left: -180px;
	bottom: -180px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(201,161,74,.16),transparent 65%);
	pointer-events: none;
}
.stw-eq p.stw-eq-text { color: var(--s-muted)!important; }

.stw-eq .stw-eq-contact > a,
.stw-eq .stw-eq-contact > div {
	color: var(--s-ink)!important;
	padding: 14px 18px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--s-cream-2);
	box-shadow: 0 10px 24px -18px rgba(11,22,38,.35);
	transition: transform .35s var(--s-ease),border-color .35s;
}
.stw-eq .stw-eq-contact > a:hover { transform: translateY(-3px); border-color: var(--s-gold); }
.stw-eq .stw-eq-contact i { background: var(--s-navy)!important; color: var(--s-gold-lt)!important; }
.stw-eq .stw-eq-contact small { color: var(--s-muted)!important; }
.stw-eq .stw-eq-contact b { color: var(--s-ink)!important; font-size: 15.5px!important; }
.stw-eq .stw-eq-map { border: 6px solid #fff; box-shadow: 0 24px 50px -28px rgba(11,22,38,.5); }

/* form card – navy so it stands out on the light section */
.stw-eq .stw-eq-card {
	background: radial-gradient(500px 300px at 100% 0%,rgba(201,161,74,.16),transparent 60%),
	            linear-gradient(160deg,var(--s-navy-2) 0%,var(--s-navy) 100%)!important;
	color: #fff!important;
	padding: 42px 36px!important;
	box-shadow: 0 50px 90px -40px rgba(11,22,38,.75)!important;
}
.stw-eq .stw-eq-card h3 { color: #fff!important; font-size: 36px!important; }
.stw-eq p.stw-eq-sub { color: rgba(255,255,255,.65)!important; }
.stw-eq .stw-eq-field i { color: var(--s-gold-lt)!important; }
.stw-eq .stw-eq-field input,
.stw-eq .stw-eq-field select,
.stw-eq .stw-eq-field textarea {
	background-color: rgba(255,255,255,.06)!important;
	border: 1.5px solid rgba(236,213,158,.18)!important;
	color: #fff!important;
}
.stw-eq .stw-eq-field input::placeholder,
.stw-eq .stw-eq-field textarea::placeholder { color: rgba(255,255,255,.55)!important; opacity: 1; }
.stw-eq .stw-eq-field select {
	background-image: linear-gradient(45deg,transparent 50%,#ecd59e 50%),linear-gradient(135deg,#ecd59e 50%,transparent 50%)!important;
	color: rgba(255,255,255,.85)!important;
}
.stw-eq .stw-eq-field select option { color: var(--s-ink); background: #fff; }
.stw-eq .stw-eq-field input:focus,
.stw-eq .stw-eq-field select:focus,
.stw-eq .stw-eq-field textarea:focus {
	background-color: rgba(255,255,255,.1)!important;
	border-color: var(--s-gold)!important;
	box-shadow: 0 0 0 4px rgba(201,161,74,.18)!important;
}
.stw-eq .stw-eq-field input:-webkit-autofill {
	-webkit-text-fill-color: #fff!important;
	-webkit-box-shadow: 0 0 0 40px #17283f inset!important;
}
.stw-eq .stw-eq-trust span { color: rgba(255,255,255,.6)!important; }
.stw-eq .stw-eq-trust i { color: var(--s-gold-lt)!important; }
.stw-eq #form-messages:empty { display: none; }

/* ---------- BROCHURE MODAL – .stw-bm ---------- */
.stw-bm {
	--m-navy: #0b1626; --m-navy-2: #14263d; --m-gold: #c9a14a; --m-gold-lt: #ecd59e; --m-gold-dk: #9f7a2c;
	--m-cream: #f6f3ea; --m-ink: #16202e; --m-muted: #6b6f78;
	--m-serif: 'Cormorant Garamond',Georgia,serif; --m-sans: 'Manrope',system-ui,sans-serif;
}
.stw-bm .modal-dialog { max-width: 860px; padding: 0 12px; }
.stw-bm .modal-content {
	position: relative;
	border: none!important;
	border-radius: 26px!important;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 60px 120px -40px rgba(0,0,0,.6)!important;
}
.stw-bm.fade .modal-dialog { transform: translateY(30px) scale(.96); transition: transform .45s cubic-bezier(.22,.8,.24,1); }
.stw-bm.show .modal-dialog { transform: none; }
.stw-bm .stw-bm-close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: var(--m-cream)!important;
	background-size: 12px!important;
	opacity: 1!important;
	box-shadow: none!important;
	transition: transform .3s;
}
.stw-bm .stw-bm-close:hover { transform: rotate(90deg); }

.stw-bm .stw-bm-grid { display: grid; grid-template-columns: 1fr 1.1fr; }

.stw-bm .stw-bm-visual { position: relative; min-height: 520px; overflow: hidden; color: #fff; }
.stw-bm .stw-bm-visual img { position: absolute; inset: 0; width: 100%!important; height: 100%!important; object-fit: cover; }
.stw-bm .stw-bm-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(11,22,38,.97) 25%,rgba(11,22,38,.45) 65%,rgba(11,22,38,.15)); }
.stw-bm .stw-bm-visual-in { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 34px 30px; }
.stw-bm .stw-bm-chip {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 7px 14px; border-radius: 30px; margin-bottom: 14px;
	background: rgba(236,213,158,.15); border: 1px solid rgba(236,213,158,.35);
	font: 700 11px var(--m-sans)!important; letter-spacing: 1.5px; text-transform: uppercase; color: var(--m-gold-lt)!important;
}
.stw-bm .stw-bm-visual h4 { font: 600 30px/1.1 var(--m-serif)!important; color: #fff!important; margin: 0 0 16px!important; }
.stw-bm .stw-bm-visual ul { list-style: none; padding: 0!important; margin: 0 0 18px!important; }
.stw-bm .stw-bm-visual li { display: flex; align-items: center; gap: 10px; margin: 0 0 8px!important; font: 500 14px var(--m-sans)!important; color: rgba(255,255,255,.85)!important; }
.stw-bm .stw-bm-visual li i { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 9px; background: var(--m-gold); color: var(--m-navy); }
.stw-bm .stw-bm-visual small { font: 600 11px var(--m-sans)!important; letter-spacing: .8px; color: rgba(255,255,255,.55)!important; }

.stw-bm .stw-bm-form { padding: 46px 40px 38px; display: flex; flex-direction: column; justify-content: center; }
.stw-bm .stw-bm-eyebrow {
	display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px;
	font: 700 11.5px var(--m-sans)!important; letter-spacing: 3px; text-transform: uppercase; color: var(--m-gold-dk)!important;
}
.stw-bm .stw-bm-eyebrow::before { content: ""; width: 30px; height: 1px; background: currentColor; }
.stw-bm h1.modal-title { font: 600 40px/1.05 var(--m-serif)!important; color: var(--m-ink)!important; margin: 0 0 8px!important; }
.stw-bm h1.modal-title em { font-style: italic; color: var(--m-gold-dk); font-family: var(--m-serif)!important; }
.stw-bm p.stw-bm-sub { font: 400 14.5px/1.6 var(--m-sans)!important; color: var(--m-muted)!important; margin: 0 0 24px!important; }

.stw-bm .contact-form-area-one { padding: 0!important; margin: 0!important; background: none!important; box-shadow: none!important; }
.stw-bm .stw-bm-field { position: relative; margin-bottom: 14px; }
.stw-bm .stw-bm-field i { position: absolute; left: 17px; top: 50%; transform: translateY(-50%); z-index: 1; font-size: 14px; color: var(--m-gold-dk); pointer-events: none; }
.stw-bm .stw-bm-field input {
	width: 100%!important; height: auto!important; margin: 0!important;
	padding: 15px 16px 15px 46px!important;
	border-radius: 14px!important; border: 1.5px solid transparent!important;
	background: var(--m-cream)!important; box-shadow: none!important;
	font: 500 15px var(--m-sans)!important; color: var(--m-ink)!important;
	transition: all .3s;
}
.stw-bm .stw-bm-field input:focus { outline: none!important; background: #fff!important; border-color: var(--m-gold)!important; box-shadow: 0 0 0 4px rgba(201,161,74,.15)!important; }
.stw-bm .stw-bm-btn {
	position: relative; overflow: hidden; width: 100%; margin-top: 6px;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 17px 28px; border: none; border-radius: 60px; cursor: pointer;
	background: linear-gradient(135deg,var(--m-gold-lt),var(--m-gold) 50%,var(--m-gold-dk));
	box-shadow: 0 16px 34px -14px rgba(201,161,74,.8);
	font: 800 13px var(--m-sans)!important; letter-spacing: 1.5px; text-transform: uppercase; color: #17110c!important;
	transition: transform .35s,box-shadow .35s;
}
.stw-bm .stw-bm-btn::after { content: ""; position: absolute; top: 0; left: -130%; width: 60%; height: 100%; background: linear-gradient(110deg,transparent,rgba(255,255,255,.7),transparent); transform: skewX(-20deg); animation: stwAbShine 3.8s ease-in-out infinite; }
.stw-bm .stw-bm-btn:hover { transform: translateY(-3px); box-shadow: 0 24px 44px -14px rgba(201,161,74,.9); }
.stw-bm p.stw-bm-note { margin: 14px 0 0!important; text-align: center; font: 500 12px var(--m-sans)!important; color: var(--m-muted)!important; }
.stw-bm p.stw-bm-note i { color: var(--m-gold-dk); margin-right: 5px; }
.modal-backdrop.show { opacity: .75; }

/* ---------- PROJECT GALLERY – same typography as the page ---------- */
.rts-project-area {
	--g-navy: #0b1626; --g-gold: #c9a14a; --g-gold-lt: #ecd59e; --g-gold-dk: #9f7a2c; --g-cream: #f6f3ea; --g-cream-2: #ebe5d3; --g-ink: #16202e;
	background: var(--g-cream)!important;
	padding: 60px 0!important;
}
.rts-project-area .rts-title-area { margin-bottom: 0!important; }
.rts-project-area .rts-title-area::before,
.rts-project-area .rts-title-area::after { display: none!important; }
.rts-project-area .rts-title-area p.pre-title {
	display: inline-flex!important; align-items: center; gap: 12px;
	font: 700 12px 'Manrope',system-ui,sans-serif!important;
	letter-spacing: 3.5px!important; text-transform: uppercase!important;
	color: var(--g-gold-dk)!important; margin: 0 0 16px!important;
}
.rts-project-area .rts-title-area p.pre-title::before,
.rts-project-area .rts-title-area p.pre-title::after { content: ""; width: 38px; height: 1px; background: currentColor; }
.rts-project-area .rts-title-area h2.title {
	font-family: 'Cormorant Garamond',Georgia,serif!important;
	font-weight: 600!important;
	font-size: clamp(36px,4.8vw,60px)!important;
	line-height: 1.06!important;
	letter-spacing: -.5px!important;
	color: var(--g-ink)!important;
	margin: 0 0 34px!important;
}
.rts-project-area .rts-title-area h2.title .cls-span {
	font-family: 'Cormorant Garamond',Georgia,serif!important;
	font-style: italic!important;
	font-size: inherit!important;
	color: var(--g-gold-dk)!important;
	-webkit-text-fill-color: var(--g-gold-dk)!important;
	background: none!important;
}
.rts-project-area .tab-button-area-one { text-align: center; }
.rts-project-area .tab-button-area-one .nav-tabs {
	display: inline-flex!important; gap: 6px; padding: 6px!important;
	border: 1px solid var(--g-cream-2)!important; border-radius: 60px; background: #fff;
	box-shadow: 0 12px 30px -18px rgba(11,22,38,.35);
}
.rts-project-area .tab-button-area-one .nav-tabs .nav-item { margin: 0!important; }
.rts-project-area .tab-button-area-one .nav-link {
	margin: 0!important; padding: 12px 28px!important;
	border: none!important; border-radius: 60px!important;
	background: transparent!important; color: var(--g-navy)!important;
	font: 700 13px 'Manrope',system-ui,sans-serif!important; letter-spacing: 1px; text-transform: uppercase;
	transition: all .3s;
}
.rts-project-area .tab-button-area-one .nav-link:hover { color: var(--g-gold-dk)!important; }
.rts-project-area .tab-button-area-one .nav-link.active { background: var(--g-navy)!important; color: var(--g-gold-lt)!important; }
.rts-project-area .tab-content-area { margin-top: 40px!important; }
.rts-project-area .rts-product-one { box-shadow: 0 18px 40px -26px rgba(11,22,38,.55); background: #fff; }
.rts-project-area #gallery .rts-product-one img { width: 100%!important; height: 300px!important; object-fit: cover; display: block; }
.rts-project-area #floor .rts-product-one { padding: 10px; }
.rts-project-area #floor .rts-product-one img { width: 100%!important; height: 260px!important; object-fit: contain; display: block; border-radius: 12px; }

/* ---------- RESPONSIVE PASS (whole landing page) ---------- */
html, body { overflow-x: hidden; }

/* floor-plan tabs: 20% width on desktop (as set) – scrollable chips on smaller screens */
@media(max-width:1199px) {
	.stw-pl .stw-pl-tab { width: auto!important; }
}
@media(max-width:991px) {
	.stw-hero .stw-h-wrap { margin-top: -70px; }
	.stw-hero h1.stw-h-title { font-size: clamp(42px,9vw,64px)!important; }
	.stw-hero .stw-h-content { max-width: 100%; }
	.stw-about .stw-ab-content { margin-top: 30px; }
	.stw-pl .stw-pl-tabs {
		flex-wrap: nowrap; justify-content: flex-start;
		overflow-x: auto; -webkit-overflow-scrolling: touch;
		padding: 4px 2px 10px; margin-inline: -4px; scrollbar-width: none;
	}
	.stw-pl .stw-pl-tabs::-webkit-scrollbar { display: none; }
	.stw-pl .stw-pl-tab { flex: 0 0 auto; white-space: nowrap; }
	.stw-eq .stw-eq-bg { display: none; }
	.stw-bm .stw-bm-grid { grid-template-columns: 1fr; }
	.stw-bm .stw-bm-visual { min-height: 200px; }
	.stw-bm .stw-bm-visual ul { display: none; }
	.stw-bm .stw-bm-visual-in { padding: 22px 24px; }
	.stw-bm .stw-bm-visual h4 { font-size: 24px!important; margin: 0 0 6px!important; }
	.stw-bm .stw-bm-form { padding: 30px 26px 28px; }
	.rts-project-area #gallery .rts-product-one img { height: 260px!important; }
}
@media(max-width:767px) {
	.stw-sec, .stw-about, .rts-project-area { padding: 64px 0!important; }
	.stw-head { margin-bottom: 32px; }
	.stw-sec h2.stw-h2, .stw-about h2.stw-ab-title { font-size: clamp(32px,9vw,44px)!important; }
	.stw-sec p.stw-lead, .stw-iv p.stw-iv-text, .stw-eq p.stw-eq-text { font-size: 15.5px!important; }
	.stw-hero .stw-h-stats { margin-top: 36px; }
	.stw-hero .stw-h-stat { padding: 20px 12px; }
	.stw-hero .stw-h-stat span { font-size: 10px!important; letter-spacing: 1.2px; }
	.stw-sp .stw-sp-card { min-height: 520px; border-radius: 22px; }
	.stw-ft .stw-ft-grid { grid-template-columns: 1fr; }
	.stw-ft .stw-ft-card { padding: 26px 22px; }
	.stw-pl .stw-pl-img { padding: 8px; }
	.stw-pl .stw-pl-info h3 { font-size: 28px!important; }
	.stw-pl .stw-pl-table td:last-child { font-size: 19px!important; }
	.stw-lc .stw-lc-list li { font-size: 14.5px!important; }
	.stw-iv .stw-iv-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
	.stw-iv .stw-iv-card { padding: 18px 16px; }
	.stw-iv .stw-iv-card b { font-size: 13.5px!important; }
	.stw-ar .stw-ar-trio div { padding: 14px 0; }
	.stw-eq .stw-eq-card { padding: 34px 22px!important; }
	.stw-eq .stw-eq-card h3 { font-size: 30px!important; }
	.stw-eq .stw-eq-map iframe { height: 200px!important; }
	.rts-project-area .tab-button-area-one .nav-link { padding: 10px 20px!important; font-size: 12px!important; }
	.rts-project-area .tab-content-area { margin-top: 28px!important; }
	.rts-project-area .row.g-5 { --bs-gutter-y: 1.25rem; --bs-gutter-x: 1.25rem; }
}
@media(max-width:575px) {
	.stw-wrap { width: calc(100% - 32px); }
	.stw-hero .stw-h-bgimg { height: 42vh; min-height: 280px; }
	.stw-hero .stw-h-tag { font-size: 11px!important; padding: 7px 12px; }
	.stw-hero p.stw-h-sub { font-size: 15.5px!important; }
	.stw-sec .stw-btn, .stw-about .stw-ab-btn { width: 100%!important; }
	.stw-about .stw-ab-btns { flex-direction: column; align-items: stretch; }
	.stw-about .stw-ab-call { justify-content: center; }
	.stw-sp .stw-sp-body h3 { font-size: 26px!important; }
	.stw-iv .stw-iv-cards { grid-template-columns: 1fr; }
	.stw-ar .stw-ar-trio div { flex-direction: column; gap: 2px; }
	.stw-eq .stw-eq-contact > a, .stw-eq .stw-eq-contact > div { padding: 12px 14px; }
	.stw-eq .stw-eq-trust { justify-content: center; }
	.stw-bm .modal-dialog { margin: 12px auto; }
	.stw-bm h1.modal-title { font-size: 32px!important; }
	.rts-project-area #gallery .rts-product-one img { height: 230px!important; }
	.rts-project-area #floor .rts-product-one img { height: 220px!important; }
}

/* =====================================================================
   HERO STATS STRIP – half on the banner, half on the next section
   ===================================================================== */
.stw-hero {
	overflow: visible!important;          /* let the strip hang out of the banner */
	z-index: 3;                           /* keep it above the About section */
}
.stw-hero .stw-h-bgimg { overflow: hidden; }   /* image still clipped inside the banner */
.stw-hero::after { overflow: hidden; }

.stw-hero .stw-h-stats {
	margin: 70px auto 0!important;
	transform: translateY(50%);           /* exactly half below the banner */
	background: linear-gradient(160deg,#14263d 0%,#0b1626 100%)!important;
	border: 1px solid rgba(236,213,158,.22)!important;
	border-radius: 22px!important;
	box-shadow: 0 40px 70px -30px rgba(11,22,38,.65), 0 0 0 6px rgba(255,255,255,.04);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	overflow: hidden;
}
/* thin gold line on top of the strip */
.stw-hero .stw-h-stats::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 2px;
	background: linear-gradient(90deg,transparent,#ecd59e,transparent);
	opacity: .7;
}
.stw-hero .stw-h-stat { position: relative; }

/* push the About content down so the lower half of the strip has room */
.stw-hero + .stw-about { padding-top: 140px!important; }

@media(max-width:991px) {
	.stw-hero .stw-h-stats { margin-top: 50px!important; }
	.stw-hero + .stw-about { padding-top: 160px!important; }
}
@media(max-width:767px) {
	.stw-hero .stw-h-stats { margin-top: 36px!important; border-radius: 18px!important; }
	.stw-hero + .stw-about { padding-top: 140px!important; }
}
@media(max-width:575px) {
	.stw-hero + .stw-about { padding-top: 130px!important; }
}


/* =====================================================================
   DEVELOPER & LEGACY – .stw-dv  (Reimagining Pune's Skyline)
   ===================================================================== */
.stw-dv {
	--s-navy: #0b1626; --s-navy-2: #14263d; --s-gold: #c9a14a; --s-gold-lt: #ecd59e; --s-gold-dk: #9f7a2c;
	--s-ink: #16202e; --s-muted: #6b6f78;
	--s-serif: 'Cormorant Garamond',Georgia,serif; --s-sans: 'Manrope',system-ui,sans-serif; --s-ease: cubic-bezier(.22,.8,.24,1);
	position: relative;
	overflow: hidden;
	padding: 110px 0!important;
	font-family: var(--s-sans)!important;
	color: #fff;
	background: radial-gradient(900px 600px at 0% 0%,rgba(201,161,74,.16),transparent 60%),
	            radial-gradient(700px 500px at 100% 100%,rgba(201,161,74,.10),transparent 60%),
	            linear-gradient(160deg,var(--s-navy-2) 0%,var(--s-navy) 75%)!important;
}
.stw-dv * { box-sizing: border-box; }

/* faint skyline photo + dot pattern */
.stw-dv .stw-dv-bg {
	position: absolute;
	inset: 0;
	background: url('../imgs/projects/stalwart-business-enclave/aundh–baner-link-road.webp') center bottom/cover no-repeat;
	opacity: .08;
	filter: grayscale(.3);
	-webkit-mask-image: linear-gradient(to top,#000 10%,transparent 70%);
	mask-image: linear-gradient(to top,#000 10%,transparent 70%);
	pointer-events: none;
}
.stw-dv::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(236,213,158,.12) 1px,transparent 1px);
	background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(to right,#000,transparent 45%);
	mask-image: linear-gradient(to right,#000,transparent 45%);
	pointer-events: none;
}
.stw-dv .stw-dv-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.05fr; gap: 70px; align-items: center; }

/* ---- brand badge ---- */
.stw-dv .stw-dv-brand { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 28px; padding: 10px 22px 10px 10px; border-radius: 60px; background: rgba(255,255,255,.05); border: 1px solid rgba(236,213,158,.22); }
.stw-dv .stw-dv-logo { width: 74px; height: 74px; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px -10px rgba(0,0,0,.6); }
.stw-dv .stw-dv-logo img { width: 50px!important; height: 50px!important; object-fit: contain; }
.stw-dv .stw-dv-brand-txt b { display: block; font: 600 20px/1.1 var(--s-serif)!important; color: #fff!important; }
.stw-dv .stw-dv-brand-txt small { display: block; margin-top: 2px; font: 700 15px var(--s-sans)!important; letter-spacing: 1.8px; text-transform: uppercase; color: var(--s-gold)!important; }

.stw-dv p.stw-dv-text { font: 400 16.5px/1.85 var(--s-sans)!important; color: rgba(255,255,255,.72)!important; margin: 0 0 24px!important; }

.stw-dv .stw-dv-quote {
	position: relative;
	margin: 0 0 30px;
	padding: 18px 22px 18px 58px;
	border-left: 2px solid var(--s-gold);
	border-radius: 0 16px 16px 0;
	background: linear-gradient(90deg,rgba(201,161,74,.12),transparent);
	font: italic 500 21px/1.45 var(--s-serif)!important;
	color: rgba(255,255,255,.9)!important;
}
.stw-dv .stw-dv-quote i { position: absolute; left: 20px; top: 20px; font-size: 20px; color: var(--s-gold); font-style: normal; }
.stw-dv .stw-dv-quote b { color: var(--s-gold-lt); font-weight: 600; }

/* ---- partners ---- */
.stw-dv .stw-dv-partners { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.stw-dv .stw-dv-partner {
	display: flex; align-items: flex-start; gap: 14px;
	padding: 18px 18px;
	border-radius: 18px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(236,213,158,.16);
	transition: transform .45s var(--s-ease),border-color .4s,background .4s;
}
.stw-dv .stw-dv-partner:hover { transform: translateY(-4px); border-color: rgba(236,213,158,.4); background: rgba(201,161,74,.08); }
.stw-dv .stw-dv-partner > i {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px;
	display: grid; place-items: center; font-size: 17px;
	background: linear-gradient(135deg,var(--s-gold-lt),var(--s-gold)); color: var(--s-navy);
}
.stw-dv .stw-dv-partner small { display: block; font: 700 10px var(--s-sans)!important; letter-spacing: 1.8px; text-transform: uppercase; color: var(--s-gold)!important; }
.stw-dv .stw-dv-partner b { display: block; margin-top: 3px; font: 600 22px/1.15 var(--s-serif)!important; color: #fff!important; }
.stw-dv .stw-dv-partner em { display: block; margin-top: 4px; font: 500 11.5px var(--s-sans)!important; font-style: normal; color: rgba(255,255,255,.55)!important; }

/* ---- legacy panel ---- */
.stw-dv .stw-dv-panel {
	position: relative;
	padding: 36px 32px 32px;
	border-radius: 28px;
	background: linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
	border: 1px solid rgba(236,213,158,.22);
	box-shadow: 0 50px 90px -40px rgba(0,0,0,.7);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.stw-dv .stw-dv-panel::before {
	content: "";
	position: absolute;
	top: 0; left: 12%; right: 12%;
	height: 2px;
	background: linear-gradient(90deg,transparent,var(--s-gold-lt),transparent);
}
.stw-dv .stw-dv-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.stw-dv .stw-dv-panel-tag {
	padding: 7px 16px; border-radius: 30px;
	background: linear-gradient(135deg,var(--s-gold-lt),var(--s-gold));
	font: 800 11px var(--s-sans)!important; letter-spacing: 1.6px; text-transform: uppercase; color: #17110c!important;
}
.stw-dv .stw-dv-panel-head p { margin: 0!important; font: 500 20px/1.3 var(--s-serif)!important; color: rgba(255,255,255,.85)!important; }
.stw-dv .stw-dv-panel-head p em { font-style: italic; color: var(--s-gold-lt); }

.stw-dv .stw-dv-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.stw-dv .stw-dv-stat {
	position: relative;
	overflow: hidden;
	padding: 24px 16px 20px;
	border-radius: 18px;
	text-align: center;
	background: rgba(11,22,38,.55);
	border: 1px solid rgba(236,213,158,.12);
	transition: transform .45s var(--s-ease),border-color .4s,background .4s,opacity 1s var(--s-ease)!important;
}
.stw-dv .stw-dv-stat::after {
	content: "";
	position: absolute; left: 50%; bottom: 0;
	width: 0; height: 2px;
	transform: translateX(-50%);
	background: linear-gradient(90deg,var(--s-gold-lt),var(--s-gold));
	transition: width .6s var(--s-ease);
}
.stw-dv .stw-dv-stat.stw-in:hover { transform: translateY(-6px)!important; background: rgba(201,161,74,.1); border-color: rgba(236,213,158,.4); }
.stw-dv .stw-dv-stat:hover::after { width: 70%; }
.stw-dv .stw-dv-stat i {
	width: 40px; height: 40px; margin: 0 auto 12px;
	border-radius: 50%;
	display: grid; place-items: center;
	font-size: 15px;
	background: rgba(201,161,74,.14); color: var(--s-gold-lt);
	transition: all .45s var(--s-ease);
}
.stw-dv .stw-dv-stat:hover i { background: linear-gradient(135deg,var(--s-gold-lt),var(--s-gold)); color: var(--s-navy); transform: rotate(-10deg) scale(1.08); }
.stw-dv .stw-dv-stat b { display: block; font: 600 40px/1 var(--s-serif)!important; color: var(--s-gold-lt)!important; }
.stw-dv .stw-dv-stat b span { font: inherit!important; color: inherit!important; }
.stw-dv .stw-dv-stat small { display: block; margin-top: 10px; font: 700 10px/1.45 var(--s-sans)!important; letter-spacing: 1.3px; text-transform: uppercase; color: rgba(255,255,255,.65)!important; }

/* ---- disclaimer + location chips (from final content pass) ---- */
.stw-eq p.stw-disclaimer {
	position: relative; z-index: 2;
	margin: 50px 0 0!important; padding-top: 24px;
	border-top: 1px solid #ebe5d3;
	font: 400 11.5px/1.7 'Manrope',system-ui,sans-serif!important;
	color: #6b6f78!important;
}
.stw-eq p.stw-disclaimer b { color: #16202e; }
.stw-lc .stw-lc-chips { margin-top: 20px; }

/* ---- responsive ---- */
@media(max-width:1199px) {
	.stw-dv .stw-dv-grid { gap: 44px; }
	.stw-dv .stw-dv-panel { padding: 30px 24px 26px; }
}
@media(max-width:991px) {
	.stw-dv { padding: 80px 0!important; }
	.stw-dv .stw-dv-grid { grid-template-columns: 1fr; }
}
@media(max-width:767px) {
	.stw-dv { padding: 64px 0!important; }
	.stw-dv .stw-dv-quote { font-size: 18px!important; padding: 16px 18px 16px 50px; }
	.stw-dv .stw-dv-stats { grid-template-columns: repeat(2,1fr); }
	.stw-dv .stw-dv-stat b { font-size: 34px!important; }
}
@media(max-width:575px) {
	.stw-dv .stw-dv-brand { padding-right: 16px; }
	.stw-dv .stw-dv-partners { grid-template-columns: 1fr; }
	.stw-dv .stw-dv-panel { padding: 26px 16px 18px; border-radius: 22px; }
	.stw-dv .stw-dv-panel-head p { font-size: 18px!important; }
	.stw-dv .stw-dv-stat { padding: 20px 10px 16px; }
	.stw-eq p.stw-disclaimer { margin-top: 36px!important; font-size: 11px!important; }
}
@media (prefers-reduced-motion:reduce) {
	.stw-dv *,.stw-dv *::before,.stw-dv *::after { animation: none!important; transition: none!important; }
}


/* =====================================================================
   DISCLAIMER CARD – .stw-disc (inside Enquiry section)
   ===================================================================== */
.stw-eq .stw-disc {
	position: relative;
	z-index: 2;
	margin-top: 56px;
	padding: 24px 28px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 22px;
	border-radius: 20px;
	background: #fff;
	border: 1px solid #ebe5d3;
	box-shadow: 0 18px 40px -30px rgba(11,22,38,.45);
	overflow: hidden;
}
.stw-eq .stw-disc::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(180deg,#ecd59e,#c9a14a,#9f7a2c);
}
.stw-eq .stw-disc-head { display: flex; align-items: center; gap: 12px; }
.stw-eq .stw-disc-ico {
	flex: 0 0 38px; width: 38px; height: 38px;
	border-radius: 50%;
	display: grid; place-items: center;
	background: #0b1626; color: #ecd59e;
	font-size: 13px;
}
.stw-eq .stw-disc-head b {
	font: 700 11.5px 'Manrope',system-ui,sans-serif!important;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #9f7a2c!important;
	white-space: nowrap;
}
.stw-eq .stw-disc p.stw-disclaimer {
	margin: 0!important;
	padding: 0 0 0 22px!important;
	border: none!important;
	border-left: 1px solid #ebe5d3!important;
	font: 400 12px/1.75 'Manrope',system-ui,sans-serif!important;
	color: #6b6f78!important;
}
.stw-eq .stw-disc-rera { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.stw-eq .stw-disc-chip {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 16px;
	border-radius: 40px;
	background: #0b1626;
	font: 600 12px 'Manrope',system-ui,sans-serif!important;
	color: rgba(255,255,255,.8)!important;
	white-space: nowrap;
}
.stw-eq .stw-disc-chip i { color: #c9a14a; }
.stw-eq .stw-disc-chip b { color: #ecd59e; font-weight: 700; letter-spacing: .3px; }
.stw-eq .stw-disc-link {
	display: inline-flex; align-items: center; gap: 6px;
	font: 600 12px 'Manrope',system-ui,sans-serif!important;
	color: #9f7a2c!important;
	text-decoration: none!important;
	transition: color .3s;
}
.stw-eq .stw-disc-link i { font-size: 10px; transition: transform .3s; }
.stw-eq .stw-disc-link:hover { color: #0b1626!important; }
.stw-eq .stw-disc-link:hover i { transform: translate(2px,-2px); }

@media(max-width:991px) {
	.stw-eq .stw-disc { grid-template-columns: 1fr; gap: 14px; padding: 22px 22px 22px 26px; }
	.stw-eq .stw-disc p.stw-disclaimer { padding: 0!important; border-left: none!important; }
	.stw-eq .stw-disc-rera { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
}
@media(max-width:575px) {
	.stw-eq .stw-disc { margin-top: 40px; border-radius: 16px; }
	.stw-eq .stw-disc p.stw-disclaimer { font-size: 11.5px!important; }
	.stw-eq .stw-disc-chip { white-space: normal; }
}

/* =====================================================================
   COMMON POPUP FORM – same look as the "Enquire Now" card (.stw-bm)
   ===================================================================== */
.stw-bm .modal-dialog { max-width: 920px; }
.stw-bm .stw-bm-grid { grid-template-columns: .9fr 1.1fr; }
.stw-bm .stw-bm-visual { min-height: 600px; }

/* right side = navy enquiry card */
.stw-bm .stw-bm-form {
	position: relative;
	padding: 48px 40px 36px!important;
	background: radial-gradient(500px 300px at 100% 0%,rgba(201,161,74,.18),transparent 60%),
	            linear-gradient(160deg,#14263d 0%,#0b1626 100%)!important;
	color: #fff;
}
.stw-bm .stw-bm-ribbon {
	position: absolute;
	top: 18px;
	left: 40px;
	right: auto;
	padding: 6px 13px;
	border-radius: 30px;
	background: linear-gradient(135deg,#ecd59e,#c9a14a);
	font: 800 10.5px 'Manrope',system-ui,sans-serif!important;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: #17110c!important;
}
.stw-bm .stw-bm-eyebrow { margin-top: 22px; color: #c9a14a!important; }
.stw-bm h1.modal-title { color: #fff!important; }
.stw-bm h1.modal-title em { color: #ecd59e!important; }
.stw-bm p.stw-bm-sub { color: rgba(255,255,255,.65)!important; }

/* close button sits on the navy panel */
.stw-bm .stw-bm-close {
	background-color: rgba(255,255,255,.1)!important;
	filter: invert(1) grayscale(1) brightness(2);
}

/* fields – identical to the Enquire Now form */
.stw-bm .stw-bm-field { position: relative; margin-bottom: 14px; }
.stw-bm .stw-bm-field i { color: #ecd59e!important; }
.stw-bm .stw-bm-field input,
.stw-bm .stw-bm-field select,
.stw-bm .stw-bm-field textarea {
	width: 100%!important;
	height: auto!important;
	margin: 0!important;
	padding: 15px 16px 15px 46px!important;
	border-radius: 14px!important;
	border: 1.5px solid rgba(236,213,158,.18)!important;
	background-color: rgba(255,255,255,.06)!important;
	box-shadow: none!important;
	font: 500 15px 'Manrope',system-ui,sans-serif!important;
	color: #fff!important;
	transition: all .3s;
	-webkit-appearance: none;
	appearance: none;
}
.stw-bm .stw-bm-field input::placeholder,
.stw-bm .stw-bm-field textarea::placeholder { color: rgba(255,255,255,.55)!important; opacity: 1; }
.stw-bm .stw-bm-field select {
	color: rgba(255,255,255,.85)!important;
	background-image: linear-gradient(45deg,transparent 50%,#ecd59e 50%),linear-gradient(135deg,#ecd59e 50%,transparent 50%)!important;
	background-position: calc(100% - 22px) 50%,calc(100% - 16px) 50%!important;
	background-size: 6px 6px!important;
	background-repeat: no-repeat!important;
}
.stw-bm .stw-bm-field select option { color: #16202e; background: #fff; }
.stw-bm .stw-bm-field-ta textarea { padding-left: 16px!important; min-height: 90px; resize: vertical; }
.stw-bm .stw-bm-field input:focus,
.stw-bm .stw-bm-field select:focus,
.stw-bm .stw-bm-field textarea:focus {
	outline: none!important;
	background-color: rgba(255,255,255,.1)!important;
	border-color: #c9a14a!important;
	box-shadow: 0 0 0 4px rgba(201,161,74,.18)!important;
}
.stw-bm .stw-bm-field input:-webkit-autofill {
	-webkit-text-fill-color: #fff!important;
	-webkit-box-shadow: 0 0 0 40px #17283f inset!important;
}

.stw-bm .stw-bm-btn { margin-top: 4px; }
.stw-bm .stw-bm-trust { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.stw-bm .stw-bm-trust span { font: 500 11.5px 'Manrope',system-ui,sans-serif!important; color: rgba(255,255,255,.6)!important; }
.stw-bm .stw-bm-trust i { margin-right: 5px; color: #ecd59e; }

/* buttons that were links are now <button> – keep them looking identical */
.stw-sec button.stw-btn { font-family: 'Manrope',system-ui,sans-serif!important; line-height: 1.2!important; }

@media(max-width:991px) {
	.stw-bm .stw-bm-grid { grid-template-columns: 1fr; }
	.stw-bm .stw-bm-visual { min-height: 180px; }
	.stw-bm .stw-bm-form { padding: 46px 24px 28px!important; }
	.stw-bm .stw-bm-ribbon { left: 24px; }
}
@media(max-width:575px) {
	.stw-bm .stw-bm-visual { display: none; }
	.stw-bm .modal-content { border-radius: 20px!important; }
	.stw-bm .stw-bm-trust { justify-content: center; }
}

/* =====================================================================
   LANDING HEADER – .stw-hd (transparent over banner → solid on scroll)
   ===================================================================== */
.stw-hd {
	--hd-navy: #0b1626; --hd-gold: #c9a14a; --hd-gold-lt: #ecd59e; --hd-gold-dk: #9f7a2c;
	--hd-serif: 'Cormorant Garamond',Georgia,serif; --hd-sans: 'Manrope',system-ui,sans-serif;
	--hd-ease: cubic-bezier(.22,.8,.24,1);
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1000;
	padding: 22px 0;
	background: linear-gradient(to bottom,rgba(11,22,38,.55),rgba(11,22,38,0));
	transition: padding .45s var(--hd-ease),background .45s var(--hd-ease),box-shadow .45s var(--hd-ease);
	font-family: var(--hd-sans)!important;
	animation: stwHdIn .9s var(--hd-ease) both;
}
.stw-hd * { box-sizing: border-box; }
.stw-hd.is-solid {
	padding: 12px 0;
	background: rgba(11,22,38,.92);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: 0 14px 40px -20px rgba(0,0,0,.6);
}
.stw-hd::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: linear-gradient(90deg,transparent,rgba(236,213,158,.35),transparent);
	opacity: 0;
	transition: opacity .45s;
}
.stw-hd.is-solid::after { opacity: 1; }

.stw-hd .stw-hd-in {
	width: min(1320px,100% - 40px);
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

/* ---- logo ---- */
.stw-hd .stw-hd-brand { display: flex; align-items: center; gap: 14px; text-decoration: none!important; flex-shrink: 0; }
.stw-hd .stw-hd-logo {
	width: 54px; height: 54px;
	border-radius: 14px;
	background: #fff;
	display: grid; place-items: center;
	box-shadow: 0 10px 24px -12px rgba(0,0,0,.6);
	transition: width .45s var(--hd-ease),height .45s var(--hd-ease);
}
.stw-hd .stw-hd-logo img { width: 72%!important; height: 72%!important; object-fit: contain; }
.stw-hd.is-solid .stw-hd-logo { width: 46px; height: 46px; }
.stw-hd .stw-hd-sep { width: 1px; height: 38px; background: rgba(236,213,158,.35); }
.stw-hd .stw-hd-word { display: flex; flex-direction: column; line-height: 1; }
.stw-hd .stw-hd-word b { font: 600 27px/1 var(--hd-serif)!important; letter-spacing: 4px; color: #fff!important; }
.stw-hd .stw-hd-word small { margin-top: 6px; font: 700 9.5px var(--hd-sans)!important; letter-spacing: 3px; text-transform: uppercase; color: var(--hd-gold-lt)!important; }

/* ---- desktop nav ---- */
.stw-hd .stw-hd-nav { display: flex; align-items: center; gap: 6px; }
.stw-hd .stw-hd-nav a {
	position: relative;
	padding: 10px 14px;
	font: 600 14px var(--hd-sans)!important;
	color: rgba(255,255,255,.85)!important;
	text-decoration: none!important;
	transition: color .3s;
}
.stw-hd .stw-hd-nav a::after {
	content: "";
	position: absolute;
	left: 14px; right: 14px; bottom: 4px;
	height: 1.5px;
	background: var(--hd-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--hd-ease);
}
.stw-hd .stw-hd-nav a:hover,
.stw-hd .stw-hd-nav a.is-active { color: var(--hd-gold-lt)!important; }
.stw-hd .stw-hd-nav a:hover::after,
.stw-hd .stw-hd-nav a.is-active::after { transform: scaleX(1); }

/* ---- right side ---- */
.stw-hd .stw-hd-cta { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.stw-hd .stw-hd-call { display: flex; align-items: center; gap: 10px; text-decoration: none!important; color: #fff!important; font: 700 15px var(--hd-sans)!important; }
.stw-hd .stw-hd-call i {
	width: 40px; height: 40px; border-radius: 50%;
	display: grid; place-items: center;
	border: 1px solid rgba(236,213,158,.4);
	color: var(--hd-gold-lt);
	font-size: 14px;
	animation: stwHdRing 2.6s infinite;
}
.stw-hd .stw-hd-call small { display: block; margin-bottom: 2px; font: 700 9.5px var(--hd-sans)!important; letter-spacing: 1.6px; text-transform: uppercase; color: rgba(255,255,255,.6)!important; }

.stw-hd-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 24px!important;
	border: none!important;
	border-radius: 50px!important;
	background: linear-gradient(135deg,#ecd59e,#c9a14a 50%,#9f7a2c)!important;
	box-shadow: 0 12px 26px -12px rgba(201,161,74,.8);
	font: 800 12px 'Manrope',system-ui,sans-serif!important;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #17110c!important;
	cursor: pointer;
	white-space: nowrap;
	transition: transform .35s,box-shadow .35s;
}
.stw-hd-btn::after { content: ""; position: absolute; top: 0; left: -130%; width: 60%; height: 100%; background: linear-gradient(110deg,transparent,rgba(255,255,255,.7),transparent); transform: skewX(-20deg); animation: stwHdShine 3.8s ease-in-out infinite; }
.stw-hd-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 32px -12px rgba(201,161,74,.9); }

/* ---- burger ---- */
.stw-hd .stw-hd-burger {
	display: none;
	width: 46px; height: 46px;
	border-radius: 5px;
	border: 1px solid rgba(236,213,158,.4)!important;
	background: rgba(255,255,255,.06)!important;
	padding: 0px 5px !important;
	cursor: pointer;
	position: relative;
}
.stw-hd .stw-hd-burger span {
	position: absolute; left: 0px; right: 0px;
	height: 1.5px; border-radius: 2px !important;
	background: #fff;
	transition: transform .4s var(--hd-ease),opacity .3s,top .4s var(--hd-ease);
}
.stw-hd .stw-hd-burger span:nth-child(1) { top: 16px; }
.stw-hd .stw-hd-burger span:nth-child(2) { top: 22px; right: 18px; }
.stw-hd .stw-hd-burger span:nth-child(3) { top: 28px; }
.stw-menu-open .stw-hd .stw-hd-burger span:nth-child(1) { top: 22px; transform: rotate(45deg); }
.stw-menu-open .stw-hd .stw-hd-burger span:nth-child(2) { opacity: 0; }
.stw-menu-open .stw-hd .stw-hd-burger span:nth-child(3) { top: 22px; transform: rotate(-45deg); }

/* ---- mobile menu panel ---- */
.stw-hd-menu {
	position: fixed;
	inset: 0;
	z-index: 999;
	background: radial-gradient(600px 400px at 100% 0%,rgba(201,161,74,.16),transparent 60%),
	            linear-gradient(160deg,#14263d 0%,#0b1626 100%);
	opacity: 0;
	visibility: hidden;
	clip-path: circle(0% at calc(100% - 44px) 44px);
	transition: clip-path .7s cubic-bezier(.22,.8,.24,1),opacity .4s,visibility .7s;
	font-family: 'Manrope',system-ui,sans-serif;
}
.stw-menu-open .stw-hd-menu { opacity: 1; visibility: visible; clip-path: circle(150% at calc(100% - 44px) 44px); }
.stw-menu-open { overflow: hidden; }
.stw-hd-menu .stw-hd-menu-in { height: 100%; display: flex; flex-direction: column; justify-content: flex-start; padding: 100px 28px 30px; overflow-y: auto; }
.stw-hd-menu .stw-hd-menu-nav { display: flex; flex-direction: column; }
.stw-hd-menu .stw-hd-menu-nav a {
	display: flex; align-items: baseline; gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(236,213,158,.12);
	font: 600 28px/1.1 'Cormorant Garamond',Georgia,serif!important;
	color: #fff!important;
	text-decoration: none!important;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .5s,transform .5s,color .3s;
}
.stw-hd-menu .stw-hd-menu-nav a span { font: 700 11px 'Manrope',system-ui,sans-serif; letter-spacing: 1.5px; color: #c9a14a; }
.stw-hd-menu .stw-hd-menu-nav a.is-active,
.stw-hd-menu .stw-hd-menu-nav a:hover { color: #ecd59e!important; }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a { opacity: 1; transform: none; }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a:nth-child(1) { transition-delay: .15s; }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a:nth-child(2) { transition-delay: .2s; }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a:nth-child(3) { transition-delay: .25s; }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a:nth-child(4) { transition-delay: .3s; }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a:nth-child(5) { transition-delay: .35s; }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a:nth-child(6) { transition-delay: .4s; }
.stw-hd-menu .stw-hd-menu-foot { display: flex; flex-direction: column; gap: 14px; margin-top: 34px; }
.stw-hd-menu .stw-hd-menu-foot .stw-hd-btn { width: 100%; padding: 16px 24px!important; }
.stw-hd-menu .stw-hd-menu-call { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px; border-radius: 50px; border: 1px solid rgba(236,213,158,.35); color: #fff!important; font: 700 15px 'Manrope',system-ui,sans-serif!important; text-decoration: none!important; }
.stw-hd-menu .stw-hd-menu-call i { color: #ecd59e; }
.stw-hd-menu .stw-hd-menu-foot small { text-align: center; font: 600 11px 'Manrope',system-ui,sans-serif; letter-spacing: .5px; color: rgba(255,255,255,.5); }

/* ---- banner sits under the transparent header ---- */
.stw-hero { padding-top: 150px!important; min-height: 100vh!important; }

/* ---- keyframes ---- */
@keyframes stwHdIn { from { transform: translateY(-100%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes stwHdShine { 0%,60% { left: -130%; } 100% { left: 160%; } }
@keyframes stwHdRing { 0%,100% { transform: rotate(0); } 8%,24% { transform: rotate(-14deg); } 16%,32% { transform: rotate(14deg); } 40% { transform: rotate(0); } }

/* ---- responsive ---- */
@media(max-width:5099px) {
	.stw-hd .stw-hd-nav a { padding: 10px 10px; font-size: 13.5px!important; }
	.stw-hd .stw-hd-call span { display: none; }
}
@media(max-width:1199px) {
	.stw-hd .stw-hd-nav { display: none; }
	.stw-hd .stw-hd-burger { display: block; }
}
@media(max-width:991px) {
	.stw-hero { padding-top: 0!important; min-height: auto!important; }
}
@media(max-width:767px) {
	.stw-hd { padding: 14px 0; }
	.stw-hd.is-solid { padding: 10px 0; }
	.stw-hd .stw-hd-in { width: calc(100% - 28px); gap: 12px; }
	.stw-hd .stw-hd-logo { width: 44px; height: 44px; border-radius: 12px; }
	.stw-hd.is-solid .stw-hd-logo { width: 40px; height: 40px; }
	.stw-hd .stw-hd-sep { height: 30px; }
	.stw-hd .stw-hd-word b { font-size: 21px!important; letter-spacing: 3px; }
	.stw-hd .stw-hd-word small { font-size: 8px!important; letter-spacing: 2px; }
	.stw-hd .stw-hd-cta > .stw-hd-btn { display: none; }
	.stw-hd .stw-hd-call i { width: 42px; height: 42px; }
	.stw-hd .stw-hd-cta { gap: 10px; }
}
@media(max-width:400px) {
	.stw-hd .stw-hd-sep, .stw-hd .stw-hd-word small { display: none; }
}
@media (prefers-reduced-motion:reduce) {
	.stw-hd, .stw-hd *, .stw-hd-menu, .stw-hd-menu * { animation: none!important; transition: none!important; }
}


/* ---- Home link → main website (index.php) ---- */
.stw-hd .stw-hd-logo { text-decoration: none!important; transition: width .45s var(--hd-ease),height .45s var(--hd-ease),transform .35s,box-shadow .35s; }
.stw-hd a.stw-hd-logo:hover { transform: translateY(-2px); box-shadow: 0 0 0 3px rgba(236,213,158,.45),0 10px 24px -12px rgba(0,0,0,.6); }
.stw-hd a.stw-hd-word { text-decoration: none!important; }
.stw-hd .stw-hd-nav a.stw-hd-home { display: inline-flex; align-items: center; gap: 7px; margin-right: 6px; }
.stw-hd .stw-hd-nav a.stw-hd-home i { font-size: 12px; color: var(--hd-gold-lt); }
.stw-hd .stw-hd-nav a.stw-hd-home::before { content: ""; position: absolute; right: -4px; top: 50%; width: 1px; height: 16px; margin-top: -8px; background: rgba(236,213,158,.3); }
.stw-hd-menu .stw-hd-menu-nav a.stw-hd-menu-home span i { font-size: 12px; }
.stw-hd-menu .stw-hd-menu-site { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 6px; font: 700 12.5px 'Manrope',system-ui,sans-serif!important; letter-spacing: .6px; color: #ecd59e!important; text-decoration: none!important; }
.stw-hd-menu .stw-hd-menu-site i { font-size: 11px; transition: transform .3s; }
.stw-hd-menu .stw-hd-menu-site:hover i { transform: translateX(-4px); }
.stw-menu-open .stw-hd-menu .stw-hd-menu-nav a:nth-child(7) { transition-delay: .45s; }
@media(max-width:1399px) { .stw-hd .stw-hd-nav a.stw-hd-home span { display: none; } }

/* =====================================================================
   STATS STRIP UNDER THE CAROUSEL BANNER – half on banner, half on About
   (.stw-hero.stw-hero-strip = only the stats strip, no hero content)
   ===================================================================== */
#carouselExampleIndicators.stw-banner { position: relative; z-index: 1; }

.stw-hero.stw-hero-strip {
	display: block!important;
	position: relative!important;
	z-index: 5!important;
	height: 0!important;
	min-height: 0!important;
	padding: 0!important;
	margin: 0!important;
	overflow: visible!important;
	background: transparent!important;
}
.stw-hero.stw-hero-strip::before,
.stw-hero.stw-hero-strip::after { display: none!important; }

.stw-hero.stw-hero-strip .stw-h-stats {
	margin: 0 auto!important;
	transform: translateY(-50%);              /* centre of strip = bottom edge of banner */
	width: min(1240px,100% - 40px);
	grid-template-columns: repeat(4,1fr)!important;
}
.stw-hero.stw-hero-strip .stw-h-stat { animation-delay: .2s; }
.stw-hero.stw-hero-strip .stw-h-stat:nth-child(2) { animation-delay: .3s; }
.stw-hero.stw-hero-strip .stw-h-stat:nth-child(3) { animation-delay: .4s; }
.stw-hero.stw-hero-strip .stw-h-stat:nth-child(4) { animation-delay: .5s; border-right: none; }
.stw-hero.stw-hero-strip .stw-h-stat:nth-child(-n+2) { border-bottom: none!important; }
.stw-hero.stw-hero-strip .stw-h-stat:nth-child(2) { border-right: 1px solid rgba(236,213,158,.12)!important; }

/* About gets room for the lower half of the strip */
.stw-hero.stw-hero-strip + .stw-about { padding-top: 130px!important; }


@media(max-width:1199px) {
	.stw-hero.stw-hero-strip .stw-h-stat { padding: 22px 12px; }
	.stw-hero.stw-hero-strip .stw-h-stat b { font-size: 36px!important; }
}
@media(max-width:991px) {
	.stw-hero.stw-hero-strip .stw-h-stat b { font-size: 32px!important; }
	.stw-hero.stw-hero-strip .stw-h-stat span { font-size: 10px!important; letter-spacing: 1.2px; }
	.stw-hero.stw-hero-strip + .stw-about { padding-top: 110px!important; }
}
@media(max-width:767px) {
	.stw-hero.stw-hero-strip .stw-h-stats { width: calc(100% - 28px); border-radius: 16px!important; }
	.stw-hero.stw-hero-strip .stw-h-stat { padding: 14px 4px; }
	.stw-hero.stw-hero-strip .stw-h-stat b { font-size: 24px!important; }
	.stw-hero.stw-hero-strip .stw-h-stat span { margin-top: 6px; font-size: 8.5px!important; letter-spacing: .6px; line-height: 1.35; }
	.stw-hero.stw-hero-strip + .stw-about { padding-top: 80px!important; }
}
@media(max-width:380px) {
	.stw-hero.stw-hero-strip .stw-h-stat b { font-size: 21px!important; }
	.stw-hero.stw-hero-strip .stw-h-stat span { font-size: 7.5px!important; }
}

/* =====================================================================
   SINGLE BANNER – .stw-banner (one image, centred on every screen)
   ===================================================================== */
.stw-banner {
	position: relative!important;
	z-index: 1;
	width: 100%;
	overflow: hidden!important;
	background: #0b1626;
}
.stw-banner .stw-banner-img {
	display: block!important;
	width: 100%!important;
	height: auto;
	object-fit: cover;
	object-position: center center;
	animation: stwBannerZoom 1.6s cubic-bezier(.22,.8,.24,1) both;
}
/* soft dark fade on top so the transparent header stays readable */
.stw-banner::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 180px;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(to bottom,rgba(11,22,38,.6),rgba(11,22,38,0));
}
@keyframes stwBannerZoom { from { transform: scale(1.06); opacity: .4; } to { transform: none; opacity: 1; } }

/* Tablet – fixed height, image centred */
@media(max-width:991px) {
	.stw-banner .stw-banner-img {
		height: 70vh!important;
		min-height: 460px;
		max-height: 720px;
	}
}
/* Mobile – fixed height, image centred */
@media(max-width:767px) {
	.stw-banner::before { height: 130px; }
	.stw-banner .stw-banner-img {
		height: 62vh!important;
		min-height: 400px;
		max-height: 600px;
	}
}
@media(max-width:400px) {
	.stw-banner .stw-banner-img { min-height: 360px; }
}
@media (prefers-reduced-motion:reduce) {
	.stw-banner .stw-banner-img { animation: none!important; }
}

/* =====================================================================
   BANNER POSITION ON MOBILE / TABLET – change ONLY these 2 numbers
   ---------------------------------------------------------------------
   --stw-banner-x : 0%  = full LEFT side of image
                    50% = centre
                    100% = full RIGHT side
                    (e.g. 15%, 20%, 30% … bigger number = image moves to the right side)
   --stw-banner-y : 0% = top, 50% = middle, 100% = bottom
   ===================================================================== */
.stw-banner {
	--stw-banner-x: 0%;      /* tablet (768px – 991px) */
	--stw-banner-y: 50%;
	--stw-banner-x-m: 0%;    /* mobile (767px and below) */
	--stw-banner-y-m: 50%;
}
@media(max-width:991px) {
	.stw-banner .stw-banner-img { object-position: var(--stw-banner-x) var(--stw-banner-y)!important; }
}
@media(max-width:767px) {
	.stw-banner .stw-banner-img { object-position: var(--stw-banner-x-m) var(--stw-banner-y-m)!important; }
}


/* =====================================================================
   BACK TO TOP – .progress-wrap.stw-top (scroll progress ring + arrow)
   ===================================================================== */
.progress-wrap.stw-top {
	position: fixed!important;
	right: 28px!important;
	bottom: 28px!important;
	left: auto!important;
	top: auto!important;
	width: 52px!important;
	height: 52px!important;
	border-radius: 50%!important;
	cursor: pointer;
	z-index: 998!important;
	display: block!important;
	background: linear-gradient(160deg,#14263d 0%,#0b1626 100%)!important;
	box-shadow: 0 14px 30px -12px rgba(11,22,38,.7), inset 0 0 0 2px rgba(236,213,158,.15)!important;
	opacity: 0!important;
	visibility: hidden!important;
	transform: translateY(16px)!important;
	transition: opacity .35s, visibility .35s, transform .35s, box-shadow .35s!important;
}
.progress-wrap.stw-top.stw-top-show {
	opacity: 1!important;
	visibility: visible!important;
	transform: translateY(0)!important;
}
.progress-wrap.stw-top:hover {
	transform: translateY(-3px)!important;
	box-shadow: 0 18px 34px -12px rgba(201,161,74,.6), inset 0 0 0 2px rgba(236,213,158,.25)!important;
}
/* gold progress ring */
.progress-wrap.stw-top svg { position: absolute; inset: 0; }
.progress-wrap.stw-top svg path {
	fill: none!important;
	stroke: #c9a14a!important;
	stroke-width: 4!important;
	box-sizing: border-box;
}
/* arrow (pure CSS, no icon font needed) */
.progress-wrap.stw-top::before {
	display: none!important;          /* hide theme's own icon if any */
}
.progress-wrap.stw-top::after {
	content: ""!important;
	position: absolute!important;
	left: 50%!important;
	top: 50%!important;
	width: 12px!important;
	height: 12px!important;
	margin: -3px 0 0 -6px!important;
	border-left: 2px solid #ecd59e!important;
	border-top: 2px solid #ecd59e!important;
	transform: rotate(45deg)!important;
	background: none!important;
	font-size: 0!important;
	opacity: 1!important;
	transition: margin .3s!important;
}
.progress-wrap.stw-top:hover::after { margin-top: -6px!important; }

@media(max-width:767px) {
	.progress-wrap.stw-top { right: 16px!important; bottom: 16px!important; width: 46px!important; height: 46px!important; }
}


/* =====================================================================
   STATS STRIP – 5 points (area, units, storeys, parking, metro)
   ===================================================================== */
.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5 { grid-template-columns: repeat(5,1fr)!important; }
.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat { border-right: 1px solid rgba(236,213,158,.12)!important; border-bottom: none!important; }
.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat:last-child { border-right: none!important; }
.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat:nth-child(5) { animation-delay: .6s; }
.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat i {
	display: inline-grid;
	place-items: center;
	width: 34px; height: 34px;
	margin-bottom: 10px;
	border-radius: 50%;
	border: 1px solid rgba(236,213,158,.3);
	color: #ecd59e;
	font-size: 13px;
}
.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat b { font-size: 38px!important; }

@media(max-width:1199px) {
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat b { font-size: 30px!important; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat span { letter-spacing: 1px; }
}
@media(max-width:991px) {
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat { padding: 18px 8px; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat b { font-size: 26px!important; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat i { width: 30px; height: 30px; font-size: 12px; margin-bottom: 8px; }
}
/* Mobile: 3 on top, 2 below */
@media(max-width:767px) {
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5 { grid-template-columns: repeat(6,1fr)!important; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat { grid-column: span 2; padding: 14px 4px; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat:nth-child(n+4) { grid-column: span 3; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat:nth-child(-n+3) { border-bottom: 1px solid rgba(236,213,158,.12)!important; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat:nth-child(3) { border-right: none!important; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat b { font-size: 22px!important; }
	.stw-hero.stw-hero-strip .stw-h-stats-5 .stw-h-stat i { width: 26px; height: 26px; font-size: 10px; margin-bottom: 6px; }
	.stw-hero.stw-hero-strip + .stw-about { padding-top: 140px!important; }
}


/* =====================================================================
   BOOTSTRAP GRID MODE – sections now use .container / .row / .col-*
   Old CSS-grid wrappers are switched off so Bootstrap columns take over.
   ===================================================================== */
/* Bootstrap container decides the width */
.stw-wrap.container { width: 100%!important; }

/* grid wrappers → Bootstrap flex rows */
.stw-about .stw-ab-pillars.row,
.stw-sp .stw-sp-grid.row,
.stw-ft .stw-ft-grid.row,
.stw-pl .stw-pl-box.row,
.stw-lc .stw-lc-grid.row,
.stw-iv .stw-iv-grid.row,
.stw-iv .stw-iv-cards.row,
.stw-dv .stw-dv-grid.row,
.stw-dv .stw-dv-partners.row,
.stw-dv .stw-dv-stats.row,
.stw-eq .stw-eq-grid.row,
.stw-bm .stw-bm-grid.row,
.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row {
	display: flex!important;
	flex-wrap: wrap!important;
	grid-template-columns: none!important;
	gap: 0!important;
}

/* equal-height cards inside each column */
.stw-ab-pillars.row > [class*="col"] > .stw-ab-pillar,
.stw-sp-grid.row > [class*="col"] > .stw-sp-card,
.stw-ft-grid.row > [class*="col"] > .stw-ft-card,
.stw-iv-cards.row > [class*="col"] > .stw-iv-card,
.stw-dv-partners.row > [class*="col"] > .stw-dv-partner,
.stw-dv-stats.row > [class*="col"] > .stw-dv-stat,
.stw-bm-grid.row > [class*="col"] > .stw-bm-visual,
.stw-bm-grid.row > [class*="col"] > .stw-bm-form { height: 100%; }

/* stats strip inside .container */
.stw-hero.stw-hero-strip .container > .stw-h-stats { width: 100%!important; margin: 0!important; }
.stw-hero.stw-hero-strip .stw-h-stats.row > .stw-h-stat { grid-column: auto!important; }

/* popup: form column must not be narrower than its content on small screens */
@media(max-width:991px) {
	.stw-bm-grid.row > [class*="col"] > .stw-bm-visual { height: auto; }
}

/* =====================================================================
   POPUP – Enquire Now / E-Brochure switch
   ===================================================================== */
.stw-bm .stw-bm-switch {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin: 30px 0 4px;
	padding: 4px;
	border-radius: 50px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(236,213,158,.18);
}
.stw-bm .stw-bm-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 10px!important;
	border: 0!important;
	border-radius: 50px!important;
	background: transparent!important;
	font: 700 12px 'Manrope',system-ui,sans-serif!important;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(255,255,255,.7)!important;
	cursor: pointer;
	transition: background .35s, color .35s, box-shadow .35s;
}
.stw-bm .stw-bm-tab i { font-size: 11px; color: inherit!important; }
.stw-bm .stw-bm-tab:hover { color: #ecd59e!important; }
.stw-bm .stw-bm-tab.is-active {
	background: linear-gradient(135deg,#ecd59e,#c9a14a 55%,#9f7a2c)!important;
	color: #17110c!important;
	box-shadow: 0 10px 22px -12px rgba(201,161,74,.9);
}
.stw-bm .stw-bm-switch + .stw-bm-eyebrow { margin-top: 18px!important; }
@media(max-width:575px) {
	.stw-bm .stw-bm-tab { font-size: 10.5px!important; letter-spacing: .5px; padding: 10px 6px!important; }
}


/* =====================================================================
   STATS STRIP – MOBILE: one below the other (icon | number + label)
   ===================================================================== */
@media(max-width:767px) {
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row { border-radius: 18px!important; }
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row > .stw-h-stat {
		display: grid!important;
		grid-template-columns: 44px 1fr;
		grid-template-areas: "ico num" "ico lab";
		align-items: center;
		column-gap: 16px;
		row-gap: 2px;
		text-align: left!important;
		padding: 14px 20px!important;
		grid-column: auto!important;
		border-right: none!important;
		border-bottom: 1px solid rgba(236,213,158,.12)!important;
	}
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row > .stw-h-stat:last-child { border-bottom: none!important; }
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row > .stw-h-stat i {
		grid-area: ico;
		width: 44px!important; height: 44px!important;
		margin: 0!important;
		font-size: 15px!important;
		background: rgba(201,161,74,.1);
	}
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row > .stw-h-stat b {
		grid-area: num;
		align-self: end;
		font-size: 28px!important;
		line-height: 1!important;
	}
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row > .stw-h-stat span {
		grid-area: lab;
		align-self: start;
		margin-top: 4px!important;
		font-size: 10.5px!important;
		letter-spacing: 1.4px!important;
		line-height: 1.4!important;
	}
	/* About makes room for the lower half of the taller strip */
	.stw-hero.stw-hero-strip + .stw-about { padding-top: 190px!important; }
}

/* =====================================================================
   FLOOR TABS – CAROUSEL ON TABLET / MOBILE (arrows + dots + swipe hint)
   ===================================================================== */
.stw-pl .stw-pl-nav,
.stw-pl .stw-pl-swipe { display: none; }

@media(max-width:991px) {
	.stw-pl .stw-pl-tabs-wrap { position: relative; margin-bottom: 30px; }
	.stw-pl .stw-pl-tabs-wrap .stw-pl-tabs {
		margin-bottom: 0!important;
		scroll-snap-type: x proximity;
		/* fade on both edges = "there is more to swipe" */
		-webkit-mask-image: linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);
		mask-image: linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);
		padding-inline: 18px!important;
	}
	.stw-pl .stw-pl-tabs-wrap .stw-pl-tab { scroll-snap-align: center; }

	.stw-pl .stw-pl-nav {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		margin-top: 14px;
	}
	.stw-pl .stw-pl-arrow {
		width: 38px; height: 38px;
		flex: 0 0 38px;
		display: grid; place-items: center;
		padding: 0!important;
		border-radius: 50%!important;
		border: 1.5px solid var(--s-navy,#0b1626)!important;
		background: var(--s-navy,#0b1626)!important;
		color: #ecd59e!important;
		font-size: 12px;
		cursor: pointer;
		transition: opacity .3s, transform .3s, background .3s;
	}
	.stw-pl .stw-pl-arrow:active { transform: scale(.92); }
	.stw-pl .stw-pl-arrow:disabled { opacity: .3; cursor: default; }
	.stw-pl .stw-pl-dots { display: flex; align-items: center; gap: 6px; }
	.stw-pl .stw-pl-dot {
		width: 8px; height: 8px;
		padding: 0!important;
		border: 0!important;
		border-radius: 8px!important;
		background: rgba(11,22,38,.2)!important;
		cursor: pointer;
		transition: width .35s, background .35s;
	}
	.stw-pl .stw-pl-dot.is-active { width: 24px; background: linear-gradient(90deg,#c9a14a,#9f7a2c)!important; }

	.stw-pl .stw-pl-swipe {
		display: block;
		margin: 10px 0 0!important;
		text-align: center;
		font: 600 12px 'Manrope',system-ui,sans-serif!important;
		letter-spacing: .4px;
		color: var(--s-muted,#5f6672)!important;
	}
	.stw-pl .stw-pl-swipe i { margin-right: 6px; color: #c9a14a; animation: stwSwipe 1.8s ease-in-out infinite; display: inline-block; }
}
@media(max-width:380px) {
	.stw-pl .stw-pl-dots { gap: 4px; }
	.stw-pl .stw-pl-dot { width: 6px; height: 6px; }
	.stw-pl .stw-pl-dot.is-active { width: 18px; }
}
@keyframes stwSwipe { 0%,100% { transform: translateX(-3px); } 50% { transform: translateX(3px); } }

/* =====================================================================
   STATS STRIP – MOBILE: fully BELOW the banner (no overlap on banner text)
   ===================================================================== */
@media(max-width:767px) {
	.stw-hero.stw-hero-strip {
		height: auto!important;
		padding: 22px 0 0!important;
		background: #fff!important;
	}
	.stw-hero.stw-hero-strip .stw-h-stats.stw-h-stats-5.row {
		transform: none!important;
		margin: 0!important;
		animation: stwStripIn .8s cubic-bezier(.22,.8,.24,1) both;
	}
	/* About goes back to normal spacing */
	.stw-hero.stw-hero-strip + .stw-about { padding-top: 50px!important; }
}
@keyframes stwStripIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }


/* About – MahaRERA registration chip */
.stw-about .stw-ab-rera {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
	padding: 10px 18px;
	border-radius: 50px;
	border: 1px solid rgba(201,161,74,.35);
	background: rgba(201,161,74,.08);
	font: 600 13px 'Manrope',system-ui,sans-serif!important;
	letter-spacing: .3px;
	color: #5f6672!important;
}
.stw-about .stw-ab-rera i {
	width: 28px; height: 28px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: linear-gradient(135deg,#ecd59e,#c9a14a);
	color: #0b1626;
	font-size: 12px;
}
.stw-about .stw-ab-rera b { color: #0b1626!important; font-weight: 800; letter-spacing: .8px; }
@media(max-width:575px) {
	.stw-about .stw-ab-rera { display: flex; font-size: 12px!important; padding: 10px 14px; }
}


/* =====================================================================
   BACK TO TOP – SVG arrow inside the progress ring
   ===================================================================== */
.progress-wrap.stw-top::after { display: none!important; }      /* old CSS arrow off */
.progress-wrap.stw-top .stw-top-arrow {
	position: absolute!important;
	top: 50%;
	left: 50%;
	width: 20px!important;
	height: 20px!important;
	transform: translate(-50%,-50%);
	color: #ecd59e;
	z-index: 2;
	pointer-events: none;
	transition: transform .3s;
}
.progress-wrap.stw-top:hover .stw-top-arrow { transform: translate(-50%,-65%); }
/* the gold ring style must not change the arrow */
.progress-wrap.stw-top .stw-top-arrow path {
	stroke: currentColor!important;
	stroke-width: 2.2!important;
	fill: none!important;
	stroke-dasharray: none!important;
	stroke-dashoffset: 0!important;
}
@media(max-width:767px) {
	.progress-wrap.stw-top .stw-top-arrow { width: 18px!important; height: 18px!important; }
}


/* =====================================================================
   KEY FEATURES (dark card)  |  AUNDH–BANER LINK ROAD (gold card)
   side by side – .stw-fl
   ===================================================================== */
.stw-fl {
	--s-navy: #0b1626;
	--s-navy-2: #14263d;
	--s-gold: #c9a14a;
	--s-gold-lt: #ecd59e;
	--s-gold-dk: #9f7a2c;
	--s-cream: #f6f3ea;
	--s-cream-2: #ebe5d3;
	--s-ink: #16202e;
	--s-muted: #6b6f78;
	--s-serif: 'Cormorant Garamond',Georgia,serif;
	--s-sans: 'Manrope',system-ui,sans-serif;
	--s-ease: cubic-bezier(.22,.8,.24,1);
	--s-sh: 0 30px 70px -30px rgba(11,22,38,.45);
	position: relative;
	background: var(--s-cream)!important;
	font-family: var(--s-sans)!important;
}
.stw-fl * { box-sizing: border-box; }

/* shared card */
.stw-fl .stw-fl-card {
	position: relative;
	height: 100%;
	padding: 48px 44px 40px;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: var(--s-sh);
}
.stw-fl .stw-fl-card > * { position: relative; z-index: 1; }
.stw-fl .stw-fl-card h2.stw-h2 { font-size: clamp(34px,3.6vw,50px)!important; margin-bottom: 18px!important; }

/* ---------- LEFT: dark navy card ---------- */
.stw-fl .stw-fl-dark {
	background: radial-gradient(520px 320px at 100% 0%,rgba(201,161,74,.18),transparent 60%),
	            linear-gradient(160deg,var(--s-navy-2) 0%,var(--s-navy) 100%);
	color: #fff;
}
.stw-fl .stw-fl-dark::before {               /* dotted texture */
	content: "";
	position: absolute; inset: 0;
	background-image: radial-gradient(rgba(236,213,158,.08) 1px,transparent 1px);
	background-size: 24px 24px;
	-webkit-mask-image: linear-gradient(to bottom,#000,transparent 70%);
	mask-image: linear-gradient(to bottom,#000,transparent 70%);
	pointer-events: none;
}
.stw-fl .stw-fl-dark .stw-eyebrow { color: var(--s-gold)!important; }
.stw-fl .stw-fl-dark h2.stw-h2 { color: #fff!important; }
.stw-fl .stw-fl-dark h2.stw-h2 em { color: var(--s-gold-lt)!important; }

.stw-fl .stw-fl-list { list-style: none; padding: 0!important; margin: 10px 0 0!important; }
.stw-fl .stw-fl-list li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0!important;
	padding: 12px 0;
	border-bottom: 1px dashed rgba(236,213,158,.18);
	font: 600 15.5px/1.45 var(--s-sans)!important;
	color: rgba(255,255,255,.9)!important;
	transition: padding .35s var(--s-ease), color .35s;
}
.stw-fl .stw-fl-list li:last-child { border-bottom: none; }
.stw-fl .stw-fl-list li:hover { padding-left: 8px; color: var(--s-gold-lt)!important; }
.stw-fl .stw-fl-ico {
	flex: 0 0 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	background: #f6f3ea;
	box-shadow: 0 8px 18px -10px rgba(0,0,0,.6);
	transition: transform .4s var(--s-ease);
}
.stw-fl .stw-fl-ico img { width: 26px!important; height: 26px!important; object-fit: contain; }
.stw-fl .stw-fl-list li:hover .stw-fl-ico { transform: rotate(-6deg) scale(1.06); }

/* ---------- RIGHT: gold card ---------- */
.stw-fl .stw-fl-gold {
	background: radial-gradient(480px 300px at 0% 100%,rgba(255,255,255,.35),transparent 60%),
	            linear-gradient(140deg,#f3e2b3 0%,#e2c47c 45%,#c9a14a 100%);
	color: var(--s-navy);
}
.stw-fl .stw-fl-gold::after {               /* soft shine line */
	content: "";
	position: absolute;
	top: -40%; left: -60%;
	width: 50%; height: 180%;
	background: linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
	transform: rotate(18deg);
	animation: stwFlShine 7s ease-in-out infinite;
	pointer-events: none;
}
@keyframes stwFlShine { 0%,55% { left: -60%; } 100% { left: 130%; } }
.stw-fl .stw-fl-gold .stw-eyebrow { color: var(--s-navy)!important; }
.stw-fl .stw-fl-gold h2.stw-h2 { color: var(--s-navy)!important; }
.stw-fl .stw-fl-gold h2.stw-h2 em { color: #6e5218!important; }
.stw-fl .stw-fl-gold p.stw-lead {
	max-width: none;
	font-size: 15.5px!important;
	line-height: 1.75!important;
	color: rgba(11,22,38,.78)!important;
}
.stw-fl .stw-fl-gold .stw-lc-list { list-style: none; padding: 0!important; margin: 22px 0 0!important; }
.stw-fl .stw-fl-gold .stw-lc-list li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0!important;
	padding: 11px 0;
	border-bottom: 1px dashed rgba(11,22,38,.18);
	font: 700 15px/1.5 var(--s-sans)!important;
	color: var(--s-navy)!important;
	transition: padding .35s var(--s-ease);
}
.stw-fl .stw-fl-gold .stw-lc-list li:last-child { border-bottom: none; }
.stw-fl .stw-fl-gold .stw-lc-list li:hover { padding-left: 8px; }
.stw-fl .stw-fl-gold .stw-lc-list li i {
	flex: 0 0 26px;
	height: 26px;
	margin-top: 1px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 10px;
	background: var(--s-navy);
	color: var(--s-gold-lt);
}

/* ---------- map row below ---------- */
.stw-fl .stw-fl-map { background: transparent!important; margin-top: 16px; }
.stw-fl .stw-fl-map .stw-lc-map { max-width: 1000px; margin: 0 auto; border-radius: 20px; }

/* ---------- responsive ---------- */
@media(max-width:991px) {
	.stw-fl .stw-fl-card { height: auto; padding: 40px 30px 32px; }
}
@media(max-width:575px) {
	.stw-fl .stw-fl-card { padding: 32px 20px 24px; border-radius: 22px; }
	.stw-fl .stw-fl-list li { font-size: 14.5px!important; gap: 13px; }
	.stw-fl .stw-fl-ico { flex-basis: 40px; height: 40px; }
	.stw-fl .stw-fl-ico img { width: 23px!important; height: 23px!important; }
	.stw-fl .stw-fl-gold .stw-lc-list li { font-size: 14px!important; }
}
@media (prefers-reduced-motion:reduce) {
	.stw-fl .stw-fl-gold::after { animation: none; }
}


/* =====================================================================
   KEY FEATURES | LINK ROAD – FULL WIDTH (edge to edge, no container)
   + tick icons in Key Features
   ===================================================================== */
.stw-fl.stw-fl-full { padding: 0!important; background: none!important; }
.stw-fl.stw-fl-full .stw-fl-card {
	height: 100%;
	border-radius: 0!important;
	box-shadow: none!important;
	padding: 50px clamp(24px,6vw,100px) 80px!important;
	display: flex;
	align-items: center;
}
/* keep text a readable width, pushed toward the centre line */
.stw-fl.stw-fl-full .stw-fl-in { width: 100%; max-width: 600px; }
.stw-fl.stw-fl-full .stw-fl-dark .stw-fl-in { margin-left: auto; }
.stw-fl.stw-fl-full .stw-fl-gold .stw-fl-in { margin-right: auto; }

/* Key Features: tick icons (same style as Link Road, but gold on navy) */
.stw-fl .stw-fl-dark .stw-fl-list li { align-items: flex-start; gap: 14px; padding: 13px 0; }
.stw-fl .stw-fl-dark .stw-fl-list li i {
	flex: 0 0 26px;
	height: 26px;
	margin-top: 1px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 10px;
	background: linear-gradient(135deg,#ecd59e,#c9a14a);
	color: #0b1626;
	transition: transform .4s var(--s-ease);
}
.stw-fl .stw-fl-dark .stw-fl-list li:hover i { transform: scale(1.12); }

@media(max-width:991px) {
	.stw-fl.stw-fl-full .stw-fl-card { padding: 60px 28px 54px!important; }
	.stw-fl.stw-fl-full .stw-fl-in { max-width: 680px; margin: 0 auto!important; }
}
@media(max-width:575px) {
	.stw-fl.stw-fl-full .stw-fl-card { padding: 50px 18px 44px!important; }
}

/* =====================================================================
   FLOOR PLANS – 2-column table (Unit | Area) + total row
   + tabs fit longer names like "Ground + Mezzanine"
   ===================================================================== */
.stw-pl .stw-pl-table th:last-child,
.stw-pl .stw-pl-table td:last-child { text-align: right; }
.stw-pl .stw-pl-table tr.stw-pl-total td {
	border-bottom: none;
	border-top: 2px solid var(--s-gold);
	font-weight: 800!important;
	color: var(--s-navy)!important;
}
.stw-pl .stw-pl-table tr.stw-pl-total td:last-child { color: var(--s-gold-dk)!important; }
.stw-pl .stw-pl-tab { width: auto!important; white-space: nowrap; }