/**
 * Imob Engine — página Lançamentos.
 *
 * Composição própria: abertura, filtro por estágio da obra, lançamento em
 * destaque, catálogo, linha do tempo e chamada final. O catálogo é uma
 * consulta real sobre `ie_development` — nenhum lançamento é HTML estático.
 *
 * Cores: tudo deriva dos tokens da Central de Estilos, como nas demais
 * páginas de composição própria (Home, Comparar, Imóveis, Sobre).
 */

/* =====================================================================
 * TOKENS.
 * ================================================================== */

.ie-lc {
	--lc-brand: var(--ie-brand, #17539a);
	--lc-brand-ink: var(--ie-brand-ink, #ffffff);
	--lc-deep: color-mix(in srgb, var(--ie-brand, #17539a) 62%, #04101f);
	--lc-deep-2: color-mix(in srgb, var(--ie-brand, #17539a) 92%, #04101f);
	--lc-accent: color-mix(in srgb, var(--ie-brand, #17539a) 42%, #ffffff);
	--lc-tint: color-mix(in srgb, var(--ie-brand, #17539a) 7%, var(--ie-bg, #ffffff));
	--lc-tint-2: color-mix(in srgb, var(--ie-brand, #17539a) 15%, var(--ie-bg, #ffffff));

	--lc-on-deep: #ffffff;
	--lc-on-deep-soft: rgba(255, 255, 255, .78);
	--lc-on-deep-line: rgba(255, 255, 255, .18);
	--lc-on-deep-fill: rgba(255, 255, 255, .09);

	--lc-bg: var(--ie-bg, #ffffff);
	--lc-surface: var(--ie-surface, #f5f8fc);
	--lc-card: var(--ie-bg, #ffffff);
	--lc-line: var(--ie-border, #dbe5f0);
	--lc-ink: var(--ie-text, #15243a);
	--lc-muted: var(--ie-text-muted, #617085);
	--lc-success: var(--ie-success, #18794e);

	--lc-shadow-sm: 0 10px 28px rgba(15, 56, 110, .08);
	--lc-shadow-md: 0 18px 50px rgba(15, 56, 110, .14);
	--lc-shadow-lg: 0 28px 70px rgba(8, 36, 78, .20);

	--lc-ease: cubic-bezier(.22, .8, .22, 1);
	--lc-container: min(var(--ie-container, 1180px), 92vw);
	--lc-font-display: Georgia, "Times New Roman", serif;

	color: var(--lc-ink);
	background: var(--lc-bg);
}

[data-theme="dark"] .ie-lc {
	--lc-deep: color-mix(in srgb, var(--ie-brand, #8fc6ff) 22%, #04101f);
	--lc-deep-2: color-mix(in srgb, var(--ie-brand, #8fc6ff) 34%, #04101f);
	--lc-accent: var(--ie-brand, #8fc6ff);
	--lc-tint: color-mix(in srgb, var(--ie-brand, #8fc6ff) 12%, var(--ie-bg, #0d1621));
	--lc-tint-2: color-mix(in srgb, var(--ie-brand, #8fc6ff) 20%, var(--ie-bg, #0d1621));

	--lc-card: var(--ie-surface, #101c29);

	--lc-shadow-sm: 0 10px 28px rgba(0, 0, 0, .35);
	--lc-shadow-md: 0 18px 50px rgba(0, 0, 0, .45);
	--lc-shadow-lg: 0 28px 70px rgba(0, 0, 0, .55);
}

.ie-lc__container { width: var(--lc-container); margin-inline: auto; }
.ie-lc img { display: block; max-width: 100%; }
.ie-lc button, .ie-lc input, .ie-lc select { font: inherit; }

.ie-js .ie-lc-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .72s var(--lc-ease), transform .72s var(--lc-ease);
}
.ie-js .ie-lc-reveal.is-visible { opacity: 1; transform: none; }

/* Faixas escuras: o título herda a cor da faixa.
   `core.css` declara `color` para h1/h2/h3, e declaração vence herança — sem
   esta regra um título dentro de uma faixa escura sai escuro sobre escuro. */
.ie-lc-hero :is(h1, h2, h3, h4),
.ie-lc-timeline :is(h1, h2, h3, h4),
.ie-lc-cta :is(h1, h2, h3, h4) { color: inherit; }

/* =====================================================================
 * TEXTO.
 * ================================================================== */

.ie-lc-eyebrow {
	display: flex; align-items: center; gap: 10px; margin: 0;
	color: var(--lc-brand); font-size: .72rem; font-weight: 800;
	letter-spacing: .15em; text-transform: uppercase;
}
.ie-lc-eyebrow::before {
	content: ""; width: 28px; height: 2px; border-radius: 999px;
	background: currentColor; transition: width .35s var(--lc-ease);
}
.ie-lc section:hover .ie-lc-eyebrow::before { width: 44px; }

.ie-lc-title {
	margin: 12px 0 0; max-width: 820px; color: var(--lc-ink);
	font-family: var(--lc-font-display); font-size: clamp(1.9rem, 4.2vw, 3.4rem);
	line-height: 1.03; letter-spacing: -.045em; font-weight: 400;
}

/* =====================================================================
 * BOTÕES.
 * ================================================================== */

.ie-lc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 20px; border: 1px solid var(--lc-brand);
	border-radius: 999px; background: var(--lc-brand); color: var(--lc-brand-ink);
	font-size: .8rem; font-weight: 800; text-decoration: none; cursor: pointer;
	transition: transform .28s var(--lc-ease), background .25s ease, box-shadow .25s ease;
}
.ie-lc-btn:hover { transform: translateY(-3px); background: var(--lc-deep-2); box-shadow: var(--lc-shadow-md); }
.ie-lc-btn--primary { background: var(--lc-brand); }
.ie-lc-btn--light { background: #ffffff; color: var(--lc-deep-2); border-color: #ffffff; }
.ie-lc-btn--light:hover { background: var(--lc-tint-2); }
/* O botão fantasma herda a cor da faixa em que está: sobre fundo claro sai na
   cor do texto, sobre faixa escura sai claro. Fixar `--lc-ink` aqui deixava o
   botão preto sobre a chamada final, que é escura. */
.ie-lc-btn--ghost, .ie-lc-btn--secondary {
	background: transparent; color: inherit;
	border-color: color-mix(in srgb, currentColor 38%, transparent);
}
.ie-lc-btn--ghost:hover, .ie-lc-btn--secondary:hover {
	background: color-mix(in srgb, currentColor 10%, transparent);
	border-color: currentColor;
}

/* =====================================================================
 * ABERTURA.
 * ================================================================== */

.ie-lc-hero {
	position: relative; min-height: 560px; display: flex; align-items: flex-end;
	overflow: hidden; padding: 130px 0 78px; color: var(--lc-on-deep); background: var(--lc-deep);
}
.ie-lc-hero__media { position: absolute; inset: 0; overflow: hidden; }
.ie-lc-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 1.1s var(--lc-ease); }
.ie-lc-hero:hover .ie-lc-hero__media img { transform: scale(1.06); }
.ie-lc-hero__media::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--lc-deep) 96%, black) 0%, color-mix(in srgb, var(--lc-deep) 70%, transparent) 55%, transparent 100%),
		linear-gradient(0deg, color-mix(in srgb, var(--lc-deep) 55%, transparent), transparent 58%);
}
.ie-lc-hero__in { position: relative; z-index: 2; }
.ie-lc-hero .ie-lc-eyebrow { color: color-mix(in srgb, var(--lc-on-deep) 85%, var(--lc-accent)); }
.ie-lc-hero__title { max-width: 880px; margin-top: 16px; color: var(--lc-on-deep); font-family: var(--lc-font-display); font-size: clamp(38px, 4.1vw, 56px); line-height: 1.02; letter-spacing: -.045em; font-weight: 400; }
.ie-lc-hero__text { max-width: 620px; margin-top: 20px; color: var(--lc-on-deep-soft); font-size: 1rem; line-height: 1.75; }

/* =====================================================================
 * FILTRO.
 * ================================================================== */

.ie-lc-filter-shell { position: relative; z-index: 12; margin-top: -34px; padding-bottom: 70px; }
.ie-lc-filter {
	padding: 18px; border: 1px solid var(--lc-line); border-radius: 22px;
	background: var(--lc-card); box-shadow: var(--lc-shadow-lg);
}
.ie-lc-filter__top { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 14px; flex-wrap: wrap; }
.ie-lc-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
/* As abas são botões de envio (o filtro é POST): a especificidade precisa
   vencer o `font: inherit` aplicado a todo botão desta página. */
.ie-lc .ie-lc-tab {
	padding: 9px 13px; border: 1px solid var(--lc-line); border-radius: 999px;
	background: var(--lc-card); color: var(--lc-muted); font-size: .76rem; font-weight: 800;
	font-family: inherit; line-height: 1.2; cursor: pointer;
	text-decoration: none; transition: .25s var(--lc-ease);
}
.ie-lc-tab:hover, .ie-lc-tab.is-active { border-color: var(--lc-brand); background: var(--lc-brand); color: var(--lc-brand-ink); transform: translateY(-2px); }
.ie-lc-filter__helper { margin: 0; color: var(--lc-muted); font-size: .76rem; }

.ie-lc-filter__row { display: grid; grid-template-columns: 1.25fr .95fr auto; gap: 11px; align-items: end; }
.ie-lc-field__label {
	display: block; margin: 0 0 7px 3px; color: color-mix(in srgb, var(--lc-brand) 80%, var(--lc-ink));
	font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
}
.ie-lc-control {
	min-height: 51px; display: flex; align-items: center; padding: 0 13px;
	border: 1px solid var(--lc-line); border-radius: 14px; background: var(--lc-surface); transition: .25s var(--lc-ease);
}
.ie-lc-control:focus-within, .ie-lc-control:hover { border-color: var(--lc-brand); background: var(--lc-card); }
.ie-lc-control input, .ie-lc-control select { width: 100%; height: 49px; border: 0; outline: 0; background: transparent; color: var(--lc-ink); font-size: .9rem; }

.ie-lc-submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 51px; padding: 0 18px; border: 1px solid var(--lc-brand); border-radius: 14px;
	background: var(--lc-brand); color: var(--lc-brand-ink); font-size: .8rem; font-weight: 800;
	cursor: pointer; transition: .25s var(--lc-ease);
}
.ie-lc-submit:hover { background: var(--lc-deep-2); transform: translateY(-2px); }

.ie-lc-filter__feedback {
	display: flex; justify-content: space-between; align-items: center; gap: 15px;
	margin-top: 12px; padding: 10px 12px; border: 1px solid var(--lc-line);
	border-radius: 12px; background: var(--lc-tint); color: var(--lc-ink); font-size: .78rem;
}
/* `display:flex` venceria o atributo `hidden` — o resumo do filtro precisa
   sumir de verdade quando não há filtro ativo. */
.ie-lc-filter__feedback[hidden] { display: none; }
.ie-lc-filter__clear { color: var(--lc-brand); font-weight: 800; text-decoration: none; }
.ie-lc-filter__clear:hover { color: var(--lc-deep-2); }

/* =====================================================================
 * DESTAQUE.
 * ================================================================== */

.ie-lc-feature-shell { padding: 10px 0 60px; }
.ie-lc-feature {
	display: grid; grid-template-columns: 1.08fr .92fr; min-height: 480px;
	overflow: hidden; border: 1px solid var(--lc-line); border-radius: 26px;
	background: var(--lc-card); box-shadow: var(--lc-shadow-md);
}
.ie-lc-feature__media { position: relative; overflow: hidden; background: var(--lc-tint); }
.ie-lc-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--lc-ease); }
.ie-lc-feature:hover .ie-lc-feature__media img { transform: scale(1.05); }
.ie-lc-feature__stage { position: absolute; left: 16px; top: 16px; display: flex; gap: 7px; flex-wrap: wrap; }
.ie-lc-feature__copy { display: flex; flex-direction: column; justify-content: center; padding: 44px; }
.ie-lc-feature__copy h2 { margin-top: 10px; font-family: var(--lc-font-display); font-size: clamp(1.8rem, 3.2vw, 3.1rem); line-height: 1.03; letter-spacing: -.04em; font-weight: 400; }
.ie-lc-feature__copy h2 a { color: inherit; text-decoration: none; }
.ie-lc-feature__copy h2 a:hover { color: var(--lc-accent); }
.ie-lc-feature__location { margin-top: 8px; color: var(--lc-brand); font-size: .82rem; font-weight: 800; }
.ie-lc-feature__copy p { margin-top: 15px; color: var(--lc-muted); font-size: .87rem; line-height: 1.72; max-width: 520px; }
.ie-lc-feature__progress-wrap { margin-top: 18px; }
.ie-lc-feature__progress-head { display: flex; justify-content: space-between; gap: 15px; color: var(--lc-muted); font-size: .72rem; font-weight: 800; margin-bottom: 8px; }
.ie-lc-feature__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }

/* =====================================================================
 * BADGES.
 * ================================================================== */

.ie-lc-badge {
	padding: 7px 10px; border-radius: 999px; background: color-mix(in srgb, var(--lc-deep) 88%, black);
	color: #ffffff; backdrop-filter: blur(8px); font-size: .67rem; font-weight: 800;
}
.ie-lc-badge--light { background: rgba(255, 255, 255, .92); color: var(--lc-deep-2); }

/* =====================================================================
 * CATÁLOGO.
 * ================================================================== */

.ie-lc-catalog { padding: 0 0 96px; }
.ie-lc-catalog__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 26px; margin-bottom: 28px; flex-wrap: wrap; }
.ie-lc-catalog__copy { margin-top: 15px; color: var(--lc-muted); font-size: .95rem; line-height: 1.75; max-width: 640px; }
.ie-lc-catalog__count { margin: 0; color: var(--lc-muted); font-size: .78rem; font-weight: 800; white-space: nowrap; }

.ie-lc-grid { display: grid; grid-template-columns: repeat(var(--ie-lc-cols, 3), 1fr); gap: 20px; }

.ie-lc-card {
	display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--lc-line);
	border-radius: 20px; background: var(--lc-card); box-shadow: var(--lc-shadow-sm);
	transition: transform .4s var(--lc-ease), box-shadow .4s ease, border-color .3s ease; height: 100%;
}
.ie-lc-card:hover { transform: translateY(-6px); box-shadow: var(--lc-shadow-md); border-color: color-mix(in srgb, var(--lc-brand) 32%, var(--lc-line)); }
.ie-lc-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--lc-tint); }
.ie-lc-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--lc-ease); }
.ie-lc-card:hover .ie-lc-card__media img { transform: scale(1.055); }
.ie-lc-card__badges { position: absolute; left: 13px; top: 13px; display: flex; flex-wrap: wrap; gap: 6px; z-index: 2; }
.ie-lc-card__body { display: flex; flex-direction: column; flex: 1; padding: 18px; }
.ie-lc-card__body h3 { margin: 0; font-family: var(--lc-font-display); font-size: 1.35rem; line-height: 1.1; letter-spacing: -.02em; font-weight: 400; }
.ie-lc-card__body h3 a { color: var(--lc-ink); text-decoration: none; }
.ie-lc-card__body h3 a:hover { color: var(--lc-brand); }
.ie-lc-card__location { margin-top: 5px; color: var(--lc-muted); font-size: .78rem; }
.ie-lc-card__price { margin-top: 11px; color: var(--lc-brand); font-size: .82rem; font-weight: 800; }

.ie-lc-card__meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--lc-line); }
.ie-lc-card__meta small { display: block; color: var(--lc-muted); font-size: .63rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.ie-lc-card__meta strong { display: block; margin-top: 4px; color: var(--lc-ink); font-size: .74rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ie-lc-progress { height: 7px; margin-top: 12px; border-radius: 999px; background: var(--lc-tint-2); overflow: hidden; }
.ie-lc-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--lc-brand), var(--lc-accent)); transition: width .9s var(--lc-ease); }

.ie-lc-card__actions { display: flex; gap: 8px; margin-top: 15px; margin-top: auto; padding-top: 15px; }
.ie-lc-card__link {
	flex: 1; display: inline-flex; align-items: center; justify-content: center;
	padding: 10px 10px; border: 1px solid var(--lc-line); border-radius: 999px;
	color: var(--lc-ink); font-size: .71rem; font-weight: 800; text-decoration: none; text-align: center;
	transition: .25s var(--lc-ease);
}
.ie-lc-card__link:hover { background: var(--lc-brand); border-color: var(--lc-brand); color: var(--lc-brand-ink); transform: translateY(-2px); }

.ie-lc-empty {
	padding: 48px 20px; text-align: center; border: 1px dashed var(--lc-line);
	border-radius: 20px; background: var(--ie-empty-bg, var(--lc-surface));
}
.ie-lc-empty__title { margin: 0; font-family: var(--lc-font-display); font-size: 1.6rem; font-weight: 400; }
.ie-lc-empty__text { margin: 8px 0 0; color: var(--lc-muted); font-size: .85rem; }
.ie-lc-empty .ie-lc-btn { margin-top: 18px; }

/* Paginação. */
.ie-lc-pagination-wrap { display: flex; justify-content: center; margin-top: 34px; }
.ie-lc-pagination { display: flex; align-items: center; gap: 6px; }
/* Troca de página/refino sem recarregar: a listagem esmaece enquanto a
   resposta não chega, sem mudar de altura (nada de salto de layout). */
[data-ie-dev-results].is-loading { opacity: .55; transition: opacity .2s ease; }
.ie-lc-pagination-form { display: flex; }
.ie-lc .ie-lc-page {
	display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px;
	padding: 0 6px; border: 0; border-radius: 10px; background: transparent;
	color: var(--lc-ink); font-family: inherit; font-size: .82rem; font-weight: 700;
	text-decoration: none; cursor: pointer; transition: .2s var(--lc-ease);
}
.ie-lc-page:hover { background: var(--lc-tint); }
.ie-lc-page.is-current { background: var(--lc-brand); color: var(--lc-brand-ink); }
.ie-lc-page--arrow.is-off { opacity: .35; pointer-events: none; }
.ie-lc-page-gap { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; color: var(--lc-muted); }

/* =====================================================================
 * LINHA DO TEMPO.
 * ================================================================== */

.ie-lc-timeline { padding: 90px 0; background: linear-gradient(135deg, var(--lc-deep), var(--lc-deep-2)); color: var(--lc-on-deep); overflow: hidden; }
.ie-lc-timeline .ie-lc-eyebrow { color: color-mix(in srgb, var(--lc-on-deep) 85%, var(--lc-accent)); }
.ie-lc-timeline .ie-lc-title { color: var(--lc-on-deep); }
.ie-lc-timeline__copy { margin: 16px 0 0; max-width: 680px; color: var(--lc-on-deep-soft); font-size: .95rem; line-height: 1.75; }

.ie-lc-timeline__track { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; margin-top: 40px; }
.ie-lc-timeline__track::before { content: ""; position: absolute; left: 6%; right: 6%; top: 20px; height: 1px; background: var(--lc-on-deep-line); }
.ie-lc-timeline__item { position: relative; }
.ie-lc-timeline__dot {
	position: relative; z-index: 2; width: 40px; height: 40px; border: 1px solid var(--lc-on-deep-line);
	border-radius: 50%; display: grid; place-items: center; background: var(--lc-deep-2);
	font-family: var(--lc-font-display); font-size: .8rem; transition: .3s var(--lc-ease);
}
.ie-lc-timeline__item:hover .ie-lc-timeline__dot { transform: scale(1.08); background: #ffffff; color: var(--lc-deep-2); }
.ie-lc-timeline__item h3 { margin: 22px 0 0; color: inherit; font-family: var(--lc-font-display); font-size: 1.28rem; font-weight: 400; }
.ie-lc-timeline__item p { margin: 8px 0 0; color: var(--lc-on-deep-soft); font-size: .78rem; line-height: 1.65; }

/* =====================================================================
 * O QUE CONSULTAR.
 * ================================================================== */

.ie-lc-info { padding: 96px 0; background: var(--lc-surface); }
.ie-lc-info__head { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: end; margin-bottom: 36px; }
.ie-lc-info__copy { margin: 0; color: var(--lc-muted); font-size: .95rem; line-height: 1.75; }
.ie-lc-info__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ie-lc-info__card {
	position: relative; min-height: 230px; padding: 26px; overflow: hidden;
	border: 1px solid var(--lc-line); border-radius: 22px; background: var(--lc-card);
	transition: .4s var(--lc-ease);
}
.ie-lc-info__card::before {
	content: ""; position: absolute; width: 150px; height: 150px; right: -85px; top: -85px;
	border: 1px solid var(--lc-line); border-radius: 50%; transition: .6s var(--lc-ease);
}
.ie-lc-info__card:hover { transform: translateY(-6px); box-shadow: var(--lc-shadow-md); border-color: color-mix(in srgb, var(--lc-brand) 26%, var(--lc-line)); }
.ie-lc-info__card:hover::before { transform: scale(1.25); }
.ie-lc-info__num { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: var(--lc-tint-2); color: var(--lc-brand); font-family: var(--lc-font-display); font-size: .95rem; }
.ie-lc-info__card h3 { margin-top: 34px; font-family: var(--lc-font-display); font-size: 1.4rem; line-height: 1.1; font-weight: 400; }
.ie-lc-info__card p { margin-top: 9px; color: var(--lc-muted); font-size: .82rem; line-height: 1.7; }

/* =====================================================================
 * CHAMADA FINAL.
 * ================================================================== */

.ie-lc-cta { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; background: var(--lc-deep); color: var(--lc-on-deep); }
.ie-lc-cta__media { overflow: hidden; }
.ie-lc-cta__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--lc-ease); }
.ie-lc-cta:hover .ie-lc-cta__media img { transform: scale(1.05); }
.ie-lc-cta__copy {
	position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center;
	padding: 68px clamp(38px, 6.5vw, 88px); background: linear-gradient(135deg, var(--lc-deep), var(--lc-deep-2));
}
.ie-lc-cta__copy::before, .ie-lc-cta__copy::after { content: ""; position: absolute; border: 1px solid var(--lc-on-deep-line); border-radius: 50%; }
.ie-lc-cta__copy::before { width: 370px; height: 370px; right: -145px; top: -110px; }
.ie-lc-cta__copy::after { width: 230px; height: 230px; right: -70px; top: -40px; }
.ie-lc-cta .ie-lc-eyebrow, .ie-lc-cta .ie-lc-title { position: relative; z-index: 2; color: var(--lc-on-deep); }
.ie-lc-cta .ie-lc-eyebrow { color: color-mix(in srgb, var(--lc-on-deep) 85%, var(--lc-accent)); }
.ie-lc-cta__text { position: relative; z-index: 2; margin: 16px 0 0; color: var(--lc-on-deep-soft); font-size: .92rem; line-height: 1.75; max-width: 480px; }
.ie-lc-cta__actions { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }

/* =====================================================================
 * CONTEÚDO ESCRITO NA PÁGINA.
 * ================================================================== */

.ie-lc-prose { padding: 70px 0; }

/* =====================================================================
 * RESPONSIVO.
 * ================================================================== */

@media (max-width: 1080px) {
	.ie-lc-filter__row { grid-template-columns: 1fr 1fr; }
	.ie-lc-submit { grid-column: 1 / -1; }
	.ie-lc-feature { grid-template-columns: 1fr; }
	.ie-lc-feature__media { min-height: 320px; }
	.ie-lc-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.ie-lc-timeline__track { grid-template-columns: 1fr 1fr; gap: 30px; }
	.ie-lc-timeline__track::before { display: none; }
	.ie-lc-info__head { grid-template-columns: 1fr; gap: 24px; }
	.ie-lc-info__grid { grid-template-columns: 1fr 1fr; }
	.ie-lc-cta { grid-template-columns: 1fr; }
	.ie-lc-cta__media { min-height: 340px; }
}

@media (max-width: 700px) {
	.ie-lc-hero { min-height: 500px; padding: 112px 0 66px; }
	.ie-lc-filter-shell { margin-top: -24px; padding-bottom: 58px; }
	.ie-lc-filter { padding: 14px; }
	.ie-lc-filter__row { grid-template-columns: 1fr; }
	.ie-lc-catalog__head { flex-direction: column; align-items: flex-start; }
	.ie-lc-grid { grid-template-columns: 1fr !important; }
	.ie-lc-card__meta { grid-template-columns: repeat(3, 1fr); }
	.ie-lc-info__grid { grid-template-columns: 1fr; }
	.ie-lc-timeline__track { grid-template-columns: 1fr; }
	.ie-lc-cta__copy { padding: 52px 6vw; }
}

@media (prefers-reduced-motion: reduce) {
	.ie-lc *, .ie-lc *::before, .ie-lc *::after { transition-duration: .01ms !important; animation: none !important; }
	.ie-js .ie-lc-reveal { opacity: 1; transform: none; }
}
