/*
 * Landing pages de campanha (Google Ads).
 *
 * Herói em sangria com fotografia velada e desenho de linha por cima,
 * na técnica da Corrêa. O resto foge do pacote já reprovado antes:
 * sem micro-rótulo em caixa alta abrindo seção, sem cartão com fio a
 * toda a volta, sem pastilha contornada. Filete, campo tingido e
 * espaço fazem o trabalho.
 *
 *   .lp--engenharia  prancha: canto vivo, malha, anotação em mono
 *   .lp--advocacia   publicação: serifa no título, filete fino, respiro
 */

.lp { --lp-acento: var(--ii-ambar); --lp-fio: rgba(255,255,255,.09); background: var(--ii-preto); color: var(--ii-texto); overflow-x: clip; }
.lp-caixa { width: min(1180px, 100% - 2.5rem); margin-inline: auto; }

/* ═════════════════════════════════ Herói */
.lp-hero { position: relative; display: flex; align-items: flex-end; min-height: min(86vh, 780px); padding: clamp(5rem, 12vw, 8rem) 0 clamp(3rem, 6vw, 4.5rem); overflow: hidden; isolation: isolate; }
.lp-hero__foto { position: absolute; inset: 0; z-index: -3; background-image: var(--lp-foto); background-size: cover; background-position: center 38%; }
.lp--advocacia .lp-hero__foto { background-position: center 30%; }

/* O véu é generoso de propósito: o texto cai sobre o ponto mais claro
   da foto, não sobre a média. Ver a lição de medir o véu. */
.lp-hero__veu { position: absolute; inset: 0; z-index: -2;
	/* Rampa medida com Pillow, não arbitrada. Percentil 90 do fundo, foto
	   de obra: 6,0:1 no título e 6,4:1 nas provas — folga sobre os 4,5:1.
	   A advocacia clareia mais abaixo, porque a estante é escura. */
	background:
		linear-gradient(100deg, rgba(9,9,11,.72) 0%, rgba(9,9,11,.52) 26%, rgba(9,9,11,.22) 48%, rgba(9,9,11,.07) 70%, rgba(9,9,11,.02) 100%),
		linear-gradient(0deg, rgba(9,9,11,.74) 0%, rgba(9,9,11,.06) 40%, rgba(9,9,11,.18) 100%); }

/* Estante de livros é fundo escuro: aguenta o véu mais leve e ainda
   fica em 9,1:1 no pior caso. */
.lp--advocacia .lp-hero__veu {
	background:
		linear-gradient(100deg, rgba(9,9,11,.64) 0%, rgba(9,9,11,.42) 26%, rgba(9,9,11,.16) 48%, rgba(9,9,11,.05) 70%, rgba(9,9,11,.02) 100%),
		linear-gradient(0deg, rgba(9,9,11,.72) 0%, rgba(9,9,11,.05) 40%, rgba(9,9,11,.16) 100%); }
.lp-hero__linhas { position: absolute; z-index: -1; right: -11%; bottom: -15%; width: min(42vw, 560px); opacity: .38; pointer-events: none;
	mix-blend-mode: screen;
	-webkit-mask-image: linear-gradient(200deg, #000 38%, transparent 92%); mask-image: linear-gradient(200deg, #000 38%, transparent 92%); }
.lp-arte { display: block; width: 100%; height: 100%; color: var(--lp-acento); }
.lp-arte__malha { opacity: .16; }
.lp-arte__traco, .lp-arte__peca { opacity: .55; }
.lp-arte__cota, .lp-arte__no, .lp-arte__selo, .lp-arte__linhas { opacity: .7; }
@media (max-width: 1019px) { .lp-hero__linhas { width: 78vw; right: -18%; bottom: -8%; opacity: .26; } }

/* O max-width tem de morar nos filhos: posto no proprio .lp-caixa ele
   vence o margin-inline:auto e centra o bloco fora da grade. */
.lp-hero__dentro { position: relative; }
.lp-hero__principal > * { max-width: 660px; }
.lp-hero__principal > .lp-provas { max-width: 720px; }
.lp-hero__grade { display: grid; gap: clamp(2rem, 4vw, 3.5rem); align-items: end; }
@media (min-width: 1020px) { .lp-hero__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); } }
.lp-hero__quem { margin: 0 0 1.1rem; font-size: .93rem; color: var(--ii-texto-2); }
.lp-hero h1 { font-family: var(--ii-display); font-weight: 700; font-size: clamp(2.25rem, 5.6vw, 3.7rem); line-height: 1.03; letter-spacing: -.028em; margin: 0; text-wrap: balance; }
.lp-hero h1 em { font-style: normal; color: var(--lp-acento); }
.lp-hero__linha { font-size: clamp(1.04rem, 1.9vw, 1.2rem); line-height: 1.62; color: #C9CBD2; margin: 1.35rem 0 0; max-width: 54ch; }
.lp-hero__conta { margin: 1.9rem 0 0; font-size: .9rem; color: #E8EAEE; opacity: .86; }

.lp-provas { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.15rem; list-style: none; margin: 1.6rem 0 0; padding: 0; }
.lp-provas li { position: relative; font-size: .9rem; color: #B6B9C1; padding-right: 1.15rem; }
.lp-provas li::after { content: ''; position: absolute; right: 0; top: 50%; width: 1px; height: 13px; margin-top: -6.5px; background: var(--lp-fio); }
.lp-provas li:last-child { padding-right: 0; }
.lp-provas li:last-child::after { display: none; }

/* ═════════════════════════════════ Botões */
.lp-acoes { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.15rem; }
.lp-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; font-family: var(--ii-corpo); font-weight: 600; font-size: 1rem; line-height: 1.2; padding: 1.02rem 1.6rem; border-radius: 10px; border: 1px solid transparent; text-decoration: none; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.lp-btn:hover { transform: translateY(-2px); }
.lp-btn--whats { background: var(--ii-whats); color: #06301A; box-shadow: 0 10px 30px -14px rgba(37,211,102,.9); }
.lp-btn--vazado { background: rgba(255,255,255,.05); color: var(--ii-texto); border-color: rgba(255,255,255,.16); backdrop-filter: blur(4px); }
.lp-btn--vazado:hover { border-color: rgba(255,255,255,.4); }
.lp-btn--ambar { background: var(--lp-acento); color: #2A1A00; width: 100%; box-shadow: 0 10px 30px -14px rgba(245,166,35,.85); }
.lp--advocacia .lp-btn { border-radius: 4px; }

/* ═════════════════════════════════ Faixa de logos */
.lp-logos { padding: 1.6rem 0; border-block: 1px solid var(--lp-fio); background: #0B0B0D; }
.lp-logos { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.lp-logos__pista { display: flex; width: max-content; animation: lp-desliza 52s linear infinite; }
.lp-logos:hover .lp-logos__pista { animation-play-state: paused; }
.lp-logos__fita { display: flex; align-items: center; gap: 3.25rem; list-style: none; margin: 0; padding: 0 1.6rem; }
.lp-logos li { flex: 0 0 auto; }
@keyframes lp-desliza { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
.lp-logos img { display: block; opacity: .4; filter: grayscale(1) brightness(1.7); transition: opacity .2s ease, filter .2s ease; }
.lp-logos li:hover img { opacity: .9; filter: grayscale(0); }


/* ═════════════════════════════════ Seções */
.lp-secao { padding: clamp(3.5rem, 8vw, 6rem) 0; }
.lp-secao + .lp-secao { border-top: 1px solid var(--lp-fio); }
.lp-secao h2 { font-family: var(--ii-display); font-weight: 700; font-size: clamp(1.75rem, 3.8vw, 2.5rem); line-height: 1.12; margin: 0 0 .85rem; letter-spacing: -.022em; text-wrap: balance; }
.lp--advocacia .lp-secao h2, .lp--advocacia .lp-hero h1, .lp--advocacia .lp-fecho h2 { font-family: var(--lp-serifa, Georgia), serif; font-weight: 600; letter-spacing: -.012em; }
.lp--advocacia .lp-hero h1 { line-height: 1.1; }
.lp-secao__intro { color: var(--ii-texto-2); max-width: 62ch; margin: 0 0 clamp(2rem, 4vw, 3rem); line-height: 1.72; font-size: 1.02rem; }

/* três colunas separadas por filete, sem cartão */
.lp-colunas { display: grid; gap: 2.25rem; }
.lp-colunas article, .lp-colunas figure { margin: 0; }
.lp-colunas h3 { font-family: var(--ii-display); font-size: 1.1rem; margin: 1rem 0 .55rem; letter-spacing: -.008em; }
.lp-colunas p { color: var(--ii-texto-2); font-size: .97rem; line-height: 1.72; margin: 0; }
@media (min-width: 860px) {
	.lp-colunas { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
	.lp-colunas > * { padding: 0 2.25rem; border-left: 1px solid var(--lp-fio); }
	.lp-colunas > *:first-child { padding-left: 0; border-left: 0; }
	.lp-colunas > *:last-child { padding-right: 0; }
}
@media (max-width: 859px) {
	.lp-colunas > * + * { padding-top: 2.25rem; border-top: 1px solid var(--lp-fio); }
}

/* lista com filete entre linhas */
.lp-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.lp-lista li { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1.65rem 0; border-top: 1px solid var(--lp-fio); }
.lp-lista li:last-child { border-bottom: 1px solid var(--lp-fio); }
.lp-lista h3 { font-family: var(--ii-display); font-size: 1.08rem; margin: 0 0 .4rem; }
.lp-lista p { color: var(--ii-texto-2); font-size: .97rem; line-height: 1.7; margin: 0; max-width: 62ch; }
@media (min-width: 860px) { .lp-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3.5rem; } }

.lp-ico { color: var(--lp-acento); flex: 0 0 auto; }
.lp-colunas .lp-ico { opacity: .95; }

/* ═════════════════════════════════ Cases */
.lp-cases { display: grid; gap: 1.6rem 1.4rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 268px), 1fr)); }
.lp--advocacia .lp-cases { grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); max-width: 860px; }
.lp-case { display: block; text-decoration: none; color: inherit; cursor: pointer; }
.lp-case__moldura { display: block; position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: #121216; }
.lp--advocacia .lp-case__moldura { border-radius: 3px; }
.lp-case__moldura img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; transition: transform .55s ease, filter .3s ease; filter: saturate(.9); }
.lp-case:hover .lp-case__moldura img { transform: scale(1.04); filter: saturate(1); }
.lp-case__lupa { position: absolute; top: .65rem; right: .65rem; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: rgba(12,12,14,.7); backdrop-filter: blur(6px); color: #fff; opacity: 0; transition: opacity .2s ease; }
.lp-case:hover .lp-case__lupa { opacity: 1; }
@media (hover: none) { .lp-case__lupa { opacity: .85; } }
.lp-case__corpo { display: block; padding-top: .9rem; }
.lp-case__corpo strong { display: block; font-family: var(--ii-display); font-size: 1.02rem; }
.lp-case__desc { display: block; color: var(--ii-texto-3); font-size: .9rem; margin-top: .2rem; }

/* ═════════════════════════════════ Formulário */
.lp-secao--form { background: #0B0B0D; }
.lp-form__grade { display: grid; gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
@media (min-width: 900px) { .lp-form__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); } }
.lp-form__lado h2 { margin-bottom: .8rem; }
.lp-form__lado > p { color: var(--ii-texto-2); line-height: 1.72; margin: 0 0 1.6rem; max-width: 48ch; }
.lp-form__garantias { list-style: none; margin: 0; padding: 0; }
.lp-form__garantias li { position: relative; padding: .55rem 0 .55rem 1.6rem; color: #C2C5CC; font-size: .96rem; }
.lp-form__garantias li::before { content: ''; position: absolute; left: 0; top: 1.15rem; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-acento); }
.lp--engenharia .lp-form__garantias li::before { border-radius: 0; }

.lp-form { background: rgba(255,255,255,.035); border: 1px solid var(--lp-fio); border-radius: 14px; padding: clamp(1.4rem, 3vw, 1.9rem); }
.lp--advocacia .lp-form { border-radius: 4px; }
.lp-campo { display: block; margin-bottom: .85rem; }
.lp-campo span { display: block; font-size: .84rem; color: var(--ii-texto-2); margin-bottom: .35rem; }
.lp-campo small { color: var(--ii-texto-3); }
.lp-campo input, .lp-campo textarea { width: 100%; box-sizing: border-box; background: rgba(0,0,0,.35); color: var(--ii-texto); border: 1px solid var(--lp-fio); border-radius: 8px; padding: .85rem .9rem; font: 400 1rem/1.4 var(--ii-corpo); transition: border-color .15s ease, background .15s ease; }
.lp--advocacia .lp-campo input, .lp--advocacia .lp-campo textarea { border-radius: 3px; }
.lp-campo input:hover, .lp-campo textarea:hover { border-color: rgba(255,255,255,.2); }
.lp-campo input:focus, .lp-campo textarea:focus { outline: 2px solid var(--lp-acento); outline-offset: 1px; border-color: transparent; background: rgba(0,0,0,.55); }
.lp-campo textarea { min-height: 88px; resize: vertical; }
.lp-mel { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lp-form__aviso { margin: .85rem 0 0; font-size: .9rem; min-height: 1.2em; }
.lp-form__aviso[data-estado="erro"] { color: #FF9A8F; }
.lp-form__aviso[data-estado="indo"] { color: var(--ii-texto-2); }
.lp-form__rodape { margin: .9rem 0 0; font-size: .8rem; color: var(--ii-texto-3); line-height: 1.5; }

/* ═════════════════════════════════ Vozes */
.lp-voz blockquote { margin: 0 0 1rem; font-size: 1.04rem; line-height: 1.72; color: var(--ii-texto); }
.lp-voz figcaption strong { display: block; font-family: var(--ii-display); font-size: .94rem; }
.lp-voz figcaption span { font-size: .86rem; color: var(--ii-texto-3); }

/* ═════════════════════════════════ Passos */
.lp-passos { list-style: none; margin: 0; padding: 0; counter-reset: passo; display: grid; gap: 2rem; }
.lp-passos li { counter-increment: passo; position: relative; padding-top: 1.9rem; }
.lp-passos li::before { content: counter(passo, decimal-leading-zero); position: absolute; top: 0; left: 0; font-family: var(--ii-mono); font-size: .82rem; color: var(--lp-acento); }
.lp-passos li::after { content: ''; position: absolute; top: 1.15rem; left: 2.6rem; right: 0; height: 1px; background: var(--lp-fio); }
.lp-passos h3 { font-family: var(--ii-display); font-size: 1.1rem; margin: .55rem 0 .5rem; }
.lp-passos p { color: var(--ii-texto-2); font-size: .97rem; line-height: 1.72; margin: 0; }
@media (min-width: 860px) { .lp-passos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; } }

/* ═════════════════════════════════ FAQ */
.lp-faq details { border-top: 1px solid var(--lp-fio); padding: 1.3rem 0; }
.lp-faq details:last-of-type { border-bottom: 1px solid var(--lp-fio); }
.lp-faq summary { cursor: pointer; font-family: var(--ii-display); font-size: 1.04rem; list-style: none; display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; }
.lp--advocacia .lp-faq summary { font-family: var(--lp-serifa, Georgia), serif; font-weight: 600; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after { content: '+'; color: var(--lp-acento); font-family: var(--ii-mono); font-size: 1.15rem; flex: 0 0 auto; }
.lp-faq details[open] summary::after { content: '\2212'; }
.lp-faq p { color: var(--ii-texto-2); line-height: 1.75; margin: .9rem 0 0; max-width: 70ch; }

/* ═════════════════════════════════ Fecho */
.lp-fecho { padding: clamp(3.5rem, 8vw, 5.5rem) 0 clamp(6.5rem, 9vw, 5.5rem); border-top: 1px solid var(--lp-fio); }
.lp-fecho h2 { font-family: var(--ii-display); font-weight: 700; font-size: clamp(1.75rem, 3.8vw, 2.5rem); margin: 0 0 .8rem; letter-spacing: -.022em; }
.lp-fecho p { color: var(--ii-texto-2); margin: 0; line-height: 1.7; }
.lp-fecho .lp-acoes { margin-top: 1.9rem; }

/* ═════════════════════════════════ Barra fixa */
.lp-barra { position: fixed; inset: auto 0 0 0; z-index: 40; display: flex; gap: .5rem; padding: .6rem .8rem calc(.6rem + env(safe-area-inset-bottom)); background: rgba(11,11,13,.94); backdrop-filter: blur(10px); border-top: 1px solid var(--lp-fio); }
.lp-barra .lp-btn { flex: 1 1 0; padding: .85rem 1rem; font-size: .95rem; }
@media (min-width: 980px) { .lp-barra { display: none; } }

/* ═════════════════════════════════ Telemóvel */
@media (max-width: 979px) {
	.lp-hero { min-height: 0; padding-top: 4.5rem; padding-bottom: 3rem; }
	.lp-hero h1 { font-size: clamp(2rem, 8.6vw, 2.7rem); }
	.lp-hero__veu { background: linear-gradient(0deg, rgba(9,9,11,.97) 6%, rgba(9,9,11,.80) 45%, rgba(9,9,11,.86) 100%); }
	.lp-acoes .lp-btn { flex: 1 1 100%; }
	.lp-secao { padding: 2.9rem 0; }
	.lp-fecho { padding-bottom: 7.5rem; }
}

@media (prefers-reduced-motion: reduce) {
	.lp-btn, .lp-case__moldura img { transition: none; }
	.lp-btn:hover { transform: none; }
	.lp-case:hover .lp-case__moldura img { transform: none; }
}


/* ═════════════════════════════════ Serifa da advocacia
   A página fala a língua de quem vai ler: escritório de advocacia lê
   publicação, não painel. A serifa entra só nesta LP. */
.lp--advocacia { --lp-serifa: 'Source Serif 4', 'Source Serif Pro', Georgia, serif; }

/* ═════════════════════════════════ Cabeçalho e rodapé da LP */
/* O cabeçalho e o rodapé são irmãos do <main class="lp">, não filhos:
   sem cor aqui eles herdam o preto do body e o título do selo Hostinger
   fica preto sobre preto. */
.lp-corpo { background: var(--ii-preto); color: var(--ii-texto); margin: 0; }
.lp-topo, .lp-rodape { color: var(--ii-texto); }
.lp-parceiro__texto strong { color: var(--ii-texto); }

.lp-topo { position: absolute; inset: 0 0 auto 0; z-index: 30; }
.lp-topo__linha { display: flex; align-items: center; gap: 1rem; min-height: 76px; }
.lp-topo__parceiro { display: none; margin-left: auto; padding-left: 1.1rem; }
.lp-topo__acao { margin-left: auto; display: inline-flex; align-items: center; gap: .45rem; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); color: #fff; font: 600 .9rem/1 var(--ii-corpo); padding: .68rem 1.05rem; border-radius: 9px; text-decoration: none; }
.lp-topo__acao:hover { background: var(--ii-whats); border-color: transparent; color: #06301A; }
@media (min-width: 760px) { .lp-topo__parceiro { display: block; } .lp-topo__acao { margin-left: 1.1rem; } }

.lp-rodape { background: #0B0B0D; border-top: 1px solid var(--lp-fio, rgba(255,255,255,.09)); padding: clamp(2.5rem, 6vw, 4rem) 0 calc(5.5rem + env(safe-area-inset-bottom)); }
@media (min-width: 980px) { .lp-rodape { padding-bottom: clamp(2.5rem, 6vw, 4rem); } }

.lp-parceiro { display: grid; gap: 1.25rem; align-items: center; }
@media (min-width: 780px) { .lp-parceiro { grid-template-columns: auto minmax(0, 1fr); gap: 2.25rem; } }
.lp-parceiro__texto strong { display: block; font-family: var(--ii-display); font-size: 1.06rem; margin-bottom: .4rem; }
.lp-parceiro__texto p { margin: 0; color: var(--ii-texto-2); font-size: .95rem; line-height: 1.68; max-width: 62ch; }

.lp-tech { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.07); }
.lp-tech__rotulo { display: block; font-size: .86rem; color: var(--ii-texto-2); margin-bottom: 1.1rem; }
.lp-tech ul { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem 2.4rem; list-style: none; margin: 0; padding: 0; }
.lp-tech img { opacity: .42; filter: grayscale(1) brightness(1.6); transition: opacity .2s ease, filter .2s ease; }
.lp-tech li:hover img { opacity: .95; filter: none; }

.lp-rodape__fim { margin-top: 2.5rem; padding-top: 1.75rem; border-top: 1px solid rgba(255,255,255,.07); display: grid; gap: .9rem; }
.lp-rodape__contato { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0; }
.lp-rodape__contato a { color: var(--ii-texto-2); font-size: .92rem; text-decoration: none; border-bottom: 1px solid transparent; }
.lp-rodape__contato a:hover { color: var(--ii-ambar); border-bottom-color: currentColor; }
.lp-rodape__legal { margin: 0; font-size: .82rem; color: var(--ii-texto-2); }

/* ═════════════════════════════════ Modal do case */
.lp-modal { width: min(1180px, 96vw); max-width: none; height: min(88vh, 900px); padding: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: #111114; color: var(--ii-texto); overflow: hidden; }
.lp-modal::backdrop { background: rgba(5,5,7,.86); backdrop-filter: blur(3px); }
.lp-modal[open] { display: flex; flex-direction: column; }
.lp-modal__topo { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem .85rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,.09); }
.lp-modal__nome { font-family: var(--ii-display); font-size: 1rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-modal__acoes { margin-left: auto; display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; }
.lp-modal__nova { font-size: .82rem; color: var(--ii-ambar); text-decoration: none; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; padding: .45rem .75rem; }
.lp-modal__nova:hover { border-color: var(--ii-ambar); }
.lp-modal__fechar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 7px; background: transparent; border: 1px solid rgba(255,255,255,.14); color: var(--ii-texto); cursor: pointer; }
.lp-modal__fechar:hover { border-color: var(--ii-ambar); color: var(--ii-ambar); }
.lp-modal__palco { position: relative; flex: 1 1 auto; min-height: 0; background: var(--ii-preto); }
.lp-modal__quadro { position: absolute; inset: 0; border: 0; display: block; }
.lp-modal__espera { position: absolute; inset: 0; display: grid; place-items: center; font-size: .86rem; color: var(--ii-texto-3); }
.lp-modal__espera[hidden] { display: none; }
@media (max-width: 719px) { .lp-modal { width: 100vw; height: 100dvh; border: 0; border-radius: 0; } .lp-modal__nova { display: none; } }

/* ═════════════════════════════════ Devolver a altura das imagens

   O redesign.css do tema tem img:not([class*="h-"]):not([class*="size-"])
   com height:auto — 0,2,1 de especificidade, que vence qualquer classe
   sozinha. Sem isto o logo do cabeçalho sai com 233px de altura. */
.lp-corpo .lp-topo img.lp-topo__logo { height: 30px; width: auto; max-width: none; }
.lp-corpo .lp-topo .lp-topo__parceiro img { height: 26px; width: auto; max-width: none; }
.lp-corpo .lp-rodape .lp-parceiro__selo img { height: 54px; width: auto; max-width: 100%; }
.lp-corpo .lp-rodape .lp-tech img { height: 25px; width: auto; max-width: none; }
.lp-corpo .lp-logos ul img { height: 32px; width: auto; max-width: none; }
.lp-corpo .lp-rodape img.lp-rodape__logo { height: 27px; width: auto; max-width: none; }
.lp-corpo .lp-cases .lp-case__moldura img { height: 100%; width: 100%; }
.lp-corpo .lp-modal .lp-modal__quadro { height: 100%; width: 100%; }
@media (max-width: 719px) {
	.lp-corpo .lp-topo img.lp-topo__logo { height: 26px; }
	.lp-corpo .lp-rodape .lp-parceiro__selo img { height: 44px; }
	.lp-corpo .lp-logos ul img { height: 27px; }
}


/* ═════════════════════════════════ Método (trava de ecrã)
   A mecânica é a mesma da home: #nm-pin + .tl-* do site.js. Aqui só
   entram o título e a linha, que a home resolve com utilitários. */
.lp-metodo { position: relative; border-top: 1px solid var(--lp-fio); }
.lp-metodo__titulo { font-family: var(--ii-display); font-weight: 700; font-size: clamp(1.75rem, 3.8vw, 2.5rem); line-height: 1.12; letter-spacing: -.022em; margin: 0 0 .9rem; text-wrap: balance; }
.lp--advocacia .lp-metodo__titulo { font-family: var(--lp-serifa, Georgia), serif; font-weight: 600; letter-spacing: -.012em; }
.lp-metodo__linha { color: var(--ii-texto-2); line-height: 1.72; margin: 0; font-size: 1.02rem; }

/* ═════════════════════════════════ Marca d'água
   O logo é 1166×233 e o símbolo ocupa o quadrado da esquerda: numa
   caixa quadrada, background-size auto 100% + posição à esquerda
   recorta exactamente o símbolo, sem precisar de arte nova. */
.lp-secao--cases, .lp-fecho, .lp-secao--form { position: relative; overflow: hidden; }
.lp-secao--cases > .lp-caixa, .lp-fecho > .lp-caixa, .lp-secao--form > .lp-caixa { position: relative; z-index: 1; }
.lp-marca { position: absolute; z-index: 0; pointer-events: none; width: min(380px, 46vw); aspect-ratio: 1; right: -7%; top: 6%;
	background-image: url('../img/imagine-ide-logo.png'); background-size: auto 100%; background-position: left center; background-repeat: no-repeat;
	opacity: .045; filter: grayscale(1) brightness(2); }
.lp-marca--centro { right: auto; left: 50%; transform: translateX(-50%); top: auto; bottom: -12%; width: min(460px, 62vw); opacity: .055; }

/* ═════════════════════════════════ Campos lado a lado */
.lp-campo__par { display: grid; gap: 0; }
@media (min-width: 520px) { .lp-campo__par { grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: .75rem; } }

@media (prefers-reduced-motion: reduce) { .lp-logos__pista { animation: none; } }


/* ═════════════════════════════════ Degradê da marca
   "O que entra" era um bloco de preto puro entre duas seções escuras.
   O âmbar da Imagine entra como luz, não como fundo: radial baixo no
   canto de leitura, para o olho ter onde pousar sem a cor virar bloco. */
.lp-secao--entrega { position: relative; overflow: hidden; }
.lp-secao--entrega > .lp-caixa { position: relative; z-index: 1; }
.lp-brilho { position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		radial-gradient(118% 86% at 6% -6%, rgba(245,166,35,.155), rgba(245,166,35,.055) 42%, transparent 68%),
		radial-gradient(90% 70% at 100% 108%, rgba(245,166,35,.085), transparent 60%),
		linear-gradient(180deg, rgba(245,166,35,.045), transparent 38%); }
.lp-secao--entrega .lp-lista li { border-color: rgba(245,166,35,.16); }

/* Na advocacia o âmbar entra mais quente e mais baixo: a página é de
   leitura, e o brilho não pode competir com a serifa. */
.lp--advocacia .lp-brilho {
	background:
		radial-gradient(130% 92% at 0% 0%, rgba(245,166,35,.13), rgba(196,124,20,.05) 46%, transparent 72%),
		radial-gradient(80% 62% at 96% 100%, rgba(245,166,35,.07), transparent 62%),
		linear-gradient(180deg, rgba(245,166,35,.05), transparent 34%); }
.lp--advocacia .lp-secao--entrega .lp-lista li { border-color: rgba(245,166,35,.14); }

@media (max-width: 859px) {
	.lp-brilho { background:
		radial-gradient(140% 46% at 20% 0%, rgba(245,166,35,.15), transparent 62%),
		linear-gradient(180deg, rgba(245,166,35,.05), transparent 30%); }
}


/* ═════════════════════════════════ Coluna de dados do herói
   Ficha técnica curta ao lado do título, com filete — é o que dá ao
   herói o ar de prancha em vez de anúncio. */
.lp-hero__lado { border-left: 2px solid rgba(245,166,35,.55); padding: clamp(1.25rem, 2vw, 1.6rem) clamp(1.2rem, 2vw, 1.5rem);
	background: linear-gradient(180deg, rgba(9,9,11,.72), rgba(9,9,11,.64));
	backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.lp-hero__lado dl { margin: 0; display: grid; gap: 1.35rem; }
.lp-hero__lado dt { font-family: var(--ii-mono); font-size: .68rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: #C9CBD2; margin-bottom: .35rem; }
.lp-hero__lado dd { margin: 0; font-size: .96rem; line-height: 1.5; color: #F1F2F5; }
.lp--advocacia .lp-hero__lado dt { font-family: var(--ii-corpo); letter-spacing: .14em; }
@media (max-width: 1019px) { .lp-hero__lado { border-left: 0; border-top: 2px solid rgba(245,166,35,.5); padding: 1.35rem; } .lp-hero__lado dl { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 1.1rem 1.75rem; } }

/* ═════════════════════════════════ Marcador de rolagem
   A linha desce, some por baixo e volta a nascer em cima — o mesmo
   movimento do "role" da Corrêa. */
.lp-rolar { position: absolute; left: 0; bottom: -1.6rem; display: inline-flex; align-items: center; gap: .7rem; font-family: var(--ii-mono); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.66); }
.lp-rolar i { display: block; width: 1px; height: 34px; background: rgba(255,255,255,.5); animation: lp-desce 2.4s ease-in-out infinite; }
@keyframes lp-desce {
	0%   { transform: scaleY(.2); transform-origin: top; }
	50%  { transform: scaleY(1);  transform-origin: top; }
	51%  { transform: scaleY(1);  transform-origin: bottom; }
	100% { transform: scaleY(0);  transform-origin: bottom; }
}
@media (max-width: 1019px) { .lp-rolar { display: none; } }
@media (prefers-reduced-motion: reduce) { .lp-rolar i { animation: none; } }

/* A foto de escritório é clara: com o véu base o rótulo do topo ficava
   em 1,36:1. Rampa medida com Pillow no percentil 90, hero de 1665×816:
   rótulo 6,95 · h1 8,48 · destaque 4,40 · linha 5,78 · marcas 5,22.
   Parou-se nesta: a seguinte apaga a foto sem ganho que importe. */
.lp--contabilidade .lp-hero__veu {
	background:
		linear-gradient(100deg, rgba(9,9,11,.90) 0%, rgba(9,9,11,.78) 26%, rgba(9,9,11,.52) 48%, rgba(9,9,11,.28) 70%, rgba(9,9,11,.14) 100%),
		linear-gradient(0deg, rgba(9,9,11,.82) 0%, rgba(9,9,11,.20) 40%, rgba(9,9,11,.44) 100%); }

/* O cinza do rótulo satura em 6,3:1 mesmo sobre preto puro — sobre foto
   nunca chega aos 4,5. Nesta LP ele sobe para o cinza da linha. */
.lp--contabilidade .lp-hero__quem { color: #C9CBD2; }
