/*
Theme Name: City Tower
Theme URI: https://example.com/
Author: City Tower
Author URI: https://example.com/
Description: Custom block theme for City Tower website.
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: city-tower
Tags: block-theme, full-site-editing
*/

@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-thin.otf") format("opentype");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-extralight.otf") format("opentype");
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-light.otf") format("opentype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-regular.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-medium.otf") format("opentype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-semibold.otf") format("opentype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-black.otf") format("opentype");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Graphik";
	src: url("/assets/fonts/graphik/graphik-super.otf") format("opentype");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "PP-Museum";
	src: url("/assets/fonts/pp-museum/ppmuseum-regular.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "PP-Museum";
	src: url("/assets/fonts/pp-museum/ppmuseum-light.otf") format("opentype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "PP-Museum";
	src: url("/assets/fonts/pp-museum/ppmuseum-thin.otf") format("opentype");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "PP-Museum";
	src: url("/assets/fonts/pp-museum/ppmuseum-ultrabold.otf") format("opentype");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

:root {
	--ct-max-width: 1324px;
	--ct-font-primary: "Graphik";
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	margin:0;
	padding: 0;
	font-family: var(--ct-font-primary);
}

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

button {
	cursor: pointer;
	outline: none;
}

.ct-container{
	max-width: var(--ct-max-width);
	padding-left: 24px;
	padding-right: 24px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.ct-site-header{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
}

/* Homepage behavior: keep header visible; hide only the logo (below). */

.ct-site-header::before{
	content: '';
	position: absolute;
	top: 0;
	background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
	width: 100%;
	height: 134px;
	opacity: 0.7;
}

.ct-site-header__inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 31px;
	padding-bottom: 31px;
	position: relative;
	z-index: 1;
}

.ct-site-header__left{
	display: flex;
	align-items: center;
}

.ct-site-logo img{
	display: block;
	height: 71.44px;
	width: auto;
}

.ct-site-logo{
	transition: opacity 200ms ease;
}

/* Homepage behavior: never show logo on load; only when scrolling up after hero */
body.page-template-page-home .ct-site-logo{
	opacity: 0;
	pointer-events: none;
}
body.page-template-page-home .ct-site-header.is-scrolled.is-scroll-up .ct-site-logo{
	opacity: 1;
	pointer-events: auto;
}

.ct-primary-nav{
	display: flex;
	gap: 40px;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: center;
}

.ct-primary-nav a{
	text-decoration: none;
	color: #fff;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
}

.ct-primary-nav a:hover{
	color: #C49D55;
}

.ct-site-header__right{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 40px;
}

.ct-header-link{
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	line-height: 22px;
	white-space: nowrap;
}

.ct-site-header__actions {
    display: flex;
    align-items: center;
    gap: 40px;
}

.ct-nav-toggle{
	display: none;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}
.ct-nav-toggle__lines{
	display: grid;
	gap: 10px;
}
.ct-nav-toggle__lines span{
	display: block;
	height: 2px;
	width: 37px;
	background: #fff;
}

.ct-mobile-nav{
	display: none;
}
.ct-mobile-nav__inner{
	padding: 0 16px 0;
	display: flex;
	flex-direction: column;
}
.ct-mobile-nav__top{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding-top: 6px;
}
.ct-mobile-nav__brand img{
	display: block;
	height: 40px;
	width: auto;
}
.ct-mobile-nav__top-actions{
	display: inline-flex;
	align-items: center;
	gap: 18px;
}
.ct-mobile-nav__lang{
	color: #fff;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.ct-mobile-nav__close{
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 30px;
	line-height: 1;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ct-mobile-nav__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.ct-mobile-nav__list li{
	border-top: 1px solid rgba(255,255,255,0.2);
}
.ct-mobile-nav__list a{
	color: #fff;
	font-size: 16px;
	line-height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 8px;
}
.ct-mobile-nav__factsheet{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 16px;
	min-height: 60px;
	padding: 14px 16px;
	background: #fff;
	color: #47211B;
	font-size: 14px;
	line-height: 20px;
}

.ct-site-footer__social.cd-mobile-nav__social {
    justify-content: center;
    margin-top: 40px;
}

.ct-mobile-nav__social{
	margin-top: auto;
	padding-top: 24px;
}
.ct-mobile-nav__social-heading{
	text-align: center;
	color: rgba(255,255,255,0.8);
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.02em;
	margin-bottom: 14px;
}
.ct-mobile-nav__social-icons{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
}
.ct-mobile-nav__social-link img{
	width: 20px;
	height: 20px;
	display: block;
	filter: brightness(0) invert(1);
	opacity: 0.9;
}

.ct-button--header{
	background: #fff;
	color: #47211B;
	border-radius: 0;
	padding: 20px;
	min-width: 198px;
	min-height: 60px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ct-button--header:hover{
	background: #C49D55;
}

/* After hero, show sticky header */
.ct-site-header.is-scrolled{
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	background: #C5A158;
}

/* Client request: logo only appears when scrolling UP (after hero) */
.ct-site-header.is-scrolled .ct-site-logo{
	opacity: 1;
	pointer-events: auto;
}
.ct-site-header.is-scrolled.is-scroll-up .ct-site-logo{
	opacity: 1;
	pointer-events: auto;
}

.ct-site-header.is-scrolled::before{
	opacity: 0;
}

.ct-site-header.is-scrolled .ct-primary-nav a,
.ct-site-header.is-scrolled .ct-header-link{
	color: #fff;
}

.ct-site-header.is-scrolled .ct-primary-nav a:hover{
	color: rgba(255,255,255,0.85);
}

.ct-site-header.is-scrolled .ct-button--header{
	background: #fff;
	color: #111;
	border: 1px solid rgba(0,0,0,0.18);
}

.ct-site-header.is-scrolled .ct-nav-toggle__lines span{
	background: #fff;
}

@media (max-width: 900px){
	header.ct-site-header.is-menu-open {
		background: #25140A;
		min-height: 100vh;
	}
	.ct-site-header__inner{
		padding: 36.5px 16px;
	}

	.ct-site-logo img{
		height: 61px;
	}

	.ct-site-header__nav,
	.ct-button--header{
		display: none;
	}

	.ct-site-header__actions{
		gap: 24px;
	}

	.ct-nav-toggle{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 37px;
        height: 26px;
	}

	header.ct-site-header.is-menu-open .ct-site-logo {
		opacity: 1;
		pointer-events: visible;
	}

	.ct-mobile-nav{
		display: block;
	}

	.ct-mobile-nav[hidden]{
		display: none;
	}

	header.ct-site-header.is-menu-open .ct-nav-toggle__lines {
		gap: 0;
	}

	header.ct-site-header.is-menu-open .ct-nav-toggle__lines span {
		grid-area: 1 / 1;
	}

	header.ct-site-header.is-menu-open .ct-nav-toggle__lines span:nth-child(2){
		display: none;
	}
	header.ct-site-header.is-menu-open .ct-nav-toggle__lines span:nth-child(1){
		transform: rotate(45deg);

	}
	header.ct-site-header.is-menu-open .ct-nav-toggle__lines span:nth-child(3){
		transform: rotate(-45deg);
	}
}

.ct-main{
	overflow: hidden;
}

.ct-hero{
	position: relative;
	height: 100vh;
}

.ct-hero__bg{
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.ct-hero__bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-hero__bg video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ct-hero__overlay{
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.2) 45%, rgba(80,52,25,0.75) 100%);
}

.ct-hero__container{
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ct-hero__content{
	z-index: 1;
	text-align: center;
}

body.admin-bar .ct-site-header{
	top: 32px;
}

.ct-hero__title{
	font-size: 85px;
	line-height: 82px;
	margin: 0 0 48px 0;
	text-transform: uppercase;
	color: #fff;
	font-family: "PP-Museum";
	font-weight: 300;
	width: 354px;
}

.ct-hero__title-line{
	display: block;
}
.ct-hero__title-line--left{
	text-align: left;
}
.ct-hero__title-line--center{
	text-align: center;
}
.ct-hero__title-line--right{
	text-align: right;
}

.ct-hero__subtitle{
	margin: 0 0 1.5rem 0;
	max-width: 52ch;
	opacity: 0.95;
}

.ct-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.1rem;
	border-radius: 2px;
	text-decoration: none;
	font-weight: 600;
}

.ct-hero__actions{
	display: inline-flex;
	gap: 1.4rem;
	justify-content: center;
	align-items: center;
}

.ct-button--outline{
	background: transparent;
	border: 1px solid rgba(255,255,255,0.6);
	color: rgba(255,255,255,0.9);
	padding: 1.05rem 1.7rem;
	min-width: 190px;
	font-weight: 400;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
}

.ct-button--solid{
	background: #fff;
	border: 1px solid rgba(255,255,255,0.9);
	color: #111;
	padding: 1.05rem 1.7rem;
	min-width: 190px;
	font-weight: 400;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
}

.ct-hero__bottom-note{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 29px;
	text-align: center;
	font-size: 14px;
	text-transform: uppercase;
	color: #fff;
	z-index: 1;
}

.ct-hero__bottom-note img{
	display: block;
	margin: 0 auto;
	max-height: 100px;
	width: auto;
	max-width: min(280px, 80vw);
	object-fit: contain;
}

.ct-button--primary{
	background: #c2a990;
	color: #111;
}

.ct-image-text__grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	align-items: center;
}
.ct-image-text__media img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 16px;
}

.ct-cards__grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.ct-card{
	border: 1px solid #eee;
	border-radius: 16px;
	padding: 1.25rem;
}

.ct-gallery__grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
}
.ct-gallery__item{
	margin: 0;
}
.ct-gallery__item img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 14px;
	display: block;
}

.ct-site-footer{
	background: #47211B;
	color: #fff;
	padding-top: 40px;
	padding-bottom: 40px;
}

.ct-site-footer__inner{
	display: flex;
	flex-direction: column;
}

.ct-footer-nav{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 128px;
	justify-content: center;
	align-items: center;
}

.ct-footer-nav a{
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	line-height: 22px;
}

.ct-footer-nav a:hover{
	color: #C49D55;
}

.ct-site-footer__top{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 96px;
}

.ct-footer-logo{
	height: 52px;
	width: auto;
	display: block;
}

.ct-site-footer__mid{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 42px;
}

.ct-site-footer__contact{
	font-size: 14px;
	line-height: 20px;
	color: #fff;
}

.ct-site-footer__contact a{
	color: #fff;
}

.ct-site-footer__contact a:hover{
	color: #C49D55;
}

.ct-site-footer__social{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 26px;
}

.ct-footer-social__heading{
	font-size: 14px;
	line-height: 20px;
	color: #fff;
}

.ct-footer-social__icons{
	display: inline-flex;
	gap: 26px;
	align-items: center;
}

.ct-social-link{
	color: #fff;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ct-social-link:hover{
	color: #fff;
}
.ct-social-link:hover{
	color: #C49D55;
}

.ct-social-icon{
	width: 25px;
	height: 25px;
	display: block;
}

.ct-footer-divider{
	border: 0;
	border-top: 0.75px solid #CACACA;
	opacity: 0.5;
	margin: 0;
}

.ct-site-footer__bottom{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 42px;
}

.ct-site-footer__copyright{
	font-size: 14px;
	line-height: 20px;
	color: #fff;
}

.ct-footer-legal-nav{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 18px;
}

.ct-footer-legal-nav li{
	padding-right: 18px;
	border-right: 0.75px solid #CACACA;
}

.ct-footer-legal-nav li:last-child{
	padding-right: 0;
	border-right: none;
}

.ct-footer-legal-nav a{
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	line-height: 20px;
}

.ct-footer-legal-nav a:hover{
	color: #C49D55;
}

@media (max-width: 767px){
	.ct-site-footer{
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.ct-site-footer__top{
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 24px;
		border-bottom: 0.75px solid rgba(202, 202, 202, 0.5);
		padding-bottom: 24px;
	}

	.ct-footer-nav{
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 14px;
	}

	.ct-site-footer__mid{
		align-items: flex-end;
		gap: 12px;
		margin-bottom: 24px;
	}

	.ct-site-footer__social{
		width: auto;
		gap: 18px;
	}

	.ct-footer-social__icons{
		gap: 18px;
	}

	.ct-site-footer__bottom{
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 10px;
		margin-top: 24px;
	}

	.ct-footer-legal-nav{
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 14px;
	}

	.ct-footer-legal-nav li{
		padding-right: 14px;
	}
}


/* Homepage section: Long-term residences collage */
.ct-home-residences{
	background: #F4F2EE;
	padding: 100px 0;
	overflow: hidden;
}

.ct-home-residences .ct-container {
    max-width: 1416px;
}

.ct-home-residences__title{
	font-family: "PP-Museum";
	text-transform: uppercase;
	font-size: 50px;
	line-height: 60px;
	text-align: center;
	font-weight: 100;
}

.ct-home-residences__title-line{
	color: #25140A;
}

.ct-home-residences__title-line--gold{
	color: #C49D55;
}

.ct-home-residences__title-line .first-word {
    text-align: left;
    display: inline-block;
    width: 100%;
}

.text-right{
	text-align: right;
}
.text-center{
	text-align: center;
}
.text-left{
	text-align: left;
}

.ct-home-residences__description{
	margin-top: 11px;
	font-size: 14px;
	line-height: 20px;
	color: #000;
	text-align: center;
}

.ct-home-residences__row{
	display: grid;
	grid-template-columns: 324px 1fr 324px;
	gap: 24px;
	align-items: start;
	width: 100%;
	margin: 0 auto;
}

.ct-home-residences__col--center{
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ct-home-residences__img{
	overflow: hidden;
	background: #ddd;
}

.ct-home-residences__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	min-height: 405px;
}

.ct-home-residences__col.ct-home-residences__col--right {
    margin-top: auto;
    margin-bottom: auto;
}

.ct-home-residences__header {
    max-width: 450px;
    margin-bottom: 100px;
}

@media (max-width: 1024px){
	.ct-home-residences__row {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media (max-width: 900px){
	.ct-container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.ct-home-residences{
		padding: 72px 0;
	}

	.ct-home-residences__col--left,
	.ct-home-residences__col--center,
	.ct-home-residences__col--right{
		width: 100%;
	}

	.ct-home-residences__header{
		margin-bottom: 32px;
		max-width: 560px;
	}

	.ct-home-residences__title{
		font-size: 44px;
		line-height: 46px;
	}

	.ct-home-residences__description{
		max-width: 56ch;
		margin-left: auto;
		margin-right: auto;
	}

	.ct-home-residences__img{
		aspect-ratio: 4 / 3;
	}

	.ct-home-residences__img--bottom{
		aspect-ratio: 16 / 9;
		width: 100%;
	}

	.ct-home-residences__img img{
		min-height: 0;
	}

	.ct-home-residences__col.ct-home-residences__col--right{
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media (max-width: 767px){
	.ct-home-residences{
		padding: 72px 0;
	}

	.ct-home-residences__row{
		grid-template-columns: 1fr 1fr !important;
		gap: 20px !important;
		grid-template-areas:
			"header header"
			"left right"
			"bottom bottom";
		align-items: start;
	}

	.ct-home-residences__col--left{
		grid-area: left;
	}

	.ct-home-residences__col--right{
		grid-area: right;
		align-self: end;
		margin-top: 34px !important;
	}

	/* Let header + bottom image participate in the parent grid */
	.ct-home-residences__col--center{
		display: contents !important;
	}

	.ct-home-residences__header{
		grid-area: header;
		max-width: none;
		margin-bottom: 0;
		padding: 0 6px;
	}

	.ct-home-residences__title{
		font-size: 40px;
        line-height: 115%;
        letter-spacing: 0.02em;
        max-width: 289px;
        margin: 0 auto 12px;
	}

	.ct-home-residences__description{
		margin-top: 10px;
		max-width: 361px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 17px;
		font-size: 14px;
		line-height: 140%;
	}

	.ct-home-residences__img{
		background: #e8e6e1;
	}

	.ct-home-residences__img--left{
		aspect-ratio: 3 / 4;
		margin-bottom: 71px;
	}

	.ct-home-residences__img--right{
		aspect-ratio: 1 / 1;
	}

	.ct-home-residences__img--bottom{
		grid-area: bottom;
		aspect-ratio: 16 / 9;
		width: 100%;
		margin-top: 20px !important;
	}
}

/* Homepage section: Designed / Time back */
.ct-home-designed{
	position: relative;
	height: 82vh;
	overflow: hidden;
}

.ct-home-designed__bg{
	position: absolute;
	inset: 0;
}

.ct-home-designed__bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ct-home-designed__overlay{
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.4);
}

.ct-home-designed__container{
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ct-home-designed__text{
	width: 466px;
	color: #fff;
	font-family: "PP-Museum";
	text-transform: uppercase;
	font-size: 55px;
	line-height: 65px;
	font-weight: 100;
}

.ct-home-designed__line--left{
	text-align: left;
}

.ct-home-designed__line--right{
	text-align: right;
}

.ct-home-designed__line--center{
	text-align: center;
	color: #D3BC9C;
	margin-right: 50px;
}

@media (max-width: 767px){
	.ct-home-designed {
		height: 562px;
	}

	.ct-home-designed__text {
		font-size: 40px;
		line-height: 115%;
		max-width: 306px;
		width: 100%;
	}
}


/* Homepage: Living */
.ct-home-living{
	background: #F4F2EE;
	padding: 96px 0 64px;
}

.ct-home-living__inner{
	max-width: 1416px;
}

.ct-home-living__grid{
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	gap: 24px;
}

.ct-home-living__col--media, .ct-home-lifestyle__large {
    width: 50%;
}

.ct-home-living__figure, .ct-home-lifestyle__figure{
	overflow: hidden;
	background: #e8e6e1;
}

.ct-home-living__figure img, .ct-home-lifestyle__figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ct-home-living__figure--large, .ct-home-lifestyle__figure--large{
	aspect-ratio: 1 / 1;
	width: 100%;
}

.ct-home-living__col--content, .ct-home-lifestyle__col--content{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 50%;
}

.ct-home-living__content-inner, .ct-home-lifestyle__content-inner {
    padding-left: 48px;
	margin: auto 0;
}

.ct-home-location .ct-home-living__content-inner {
	padding-left: 0;
}

.ct-home-living__title, .ct-home-lifestyle__title{
	font-family: "PP-Museum", serif;
	font-weight: 100;
	font-size: 55px;
	line-height: 65px;
	text-transform: uppercase;
	color: #25140A;
	margin: 0 0 12px;
	max-width: 90%;
}

.ct-home-living__body, .ct-home-lifestyle__body{
	font-size: 14px;
	line-height: 20px;
	color: #000;
	max-width: 341px;
}

.ct-home-living__body p, .ct-home-lifestyle__body p{
	margin: 0 0 1em;
}

.ct-home-living__body p:last-child, .ct-home-lifestyle__body p:last-child{
	margin-bottom: 0;
}

.ct-home-living__figure--small, .ct-home-lifestyle__figure--small{
	width: 100%;
	max-width: 325px;
	aspect-ratio: 1 / 1;
}

/* Homepage: Lifestyle */
.ct-home-lifestyle{
	background: #F4F2EE;
	padding: 0 0 96px;
}

/* Homepage: Location (reuses Lifestyle layout) */
.ct-home-location.ct-home-lifestyle{
	padding: 0 0 56px;
}

/* Homepage: Connected living (map) */
.ct-home-connected{
	background: #F4F2EE;
	padding: 0 0;
}

.ct-home-connected__inner{
	max-width: 1416px;
}

.ct-home-connected__header{
	text-align: center;
	padding: 0 0 56px;
	max-width: 530px;
	margin: auto;
}

.ct-home-connected__title{
	font-family: "PP-Museum", serif;
	font-weight: 100;
	font-size: 55px;
	line-height: 65px;
	text-transform: uppercase;
	color: #C49D55;
}

.ct-home-connected__title b {
    color: #25140A;
    font-weight: 100;
    text-align: right;
    width: 100%;
    display: inline-block;
}

.ct-home-connected__map{
	display: block;
	position: relative;
}

.ct-home-connected__map-inner{
	position: absolute;
    max-width: 1324px;
    margin: auto;
    top: 50%;
    z-index: 9;
    transform: translateY(-50%);
    right: 82px;
}

.ct-home-connected__map-link{
	display: block;
}

.ct-home-connected__map-image{
	width: 100%;
	height: 673px;
	object-fit: cover;
	display: block;
}

.ct-home-connected__card{
	width: 337px;
	background: #fff;
	padding: 24px;
}

.ct-home-connected__card-title{
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #25140A;
	margin-bottom: 12px;
}

.ct-home-connected__list{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

.ct-home-connected__item{
	display: flex;
	gap: 20px;
	align-items: center;
	font-size: 16px;
	line-height: 22px;
	color: #000;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #0000001A;
	padding-left: 20px;
    padding-right: 14px;
}

.ct-home-connected__item:last-child{
	border-bottom: none;
	margin-bottom: 0;
}

.ct-home-connected__icon{
	line-height: 0;
}

.ct-home-connected__icon img{
	width: 24px;
	height: 24px;
	object-fit: contain;
	display: block;
}

/* Homepage: Lifestyle gallery carousel */
.ct-home-gallery{
	background: #F4F2EE;
	padding: 99px 0 102px;
}

.ct-home-gallery__inner{
	max-width: 1585px;
}

.ct-home-gallery__header{
	text-align: center;
	margin-bottom: 64px;
}

.ct-home-gallery__kicker{
	font-family: "PP-Museum", serif;
	font-weight: 100;
	font-size: 44px;
	line-height: 54px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(37,20,10,0.65);
}

.ct-home-gallery__title{
	font-family: "PP-Museum", serif;
	font-weight: 100;
	font-size: 55px;
	line-height: 65px;
	text-transform: uppercase;
	color: #25140A;
	max-width: 581px;
	margin: 0 auto;
}

.ct-home-gallery__title span:first-child {
	color: #C49D55;
	text-align: left;
	display: block;
}

.ct-home-gallery__title span:last-child {
	color: #25140A;
	text-align: right;
	display: block;
}

.ct-home-gallery__slider{
	position: relative;
	margin: 0 auto;
	width: 100%;
	padding-top: 86px;
}

.ct-home-gallery__slide{
	width: 100%;
}

.ct-home-gallery__slide-inner{
	overflow: hidden;
	background: #e8e6e1;
	/* margin-top: 35px; */
}

.ct-home-gallery__slide-inner img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: 65 / 75;
}

.ct-home-gallery .swiper-slide-active .ct-home-gallery__slide-inner img{
	aspect-ratio: 1 / 1;
}

.ct-home-gallery .swiper-slide-active .ct-home-gallery__slide-inner  {
	margin-top: 0;
}

/* Make center slide dominant like design */
.ct-home-gallery .swiper-slide{
	transform: scale(0.66) !important;
	transition: transform 200ms linear;
}
.ct-home-gallery .swiper-slide-active{
	transform: scale(1.35) !important;
}

.ct-home-gallery__controls{
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 672px;
	margin: 56px auto 0;
	padding: 0;
}

.ct-home-gallery__dots{
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	width: auto;
}

.ct-home-gallery__dots .swiper-pagination {
	position: unset !important;
}

.ct-home-gallery__dots .swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	border-radius: 999px;
	background: transparent;
	opacity: 1;
	transition: width 220ms ease, background-color 220ms ease;
	margin: 0;
	border: 2px solid #47211B;
}
.ct-home-gallery__dots .swiper-pagination-bullet-active{
	background: #47211B;
	width: 44px;
}

.ct-home-gallery__button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	height: 40px;
	padding: 0 16px;
	border: 1px solid rgba(71,33,27,0.35);
	color: #47211B;
	background: transparent;
	font-size: 12px;
	line-height: 16px;
}

.ct-home-gallery__button:hover{
	border-color: rgba(71,33,27,0.65);
}

@media (max-width: 900px){
	.ct-home-gallery{
		padding: 72px 0 72px;
	}
	.ct-home-gallery__header{
		margin-bottom: 40px;
	}
	.ct-home-gallery__kicker{
		font-size: 32px;
		line-height: 38px;
		text-align: center;
	}
	.ct-home-gallery__title{
		font-size: 44px;
		line-height: 46px;
		max-width: 360px;
	}

	.ct-home-gallery__slide{
		padding: 0 0;
	}
	.ct-home-gallery__slider,
	.ct-home-gallery__controls{
		max-width: 560px;
	}
	.ct-home-gallery .swiper-slide{
		opacity: 1;
		transform: none;
	}
	.ct-home-gallery__controls{
		padding: 0;
	}
}

.ct-home-lifestyle__inner{
	max-width: 1416px;
}

.ct-home-lifestyle__grid{
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	gap: 24px;
}

.ct-home-lifestyle__col--content .ct-home-living__figure.ct-home-living__figure--small {
    margin-left: auto;
}

@media (max-width: 767px){
	/* Living: mobile order = text, large image, small image */
	.ct-home-living{
		padding: 56px 0 56px;
	}

	.ct-home-living__grid{
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 22px;
		grid-template-areas:
			"content"
			"large"
			"small";
	}

	.ct-home-living__col--media{
		width: 100%;
		grid-area: large;
	}

	.ct-home-living__col--content{
		width: 100%;
		display: contents !important;
	}

	.ct-home-living__content-inner{
		grid-area: content;
		padding-left: 0;
		margin: 0;
	}

	.ct-home-living__title,
	.ct-home-lifestyle__title{
		font-size: 40px;
		line-height: 46px;
		max-width: none;
	}

	.ct-home-living__body,
	.ct-home-lifestyle__body{
		max-width: none;
	}

	.ct-home-living__figure--small{
		grid-area: small;
		max-width: 171px;
		justify-self: start;
	}

	/* Lifestyle: same mobile order + left-aligned small */
	.ct-home-lifestyle{
		padding: 0 0 64px; 
	}

	.ct-home-lifestyle__grid{
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 22px;
		grid-template-areas:
			"content"
			"large"
			"small";
	}

	.ct-home-lifestyle__large{
		width: 100%;
		grid-area: large;
	}

	.ct-home-lifestyle__col--content{
		width: 100%;
		display: contents !important;
	}

	.ct-home-lifestyle__col--content .ct-home-living__content-inner{
		grid-area: content;
		margin: 0;
	}

	.ct-home-lifestyle__col--content .ct-home-living__figure--small{
		grid-area: small;
		max-width: 171px;
		justify-self: start;
		margin-left: 0;
	}
}

/* Homepage: Residences slider (Rooms) */
.ct-home-rooms{
	background: #F4F2EE;
	padding: 72px 0;
}

.ct-home-rooms__inner{
	max-width: 1416px;
}

.ct-home-rooms__wrap{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background: #47211B;
}

.ct-home-rooms__left{
	position: relative;
	color: #fff;
	padding: 20px 48px;
	overflow: hidden;
	width: 50%;
}

.ct-home-rooms__left-inner{
	position: relative;
	z-index: 1;
}

.ct-home-rooms__title{
	font-family: "PP-Museum", serif;
	font-weight: 100;
	font-size: 55px;
	line-height: 65px;
	text-transform: uppercase;
	margin: 0 0 16px;
}

.ct-home-rooms__body{
	font-size: 14px;
	line-height: 20px;
	color: #fff;
}

.ct-home-rooms__body p{ margin: 0 0 1em; }
.ct-home-rooms__body p:last-child{ margin-bottom: 0; }

.ct-home-rooms__button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 16px;
	min-width: 198px;
	min-height: 60px;
	padding: 18px 20px;
	border: 1px solid #fff;
	color: #fff;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	border-radius: 0;
}

.ct-home-rooms__button:hover{
	background: #C49D55;
	border-color: #C49D55;
}

.ct-home-rooms__right{
	position: relative;
	width: 50%;
}

.ct-home-rooms__right-image {
	width: 100%;
	aspect-ratio: 1/1;
	line-height: 0;
}

.ct-home-rooms__right-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ct-home-rooms__slider{
	position: absolute;
	inset: 0;
}

.ct-home-rooms__slide{
	height: 100%;
}

.ct-home-rooms__slide-inner{
	position: relative;
	height: 100%;
}

.ct-home-rooms__media{
	height: 100%;
	overflow: hidden;
	aspect-ratio: 1/1;
	line-height: 0;
}

.ct-home-rooms__media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ct-room-card{
	position: absolute;
	right: 0;
	bottom: 0;
	background: #fff;
	padding: 24px;
	width: 337px;
}

.ct-room-card__title{
	font-size: 20px;
	line-height: 23px;
	font-weight: 400;
	color: #000;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #0000001A;
}

.ct-room-card__stats{
	display: flex;
	flex-direction: column;
}

.ct-room-card__stat{
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 16px;
	line-height: 22px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #0000001A;
	padding-left: 20px;
}

.ct-room-card__icon{
	width: 24px;
	height: 24px;
}

.ct-room-card__bottom{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ct-room-card__price{
	font-size: 16px;
	line-height: 22px;
	color: #000;
	font-weight: 400;
}

/* Slick dots inside the card */
.ct-home-rooms__slider-dots {
    position: absolute;
    right: 24px;
    bottom: 29px;
}

.ct-home-rooms__slider-dots .slick-dots{
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-home-rooms__slider-dots .slick-dots li{
	margin: 0;
	padding: 0;
	line-height: 0;
	cursor: pointer;
}

.ct-home-rooms__slider-dots .slick-dots button{
	width: 12px;
	height: 12px;
	border-radius: 100%;
	border: 0;
	padding: 0;
	font-size: 0;
	border: 1px solid #fff;
}

.ct-home-rooms__slider-dots .slick-dots li.slick-active button{
	background: #47211B;
}

/* Prevent slick from adding extra spacing */
.ct-home-rooms .slick-slide{ outline: none; }
.ct-home-rooms .slick-list,
.ct-home-rooms .slick-track{ height: 100%; }

@media (max-width: 767px){
	.ct-home-rooms{
		padding: 0 0 64px;
	}

	.ct-home-rooms__wrap{
		flex-direction: column !important;
		align-items: stretch;
		gap: 0;
	}

	.ct-home-rooms__left{
		width: 100%;
		padding: 72px 48px 36px;
	}

	.ct-home-rooms__title{
		font-size: 40px;
		line-height: 46px;
		margin-bottom: 12px;
	}

	.ct-home-rooms__button{
		min-width: 0;
		width: 100%;
		max-width: 220px;
		min-height: 54px;
		padding: 16px 18px;
	}

	.ct-home-rooms__right{
		width: 100%;
		position: relative;
	}

	/* Make slider participate in normal flow on mobile */
	.ct-home-rooms__slider{
		position: static !important;
	}

	.ct-home-rooms__slide{
		height: auto;
	}

	.ct-home-rooms__slide-inner{
		display: flex;
		flex-direction: column;
	}

	.ct-home-rooms__media{
		aspect-ratio: 16 / 10;
        height: auto;
        min-height: 336px;
	}

	/* Card becomes a full-width block under the image */
	.ct-room-card{
		position: relative !important;
		right: auto;
		bottom: auto;
		width: 100%;
		padding: 18px 18px 22px;
	}

	.ct-room-card__title{
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 14px;
		padding-bottom: 14px;
	}

	.ct-room-card__stat{
		gap: 14px;
		font-size: 13px;
		line-height: 18px;
		margin-bottom: 14px;
		padding-bottom: 14px;
		padding-left: 0;
	}

	.ct-home-rooms__slider-dots{
		right: 18px;
		bottom: 18px;
	}
}

/* Homepage: Register your interest (matches design screenshot) */
.ct-home-signature{
	background: #D2BD9D;
	padding: 96px 0;
}

.ct-home-signature__inner{
	max-width: 1320px;
}

.ct-home-interest{
	display: grid;
	grid-template-columns: minmax(335px, 528px) minmax(0, 1fr);
	column-gap: 120px;
	align-items: start;
}

.ct-home-interest__title{
	font-family: "PP-Museum", serif;
    font-weight: 100;
    font-size: 55px;
    line-height: 120%;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #25140A;
    margin: 0px 0 24px;
}

.ct-home-interest__title-line{
	display: block;
}

.ct-home-interest__body{
	font-size: 14px;
	line-height: 140%;
	color: #000000;
	max-width: 341px;
}

.ct-home-interest__body p{
	margin: 0;
}

.ct-home-interest__form{
	width: 100%;
}

.ct-home-interest__form-inner{
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.ct-home-interest__field{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ct-home-interest__label{
	font-size: 16px;
	line-height: 140%;
	color: #000000;
}

.ct-home-interest__input,
.ct-home-interest__select{
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #000000;
	padding: 10px 0 12px;
	font-size: 12px;
	line-height: 16px;
	color: #000000;
	outline: none;
	border-radius: 0;
	appearance: none;
}

.ct-home-interest__input:focus,
.ct-home-interest__select:focus{
	border-bottom-color: #000000;
}

.ct-home-interest__submit{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	width: fit-content;
	min-width: 170px;
	height: 44px;
	padding: 0 18px;
	background: #47211B;
	color: rgba(255,255,255,0.92);
	border: 0;
	font-size: 10px;
	line-height: 14px;
	font-weight: 400;
}

.ct-home-interest__submit:hover{
	background: #3b1b16;
}

/* Contact Form 7 normalization for the interest form */
.ct-home-interest__form-inner .wpcf7{
	width: 100%;
}
.ct-home-interest__form-inner form{
	display: flex;
	flex-direction: column;
	gap: 48px;
	margin-top: 25px;
}
.ct-home-interest__form-inner p{
	margin: 0;
}
.ct-home-interest__form-inner br{
	display: none;
}
.ct-home-interest__form-inner label{
	display: flex;
	flex-direction: column;
	gap: 0px;
}
.ct-home-interest__form-inner .wpcf7-form-control-wrap{
	display: block;
}

.ct-home-interest__form-inner input[type="text"],
.ct-home-interest__form-inner input[type="email"],
.ct-home-interest__form-inner input[type="tel"],
.ct-home-interest__form-inner select{
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(0,0,0,0.45);
	padding: 0px 0 7px;
	font-size: 12px;
	line-height: 16px;
	color: rgba(0,0,0,0.82);
	outline: none;
	border-radius: 0;
	appearance: none;
}

.ct-home-interest__form-inner input[type="text"]:focus,
.ct-home-interest__form-inner input[type="email"]:focus,
.ct-home-interest__form-inner input[type="tel"]:focus,
.ct-home-interest__form-inner select:focus{
	border-bottom-color: rgba(0,0,0,0.75);
}

/* Dropdown chevron (align to screenshot) */
.ct-home-interest__form-inner select{
	background-image: url('data:image/svg+xml,%3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M4 9L12 17L20 9" stroke="black" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-size: 24px;
	background-position: right 10px center;
	background-color: transparent;
	appearance: none;
	cursor: pointer;
	padding-right: 22px;
}

.ct-home-interest__form-inner input[type="submit"]{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: -3px;
	width: fit-content;
	height: auto;
	padding: 21px 36px;
	background: #47211B;
	color: rgba(255,255,255,0.92);
	border: 0;
	font-size: 14px;
	line-height: 140%;
	font-weight: 400;
	cursor: pointer;
}
.ct-home-interest__form-inner input[type="submit"]:hover{
	background: #3b1b16;
}

.ct-home-interest__form-inner .wpcf7-not-valid-tip{
	margin-top: 8px;
	font-size: 11px;
	line-height: 14px;
}
.ct-home-interest__form-inner .wpcf7-response-output{
	margin: 16px 0 0;
	padding: 10px 12px;
	font-size: 12px;
	line-height: 16px;
}

/* Interest form: success state */
.ct-home-interest__success{
	display: none;
}
.ct-home-interest.is-success .ct-home-interest__form-inner .wpcf7{
	display: none;
}
.ct-home-interest.is-success .ct-home-interest__success{
	display: block;
}
.ct-home-interest__success-card{
	display: flex;
	flex-direction: column;
	gap: 33px;
}
.ct-home-interest__success-title{
	font-size: 30px;
	line-height: 34px;
	color: #25140A;
    font-weight: 200;
}
.ct-home-interest__success-subtitle{
	font-size: 30px;
	line-height: 34px;
	color: #25140A;
    font-weight: 200;
}

@media (max-width: 900px){
	.ct-home-signature{
		padding: 72px 0;
	}
	.ct-home-interest{
		grid-template-columns: 1fr;
		row-gap: 32px;
		column-gap: 0;
	}
	.ct-home-interest__form-inner{
		max-width: 100%;
		margin-left: 0;
	}
	.ct-home-interest__title{
		font-size: 40px;
		line-height: 44px;
	}

	.ct-home-interest__success-card{
		align-items: flex-start;
	}
	.ct-home-interest__success-icon{
		margin-top: 4px;
	}
	.ct-home-interest__success-title br {
		display: none;
	}
}

/* Homepage: Next section (static placeholder) */
.ct-home-next{
	background: #F4F2EE;
	padding: 96px 0;
	color: #25140A;
}

.ct-home-next__inner{
	max-width: 1424px;
}

.ct-home-next__grid{
	display: flex;
	gap: 24px;
	align-items: stretch;
	justify-content: space-between;
}

.ct-home-next__media{
	width: 47.4%;
}

.ct-home-next__image{
	width: 100%;
	aspect-ratio: 21 / 20;
	background: #e8e6e1;
	overflow: hidden;
	line-height: 0;
}

.ct-home-next__image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ct-home-next__content{
	width: 49%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ct-home-next__title{
	font-family: "PP-Museum", serif;
	font-weight: 100;
	font-size: 55px;
	line-height: 115%;
	text-transform: uppercase;
	margin: 0 0 24px;
	color: #25140A;
}

.ct-home-next__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	max-width: 500px;
}

.ct-home-next__body .ct-home-next__body-inner{
	font-size: 14px;
	line-height: 140%;
	color: #000000;
}


.ct-home-next__body-inner p{ margin: 0 0 1em; }
.ct-home-next__body-inner p:last-child{ margin-bottom: 0; }

.ct-home-next__actions{
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.ct-home-next__button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 170px;
	min-height: 56px;
	padding: 16px 18px;
	border-radius: 0;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	border: 1px solid rgba(71,33,27,0.35);
	color: #47211B;
}

.ct-home-next__button--primary{
	background: #47211B;
	color: rgba(255,255,255,0.92);
	border-color: #47211B;
}

.ct-home-next__button--secondary{
	background: transparent;
	color: #47211B;
}

.ct-home-next__button--secondary:hover{
	background: rgba(71,33,27,0.06);
}

@media (max-width: 1400px) {
	.ct-home-residences__title, .ct-home-designed__text, .ct-home-living__title, .ct-home-lifestyle__title, .ct-home-rooms__title, .ct-home-connected__title, .ct-home-gallery__title, .ct-home-interest__title {
		font-size: 40px;
		line-height: 44px;
	}
	.ct-home-residences__header {
		margin-bottom: 60px;
	}
	.ct-home-designed__text {
		width: 290px;
	}
	.ct-home-living__figure--small, .ct-home-lifestyle__figure--small {
		max-width: 250px;
	}
	.ct-home-living__body, .ct-home-lifestyle__body {
		max-width: 100%;
		margin-bottom: 20px;
	}
	.ct-home-connected__header, .ct-home-gallery__title {
		max-width: 350px;
	}
	.ct-home-gallery__controls {
		justify-content: center;
	}
	.ct-home-interest {
		grid-template-columns: minmax(415px, 430px) minmax(0, 1fr);
		column-gap: 60px;
	}
}

@media (max-width: 991px){
	.ct-home-next{
		padding: 72px 0;
	}
	.ct-home-next__grid{
		flex-direction: column;
	}
	.ct-home-next__media,
	.ct-home-next__content{
		width: 100%;
	}
	.ct-home-next__content{
		padding-left: 0;
	}
	.ct-home-next__image{
		aspect-ratio: 4 / 3;
	}
	.ct-home-next__title{
		font-size: 44px;
		line-height: 46px;
	}
	.ct-home-residences__title {
		max-width: 300px;
		margin: auto;
	}

	.ct-home-residences__row{
		grid-template-columns: 1fr 1fr !important;
		gap: 20px !important;
		grid-template-areas:
			"header header"
			"left right"
			"bottom bottom";
		align-items: start;
	}

	.ct-home-residences__col--left{
		grid-area: left;
	}

	.ct-home-residences__col--right{
		grid-area: right;
		align-self: end;
		margin-top: 34px !important;
	}

	/* Let header + bottom image participate in the parent grid */
	.ct-home-residences__col--center{
		display: contents !important;
	}

	.ct-home-residences__header{
		grid-area: header;
		max-width: none;
		margin-bottom: 0;
		padding: 0 6px;
	}

	.ct-home-residences__img--left{
		aspect-ratio: 3 / 4;
		margin-bottom: 71px;
	}

	.ct-home-residences__img--right{
		aspect-ratio: 1 / 1;
	}

	.ct-home-residences__img--bottom{
		grid-area: bottom;
		aspect-ratio: 16 / 9;
		width: 100%;
		margin-top: 20px !important;
	}
	.ct-home-living__figure--small, .ct-home-lifestyle__figure--small {
        max-width: 200px;
    }
	.ct-home-living__content-inner, .ct-home-lifestyle__content-inner {
		padding-left: 0;
		margin: auto 0;
	}
	.ct-home-interest {
		grid-template-columns: minmax(340px, 340px) minmax(0, 1fr);
		column-gap: 40px;
	}
	.ct-home-residences__title, .ct-home-designed__text, .ct-home-living__title, .ct-home-lifestyle__title, .ct-home-rooms__title, .ct-home-connected__title, .ct-home-gallery__title, .ct-home-interest__title {
        font-size: 38px;
        line-height: 44px;
    }
	.ct-site-footer__bottom {
		flex-wrap: wrap;
		gap: 20px;
	}
}


@media (max-width: 767px){
	.ct-home-gallery {
		padding: 72px 0 64px;
	}

	.ct-home-gallery__slider{
		padding-top: 0;
		overflow: visible !important;
	}

	/* Mobile screenshot shows 1 centered slide (no scaling) */
	.ct-home-gallery .swiper-slide,
	.ct-home-gallery .swiper-slide-active{
		transform: none !important;
	}

	.ct-home-gallery__slide-inner img{
		aspect-ratio: 4 / 3;
	}

	.ct-home-gallery__controls{
		max-width: none;
		margin-top: 18px;
		padding: 0 24px;
		gap: 18px;
		justify-content: flex-start;
	}

	.ct-home-gallery__button{
		min-width: 128px;
		height: 40px;
		padding: 0 16px;
	}

	.ct-home-connected__title {
		font-size: 40px;
		line-height: 115%;
		max-width: 364px;
		margin: 0 auto 32px;
	}

	.ct-home-connected__header {
		padding-bottom: 0;
	}

	/* Connected (map) — mobile layout like screenshot */
	.ct-home-connected__map-image{
		height: 515px;
	}

	.ct-home-connected__map-inner{
		position: static !important;
		top: auto;
		right: auto;
		transform: none !important;
		max-width: none;
		padding: 0;
	}

	.ct-home-connected__card{
		width: 100%;
		padding: 40px 24px;
	}

	.ct-home-connected__list{
		flex-direction: row;
		justify-content: space-between;
		gap: 24px;
		overflow: auto;
	}

	.ct-home-connected__item{
		flex: 1 1 0;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		text-align: left;
		gap: 16px;
		margin: 0;
		padding: 0;
		border-bottom: 0;
		min-width: 122px;
	}

	.ct-home-connected__text{
		font-size: 14px;
		line-height: 20px;
	}

	.ct-home-location.ct-home-lifestyle {
		padding-bottom: 72px;
	}

	.ct-home-location .ct-home-lifestyle__col--content .ct-home-living__figure.ct-home-living__figure--small {
		margin-left: 0;
	}

	.ct-home-lifestyle__col--content .ct-home-living__figure.ct-home-living__figure--small {
		margin-left: 0;
	}

	.ct-home-residences__title, .ct-home-designed__text, .ct-home-living__title, .ct-home-lifestyle__title, .ct-home-rooms__title, .ct-home-connected__title, .ct-home-gallery__title, .ct-home-interest__title {
        font-size: 40px;
        line-height: 46px;
    }

	.ct-home-living__content-inner, .ct-home-lifestyle__content-inner {
		padding: 0 16px;
	}

	.ct-home-living__figure--small, .ct-home-lifestyle__figure--small {
        max-width: 171px;
        aspect-ratio: unset;
        height: 186px;
    }

	.ct-home-location .ct-home-living__content-inner {
		padding-left: 16px;
	}

	.ct-home-gallery .swiper-slide-active .ct-home-gallery__slide-inner img {
        aspect-ratio: 4 / 3;
    }

	.ct-home-interest {
		grid-template-columns: 1fr !important;
		grid-template-areas:
			"title"
			"form";
		column-gap: 0;
		row-gap: 24px;
	}

	.ct-site-footer__copyright {
		font-size: 12px;
		line-height: 14px;
	}

	.ct-footer-legal-nav a {
		font-size: 12px;
		line-height: 14px;
	}
}
