:root {
	--ild-black: #0b0b0b;
	--ild-black-soft: #171717;
	--ild-gold: #dfba6b;
	--ild-gold-deep: #8a641d;
	--ild-cream: #f6f2ea;
	--ild-white: #fff;
	--ild-ink: #171717;
	--ild-muted: #68655f;
	--ild-line: #dfdbd2;
	--ild-shadow: 0 22px 60px rgb(23 23 23 / 12%);
	--ild-serif: Georgia, "Times New Roman", serif;
	--ild-sans: Inter, Montserrat, "Segoe UI", Arial, sans-serif;
	--ild-shell: min(1180px, calc(100% - 40px));
}

body.ild-template .site-content,
body.ild-template .site-content > .ast-container {
	width: 100%;
	max-width: none;
	display: block;
	padding: 0;
}

body.ild-template #primary,
body.ild-template .site-main,
body.ild-template .entry-content,
body.ild-template article.page {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.ild-template article.page > .entry-header {
	display: none;
}

.ild,
.ild * {
	box-sizing: border-box;
}

.ild {
	width: 100%;
	overflow: clip;
	color: var(--ild-ink);
	background: var(--ild-white);
	font-family: var(--ild-sans);
	font-size: 16px;
	line-height: 1.65;
}

.ild img {
	display: block;
	max-width: 100%;
}

.ild h1,
.ild h2,
.ild h3,
.ild p {
	margin-top: 0;
}

.ild h1,
.ild h2,
.ild h3 {
	color: inherit;
	font-family: var(--ild-serif);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.025em;
}

.ild h1 {
	max-width: 940px;
	margin-bottom: 24px;
	font-size: clamp(2.75rem, 6vw, 5.7rem);
}

.ild h2 {
	margin-bottom: 22px;
	font-size: clamp(2rem, 4vw, 3.55rem);
}

.ild h3 {
	font-size: 1.8rem;
}

.ild a {
	color: inherit;
}

.ild button,
.ild input,
.ild select,
.ild textarea {
	font: inherit;
}

.ild button,
.ild a {
	-webkit-tap-highlight-color: transparent;
}

.ild :focus-visible,
.ild-whatsapp-float:focus-visible {
	outline: 3px solid #2677d9;
	outline-offset: 4px;
}

.ild-shell {
	width: var(--ild-shell);
	margin-inline: auto;
}

.ild-section {
	padding-top: 92px;
	padding-bottom: 105px;
}

.ild-eyebrow {
	margin-bottom: 17px;
	color: var(--ild-gold);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.ild-eyebrow--dark {
	color: var(--ild-gold-deep);
}

.ild-lede {
	max-width: 760px;
	margin-bottom: 0;
	color: #f3f3f3;
	font-size: clamp(1.02rem, 2vw, 1.3rem);
}

.ild-button {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 24px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.ild-button:hover {
	transform: translateY(-2px);
}

.ild-button--gold {
	color: var(--ild-black);
	background: linear-gradient(135deg, #ebcd8b, var(--ild-gold));
	box-shadow: 0 8px 24px rgb(111 78 19 / 18%);
}

.ild-button--gold:hover {
	color: var(--ild-black);
	background: #efd596;
}

.ild-button--dark {
	color: var(--ild-white);
	background: var(--ild-black);
}

.ild-button--dark:hover {
	color: var(--ild-white);
	background: #2a2a2a;
}

.ild-button--ghost {
	border-color: rgb(255 255 255 / 62%);
	color: var(--ild-white);
	background: rgb(0 0 0 / 10%);
	backdrop-filter: blur(8px);
}

.ild-button--ghost:hover {
	border-color: var(--ild-white);
	color: var(--ild-white);
	background: rgb(255 255 255 / 13%);
}

.ild-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	color: var(--ild-white);
	background-color: var(--ild-black);
	background-position: center;
	background-size: cover;
}

.ild-hero::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(11 11 11 / 72%) 0%, rgb(11 11 11 / 44%) 50%, rgb(11 11 11 / 8%) 100%);
	content: "";
}

.ild-hero__content {
	position: relative;
	z-index: 1;
	padding-top: 110px;
	padding-bottom: 76px;
}

.ild-hero--catalog {
	min-height: 565px;
	background-image: url("../img/ubicacion.webp");
	background-position: center 56%;
}

.ild-hero--city {
	min-height: 500px;
	background-image: var(--ild-hero-image);
}

.ild-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.65fr);
	align-items: end;
	gap: 70px;
	margin-bottom: 45px;
}

.ild-section-heading h2 {
	margin-bottom: 0;
}

.ild-section-heading > p {
	margin-bottom: 5px;
	color: var(--ild-muted);
}

.ild-section-heading--light > p {
	color: #c8c8c8;
}

.ild-city-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.ild-city-card {
	position: relative;
	min-height: 390px;
	display: grid;
	overflow: hidden;
	border-radius: 18px;
	color: var(--ild-white);
	background: var(--ild-black);
	text-decoration: none !important;
	box-shadow: var(--ild-shadow);
	isolation: isolate;
}

.ild-city-card > * {
	grid-area: 1 / 1;
}

.ild-city-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 650ms cubic-bezier(.2, .7, .2, 1);
}

.ild-city-card:hover {
	color: var(--ild-white);
}

.ild-city-card:hover img {
	transform: scale(1.055);
}

.ild-city-card__shade {
	background: linear-gradient(0deg, rgb(11 11 11 / 92%) 0%, rgb(11 11 11 / 34%) 60%, rgb(11 11 11 / 5%) 100%);
}

.ild-city-card__content {
	z-index: 1;
	align-self: end;
	padding: 30px;
}

.ild-city-card__content strong,
.ild-city-card__content > span {
	display: block;
}

.ild-city-card__content strong {
	margin: 8px 0 2px;
	font-family: var(--ild-serif);
	font-size: clamp(2.35rem, 4vw, 3.5rem);
	font-weight: 500;
	line-height: 1;
}

.ild-city-card__count {
	color: var(--ild-gold);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ild-text-link {
	margin-top: 24px;
	font-weight: 800;
}

.ild-selection-note {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	margin-top: 30px;
	padding: 24px 26px;
	border: 1px solid var(--ild-line);
	border-radius: 16px;
	background: var(--ild-cream);
}

.ild-selection-note strong {
	display: block;
	margin-bottom: 5px;
}

.ild-selection-note p {
	margin-bottom: 0;
	color: var(--ild-muted);
}

.ild-selection-icon {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	border: 1px solid var(--ild-gold-deep);
	border-radius: 50%;
	color: var(--ild-gold-deep);
	font-family: var(--ild-serif);
	font-weight: 700;
}

.ild-breadcrumb {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 46px;
	padding: 0 0 6px;
	border-bottom: 1px solid currentColor;
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none !important;
}

.ild-breadcrumb--light {
	color: #fff;
}

.ild-breadcrumb--light:hover {
	color: var(--ild-gold);
}

.ild-filter-bar {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 42px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--ild-line);
}

.ild-filter-bar strong,
.ild-filter-bar span {
	display: block;
}

.ild-filter-bar > div:first-child span {
	margin-top: 4px;
	color: var(--ild-muted);
	font-size: 0.84rem;
}

.ild-filter-controls {
	display: flex;
	gap: 16px;
}

.ild-filter-controls label {
	display: grid;
	gap: 7px;
}

.ild-filter-controls label > span {
	font-size: 0.77rem;
	font-weight: 800;
}

.ild select,
.ild input,
.ild textarea {
	width: 100%;
	min-height: 50px;
	padding: 11px 14px;
	border: 1px solid #aaa69d;
	border-radius: 10px;
	color: var(--ild-ink);
	background: var(--ild-white);
}

.ild textarea {
	resize: vertical;
}

.ild-development-list {
	display: grid;
	gap: 36px;
}

.ild-development-card {
	display: grid;
	grid-template-columns: minmax(340px, 0.95fr) minmax(420px, 1.05fr);
	overflow: hidden;
	border-radius: 20px;
	background: var(--ild-white);
	box-shadow: var(--ild-shadow);
}

.ild-development-card[hidden] {
	display: none;
}

.ild-development-card__image {
	position: relative;
	min-height: 570px;
}

.ild-development-card__image > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ild-chip,
.ild-year-chip {
	padding: 7px 12px;
	border-radius: 999px;
	color: var(--ild-black);
	background: var(--ild-gold);
	font-size: 0.69rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ild-chip {
	position: absolute;
	top: 22px;
	left: 22px;
}

.ild-development-card__copy {
	align-self: center;
	padding: clamp(38px, 6vw, 72px);
}

.ild-project-wordmark {
	width: min(320px, 85%);
	height: auto;
	max-height: 110px;
	object-fit: contain;
	object-position: left center;
	filter: invert(1);
}

.ild-project-place {
	margin: 25px 0 8px;
	color: var(--ild-gold-deep);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ild-development-card__copy h2 {
	font-size: clamp(2rem, 3.7vw, 3.25rem);
}

.ild-development-card__copy > p {
	color: var(--ild-muted);
}

.ild-quick-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 34px 0;
	border-block: 1px solid var(--ild-line);
}

.ild-quick-facts div {
	padding: 18px 12px 18px 0;
}

.ild-quick-facts div + div {
	padding-left: 16px;
	border-left: 1px solid var(--ild-line);
}

.ild-quick-facts dt,
.ild-facts-grid span,
.ild-price-breakdown dt,
.ild-private-card dt {
	color: var(--ild-muted);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ild-quick-facts dd,
.ild-facts-grid strong,
.ild-price-breakdown dd,
.ild-private-card dd {
	margin: 4px 0 0;
	font-weight: 800;
}

.ild-microcopy {
	margin: 15px 0 0;
	font-size: 0.75rem;
}

.ild-empty {
	padding: 55px 30px;
	border: 1px solid var(--ild-line);
	border-radius: 18px;
	text-align: center;
	background: var(--ild-cream);
}

.ild-empty h2 {
	font-size: 2rem;
}

.ild-project-hero {
	position: relative;
	height: clamp(540px, 64vh, 620px);
	min-height: 540px;
	overflow: hidden;
	color: var(--ild-white);
	background: var(--ild-black);
}

.ild-project-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ild-project-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(11 11 11 / 74%) 0%, rgb(11 11 11 / 46%) 52%, rgb(11 11 11 / 8%) 100%);
}

.ild-project-hero__content {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 36px;
	padding-bottom: 36px;
}

.ild-project-hero__content h1 {
	max-width: 850px;
	margin-bottom: 18px;
	font-size: clamp(2.55rem, 5vw, 4.75rem);
}

.ild-project-hero__content > p {
	max-width: 700px;
	margin-bottom: 0;
	color: #f2f2f2;
	font-size: 1.1rem;
}

.ild-hero-wordmark {
	width: min(330px, 72vw);
	height: auto;
	max-height: 108px;
	margin-bottom: 20px;
	object-fit: contain;
	object-position: left center;
}

.ild-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin-top: 24px;
}

.ild-facts-band {
	color: var(--ild-white);
	background: var(--ild-black);
}

.ild-facts-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ild-facts-grid div {
	padding: 27px 24px;
	border-left: 1px solid #333;
}

.ild-facts-grid div:last-child {
	border-right: 1px solid #333;
}

.ild-facts-grid span,
.ild-facts-grid strong {
	display: block;
}

.ild-facts-grid span {
	color: #aaa;
}

.ild-facts-grid strong {
	color: var(--ild-white);
	font-family: var(--ild-serif);
	font-size: 1.2rem;
	font-weight: 500;
}

.ild-anchor-nav {
	position: sticky;
	z-index: 30;
	top: 0;
	border-bottom: 1px solid var(--ild-line);
	background: rgb(255 255 255 / 95%);
	backdrop-filter: blur(12px);
}

.admin-bar .ild-anchor-nav {
	top: 32px;
}

.ild-anchor-nav .ild-shell {
	display: flex;
	gap: 28px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.ild-anchor-nav a {
	flex: 0 0 auto;
	padding: 15px 0 13px;
	color: #4b4b4b;
	font-size: 0.8rem;
	font-weight: 800;
	text-decoration: none !important;
}

.ild-anchor-nav a:hover,
.ild-anchor-nav a.is-active {
	color: var(--ild-gold-deep);
}

.ild-editorial-section {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	align-items: center;
	gap: clamp(45px, 8vw, 105px);
	padding-top: 105px;
	padding-bottom: 105px;
}

.ild-editorial-section--reverse {
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
}

.ild-editorial-section--reverse .ild-editorial-copy {
	order: 2;
}

.ild-editorial-copy p,
.ild-rich-text {
	color: var(--ild-muted);
}

.ild-rich-text > :last-child {
	margin-bottom: 20px;
}

.ild-feature-image {
	margin: 0;
}

.ild-feature-image img {
	width: 100%;
	min-height: 540px;
	border-radius: 18px;
	object-fit: cover;
	box-shadow: var(--ild-shadow);
}

.ild-feature-image--wide img {
	min-height: 420px;
}

.ild figcaption {
	margin-top: 9px;
	color: var(--ild-muted);
	font-size: 0.74rem;
}

.ild-check-list {
	display: grid;
	gap: 12px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.ild-check-list li {
	position: relative;
	padding-left: 25px;
}

.ild-check-list li::before {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--ild-gold-deep);
	content: "◇";
}

.ild-soft-section {
	padding: 105px 0;
	background: var(--ild-cream);
}

.ild-private-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ild-private-card {
	min-height: 390px;
	display: flex;
	flex-direction: column;
	padding: 30px;
	border-top: 4px solid var(--ild-black);
	border-radius: 14px;
	background: var(--ild-white);
	box-shadow: 0 13px 36px rgb(23 23 23 / 7%);
}

.ild-private-card.is-highlighted {
	border-top-color: var(--ild-gold-deep);
}

.ild-private-card__head {
	min-height: 68px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	color: var(--ild-muted);
	font-size: 0.72rem;
}

.ild-private-card h3 {
	margin: 18px 0 12px;
	font-size: 2.4rem;
}

.ild-private-card > p {
	color: var(--ild-muted);
}

.ild-private-card dl {
	margin: auto 0 0;
	padding-top: 22px;
	border-top: 1px solid var(--ild-line);
}

.ild-private-card dl div {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	padding: 5px 0;
}

.ild-private-card dd {
	text-align: right;
}

.ild-text-button {
	padding: 4px 0 7px;
	border: 0;
	border-bottom: 1px solid currentColor;
	color: var(--ild-gold-deep);
	background: transparent;
	font-weight: 800;
	cursor: pointer;
}

.ild-dark-section {
	padding: 105px 0;
	color: var(--ild-white);
	background: var(--ild-black);
}

.ild-gallery-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	grid-template-rows: repeat(2, minmax(220px, 320px));
	gap: 18px;
}

.ild-gallery-grid figure {
	position: relative;
	overflow: hidden;
	margin: 0;
	border-radius: 14px;
	background: var(--ild-black-soft);
}

.ild-gallery-grid .ild-gallery-large {
	grid-row: 1 / 3;
}

.ild-gallery-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 650ms cubic-bezier(.2, .7, .2, 1);
}

.ild-gallery-grid figure:hover img {
	transform: scale(1.035);
}

.ild-gallery-grid figcaption {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	margin: 0;
	padding: 11px 14px;
	border-radius: 8px;
	color: var(--ild-white);
	background: rgb(11 11 11 / 72%);
}

.ild-render-note {
	max-width: 900px;
	margin: 22px 0 0;
	color: #aaa;
	font-size: 0.78rem;
}

.ild-price-section {
	padding-top: 105px;
	padding-bottom: 105px;
}

.ild-price-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
	gap: 24px;
}

.ild-price-card {
	padding: clamp(28px, 5vw, 52px);
	border-radius: 18px;
	color: var(--ild-white);
	background: var(--ild-black);
}

.ild-price-title {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #373737;
}

.ild-price-title span,
.ild-price-title strong {
	display: block;
}

.ild-price-title span {
	color: #bbb;
}

.ild-price-title strong {
	color: var(--ild-gold);
	font-family: var(--ild-serif);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 500;
	line-height: 1;
	text-align: right;
}

.ild-price-breakdown {
	margin: 25px 0 0;
}

.ild-price-breakdown div {
	display: flex;
	justify-content: space-between;
	gap: 25px;
	padding: 14px 0;
	border-bottom: 1px solid #2c2c2c;
}

.ild-price-breakdown dt {
	color: #aaa;
}

.ild-clarity-card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 30px;
	border: 1px solid #d8c291;
	border-radius: 18px;
	background: #fbf6e9;
}

.ild-clarity-card strong {
	display: block;
	margin-bottom: 10px;
}

.ild-clarity-card p {
	color: var(--ild-muted);
	font-size: 0.86rem;
}

.ild-location-section {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	min-height: 580px;
	background: var(--ild-cream);
}

.ild-location-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ild-location-copy {
	align-self: center;
	max-width: 600px;
	padding: clamp(45px, 7vw, 88px);
}

.ild-location-copy p {
	color: var(--ild-muted);
}

.ild-location-copy .ild-button {
	margin-top: 20px;
}

.ild-trust-section {
	padding: 105px 0;
	color: var(--ild-white);
	background:
		linear-gradient(90deg, rgb(11 11 11 / 95%), rgb(11 11 11 / 82%)),
		var(--ild-trust-image) center / cover no-repeat;
}

.ild-trust-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(380px, 1.15fr);
	align-items: center;
	gap: clamp(50px, 9vw, 120px);
}

.ild-trust-copy p:last-child {
	color: #d6d6d6;
}

.ild-review-card {
	padding: clamp(30px, 5vw, 48px);
	border-radius: 18px;
	color: var(--ild-ink);
	background: var(--ild-white);
}

.ild-review-card h3 {
	margin-bottom: 25px;
}

.ild-review-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ild-review-card li {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 0;
	border-bottom: 1px solid var(--ild-line);
}

.ild-review-card li span {
	color: var(--ild-muted);
}

.ild-review-card li strong {
	text-align: right;
}

.ild-review-card > p {
	margin: 25px 0 0;
	color: var(--ild-muted);
	font-size: 0.78rem;
}

.ild-faq-section {
	padding-top: 105px;
	padding-bottom: 105px;
}

.ild-faq-list {
	max-width: 900px;
	display: grid;
	gap: 12px;
}

.ild-faq {
	border: 1px solid var(--ild-line);
	border-radius: 14px;
	background: var(--ild-white);
}

.ild-faq summary {
	padding: 20px 24px;
	font-weight: 800;
	cursor: pointer;
}

.ild-faq p {
	margin: 0;
	padding: 0 24px 22px;
	color: var(--ild-muted);
}

.ild-contact-section {
	padding: 105px 0;
	background: var(--ild-cream);
}

.ild-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(400px, 1.2fr);
	align-items: start;
	gap: clamp(50px, 8vw, 100px);
}

.ild-contact-layout > div > p:last-child {
	color: var(--ild-muted);
}

.ild-contact-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: clamp(28px, 5vw, 46px);
	border-radius: 18px;
	background: var(--ild-white);
	box-shadow: var(--ild-shadow);
}

.ild-contact-form label {
	display: grid;
	gap: 7px;
}

.ild-contact-form label > span {
	font-size: 0.78rem;
	font-weight: 800;
}

.ild-contact-form .ild-field--full {
	grid-column: 1 / -1;
}

.ild-consent {
	grid-template-columns: auto 1fr;
	align-items: flex-start;
}

.ild-consent input {
	width: 20px;
	min-height: 20px;
	margin-top: 3px;
}

.ild-consent span {
	font-weight: 500 !important;
}

.ild-consent a {
	color: #62470f;
	font-weight: 800;
}

.ild-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ild-form-note {
	margin: 0;
	color: var(--ild-muted);
	font-size: 0.72rem;
}

.ild-form-message {
	display: grid;
	gap: 4px;
	margin-bottom: 16px;
	padding: 16px 18px;
	border-radius: 12px;
}

.ild-form-message--success {
	border: 1px solid #4e8463;
	color: #17482a;
	background: #e7f5ec;
}

.ild-form-message--error {
	border: 1px solid #b66262;
	color: #6d1d1d;
	background: #fff0f0;
}

.ild-dialog {
	width: min(1040px, calc(100% - 30px));
	max-width: 1040px;
	max-height: calc(100dvh - 40px);
	padding: 0;
	border: 0;
	border-radius: 16px;
	color: var(--ild-ink);
	background: var(--ild-white);
	box-shadow: 0 30px 100px rgb(0 0 0 / 45%);
}

.ild-dialog::backdrop {
	background: rgb(0 0 0 / 78%);
}

.ild-dialog__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 22px;
	color: var(--ild-white);
	background: var(--ild-black);
}

.ild-dialog__head span,
.ild-dialog__head strong {
	display: block;
}

.ild-dialog__head span {
	color: var(--ild-gold);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ild-dialog__head button {
	width: 40px;
	height: 40px;
	border: 1px solid #555;
	border-radius: 50%;
	color: var(--ild-white);
	background: transparent;
	font-size: 1.6rem;
	cursor: pointer;
}

.ild-dialog > img {
	width: 100%;
	height: auto;
}

.ild-dialog > p {
	margin: 0;
	padding: 16px 22px 20px;
	color: var(--ild-muted);
	font-size: 0.76rem;
}

.ild-whatsapp-float {
	position: fixed;
	z-index: 999;
	right: 22px;
	bottom: 22px;
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 11px 17px 11px 13px;
	border: 1px solid rgb(255 255 255 / 35%);
	border-radius: 999px;
	color: #fff !important;
	background: #167e46;
	font-family: var(--ild-sans);
	font-size: 0.84rem;
	font-weight: 800;
	text-decoration: none !important;
	box-shadow: 0 12px 35px rgb(0 0 0 / 24%);
	transition: transform 180ms ease, background-color 180ms ease;
}

.ild-whatsapp-float:hover {
	color: #fff;
	background: #106b3a;
	transform: translateY(-2px);
}

.ild-whatsapp-float svg {
	width: 29px;
	height: 29px;
}

.ild-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 650ms ease, transform 650ms cubic-bezier(.2, .7, .2, 1);
}

.ild-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 980px) {
	.ild-city-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ild-section-heading,
	.ild-development-card,
	.ild-editorial-section,
	.ild-editorial-section--reverse,
	.ild-price-layout,
	.ild-location-section,
	.ild-trust-layout,
	.ild-contact-layout {
		grid-template-columns: 1fr;
	}

	.ild-section-heading {
		gap: 18px;
	}

	.ild-development-card__image {
		min-height: 440px;
	}

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

	.ild-facts-grid div:nth-child(n+3) {
		border-top: 1px solid #333;
	}

	.ild-editorial-section--reverse .ild-editorial-copy {
		order: initial;
	}

	.ild-private-grid {
		grid-template-columns: 1fr;
	}

	.ild-private-card {
		min-height: auto;
	}

	.ild-location-image {
		min-height: 440px;
	}
}

@media (max-width: 680px) {
	:root {
		--ild-shell: min(100% - 28px, 1180px);
	}

	.ild h1 {
		font-size: clamp(2.45rem, 13vw, 4.15rem);
	}

	.ild h2 {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.ild-hero--catalog {
		min-height: 590px;
		background-position: 62% center;
	}

	.ild-hero--city {
		min-height: 520px;
	}

	.ild-hero::before {
		background: linear-gradient(0deg, rgb(11 11 11 / 84%) 0%, rgb(11 11 11 / 42%) 70%, rgb(11 11 11 / 10%) 100%);
	}

	.ild-hero__content {
		padding-top: 90px;
		padding-bottom: 54px;
	}

	.ild-section,
	.ild-soft-section,
	.ild-dark-section,
	.ild-price-section,
	.ild-trust-section,
	.ild-faq-section,
	.ild-contact-section {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.ild-city-grid {
		grid-template-columns: 1fr;
	}

	.ild-city-card {
		min-height: 350px;
	}

	.ild-city-card__content {
		padding: 26px;
	}

	.ild-selection-note {
		grid-template-columns: 1fr;
	}

	.ild-filter-bar {
		align-items: stretch;
		flex-direction: column;
		gap: 22px;
	}

	.ild-filter-controls {
		flex-direction: column;
	}

	.ild-development-card__image {
		min-height: 355px;
	}

	.ild-development-card__copy {
		padding: 32px 24px 38px;
	}

	.ild-quick-facts {
		grid-template-columns: 1fr;
	}

	.ild-quick-facts div + div {
		padding-left: 0;
		border-top: 1px solid var(--ild-line);
		border-left: 0;
	}

	.ild-project-hero {
		height: auto;
		min-height: 620px;
	}

	.ild-project-hero__shade {
		background: linear-gradient(0deg, rgb(11 11 11 / 91%) 0%, rgb(11 11 11 / 48%) 67%, rgb(11 11 11 / 8%) 100%);
	}

	.ild-project-hero__content {
		min-height: 620px;
		padding-top: 32px;
		padding-bottom: 34px;
	}

	.ild-project-hero__content h1 {
		font-size: clamp(2.3rem, 11vw, 3.65rem);
	}

	.ild-hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ild-facts-grid {
		grid-template-columns: 1fr 1fr;
	}

	.ild-facts-grid div {
		padding: 18px 12px;
	}

	.admin-bar .ild-anchor-nav {
		top: 0;
	}

	.ild-anchor-nav .ild-shell {
		gap: 20px;
	}

	.ild-editorial-section {
		gap: 35px;
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.ild-feature-image img {
		min-height: 390px;
	}

	.ild-feature-image--wide img {
		min-height: 250px;
	}

	.ild-private-card {
		padding: 25px;
	}

	.ild-private-card__head {
		min-height: 0;
		flex-direction: column;
	}

	.ild-gallery-grid {
		grid-template-columns: 1fr;
		grid-template-rows: 340px 250px 310px;
	}

	.ild-gallery-grid .ild-gallery-large {
		grid-row: auto;
	}

	.ild-price-title,
	.ild-price-breakdown div {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.ild-price-title strong {
		text-align: left;
	}

	.ild-clarity-card {
		flex-direction: column;
	}

	.ild-location-image {
		min-height: 320px;
	}

	.ild-location-copy {
		padding: 54px 24px 64px;
	}

	.ild-review-card li {
		flex-direction: column;
		gap: 3px;
	}

	.ild-review-card li strong {
		text-align: left;
	}

	.ild-contact-form {
		grid-template-columns: 1fr;
		padding: 25px;
	}

	.ild-whatsapp-float {
		right: 14px;
		bottom: 14px;
		width: 54px;
		height: 54px;
		justify-content: center;
		padding: 0;
	}

	.ild-whatsapp-float span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ild *,
	.ild *::before,
	.ild *::after,
	.ild-whatsapp-float {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.ild-reveal {
		opacity: 1;
		transform: none;
	}
}
