/* Página de anúncio: identidade local, sem alterar o cabeçalho ou outras páginas. */
.anuncie-page { --oferta-linha:#e8e4df; background:#f7f5f2; color:#181818; }
.anuncie-page h2 { font-size:clamp(26px,2.65vw,38px); line-height:1.17; letter-spacing:-.04em; text-wrap:balance; }
.anuncie-page h3 { text-wrap:balance; }
.anuncie-page a,.anuncie-page button { -webkit-tap-highlight-color:transparent; }
.anuncie-page a:focus-visible,.anuncie-page button:focus-visible,.anuncie-page summary:focus-visible { outline:3px solid #ff7a35; outline-offset:4px; }
.anuncie-page .oferta-cta { height:auto; min-height:54px; padding:15px 23px; gap:12px; border:1px solid #ff762e; border-radius:10px; background:linear-gradient(180deg,#ff6b1b,#e94800); box-shadow:0 6px 16px #ff590023; text-align:center; justify-content:center; line-height:1.4; transition:box-shadow .2s,transform .2s; }
.anuncie-page .oferta-cta:hover { transform:translateY(-2px); box-shadow:0 10px 28px #ff59003d; }
.oferta-hero { background:radial-gradient(ellipse at 82% 42%,#4b210f 0%,transparent 46%),#101112; border-bottom:1px solid #31302d; }
.oferta-hero > .relative { padding-top:84px; padding-bottom:78px; }
.oferta-hero h1 { max-width:560px; font-size:clamp(34px,3.5vw,48px); font-weight:600; line-height:1.14; letter-spacing:-.04em; text-wrap:balance; }
.oferta-destaque { color:#ff8644; }
.oferta-hero h1 + p { margin-top:18px; max-width:440px; color:#c5c5c6; font-size:15px; line-height:1.65; }
.oferta-hero > .relative > div > p:first-child { display:inline-block; font-size:10px; padding:8px 12px; margin-bottom:14px; border:1px solid #ffffff25; border-radius:6px; letter-spacing:.13em; color:#e8ba9e; background:#ffffff04; }
.oferta-hero ul { padding-top:22px; border-top:1px solid #ffffff18; font-size:12px; gap:12px; }
.oferta-hero .dm { position:relative; }
.oferta-hero .dm-janela { border-radius:16px; box-shadow:0 30px 70px #0007; }
.oferta-hero .dm-rodape { gap:12px; line-height:1.5; color:#b4afaa; }
.oferta-hero .dm-controle { flex-shrink:0; }
.oferta-beneficios { padding-top:78px; padding-bottom:72px; }
.oferta-beneficios > .max-w-2xl { max-width:720px; }
.oferta-beneficios > .grid > div { border-color:var(--oferta-linha); border-radius:16px; padding:25px 22px; box-shadow:0 3px 4px #25201802; }
.oferta-beneficios > .grid > div > p:first-of-type { font-size:17px; letter-spacing:-.02em; line-height:1.3; }
.oferta-beneficios > .grid > div > p:last-of-type { margin-top:12px; line-height:1.7; }
.oferta-beneficios > .bg-brand { padding:30px; background:#eeebe6; color:#202020; border:1px solid #e4dfd7; box-shadow:none; }
.oferta-beneficios > .bg-brand p { color:#5b5955; }
.oferta-passos { background:#fff; border-color:var(--oferta-linha); }
.oferta-passos > div { padding-top:60px; padding-bottom:60px; }
.oferta-passos .grid { gap:32px; margin-top:34px; }
.oferta-passos .grid > div { padding-top:20px; border-top:1px solid #ddd8d1; }
.oferta-passos .grid > div > span { display:inline-flex; color:#aa400e; font-size:14px; letter-spacing:.1em; }
.oferta-precos { background:#f7f5f2; border-color:var(--oferta-linha); }
.oferta-precos > .grid { padding-top:76px; padding-bottom:76px; gap:64px; }
.oferta-precos h2 + p { line-height:1.8; margin-top:16px; }
.oferta-precos .oferta-local { padding:30px; margin-top:28px; border-radius:18px; background:radial-gradient(ellipse at 100% 0,#613018,transparent 70%),#181918; box-shadow:0 16px 40px #221d1714; }
.oferta-local-topo { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; }
.oferta-local-topo > span { padding:5px 9px; background:#ffffff0b; border:1px solid #ffffff22; border-radius:5px; font-size:11px; color:#dad7d3; }
.oferta-local > .font-display { font-size:48px; letter-spacing:-.055em; margin-top:2px; }
.oferta-local > p:first-of-type { margin-top:24px; }
.oferta-precos .border-slate-200 { border-color:#e3dfd8; background:#fff; }
.oferta-precos details { padding:19px 20px; }
.oferta-precos details summary { font-size:14px; line-height:1.5; }
.oferta-precos details[open] { background:#fffaf5; }
.oferta-precos details p { line-height:1.75; }
.oferta-precos details summary > span { font-size:20px; font-weight:400; color:#a24418; }
.oferta-consulta { background:radial-gradient(ellipse at 10% 0,#3b2419,transparent 50%),#141516; padding:28px 0; }
.oferta-consulta h2 { max-width:550px; margin:0 auto; }
.oferta-consulta h2 + p { max-width:500px; line-height:1.8; margin-top:20px; color:#bbb9b7; }
.oferta-consulta .shadow-xl { padding:30px; margin-top:32px; border-radius:20px; box-shadow:0 28px 60px #0003; }
.oferta-consulta input,.oferta-consulta select { min-height:48px; border-color:#d8d4ce; border-radius:9px; }
.oferta-consulta input[type=checkbox] { min-height:0; }
.oferta-consulta button.bg-accent { min-height:50px; height:auto; padding-top:13px; padding-bottom:13px; line-height:1.4; }
.oferta-consulta ol { padding-bottom:20px; border-bottom:1px solid #ece8e3; }
.oferta-consulta [role=radio] { min-height:88px; }
.oferta-preco-consulta { margin-top:18px; padding-top:18px; border-top:1px solid #ddd; }
.oferta-preco-consulta > span { font-size:12px; color:#666; }
.oferta-preco-consulta > p { margin:4px 0; }
.oferta-preco-consulta strong { font-size:34px; line-height:1.3; letter-spacing:-.04em; color:#161616; }
.oferta-preco-consulta p > span { font-size:13px; margin-left:5px; }
.oferta-preco-consulta .oferta-economia { font-size:12px; color:#905027; }
#guia-anunciante { background:#f7f5f2; border-color:var(--oferta-linha); }
#guia-anunciante > div { padding-top:66px; padding-bottom:66px; }
#guia-anunciante .grid > div { border-color:var(--oferta-linha); border-radius:14px; padding:24px; }
@media(min-width:1024px) {
 .oferta-hero > .relative { grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:56px; }
 .oferta-precos > .grid > div:last-child { padding-top:6px; }
}
@media(max-width:639px) {
 .oferta-hero > .relative { padding-top:40px; padding-bottom:40px; gap:36px; }
 .oferta-hero h1 { font-size:32px; }
 .oferta-hero h1 + p { font-size:14px; margin-top:16px; }
 .oferta-hero ul { font-size:13px; }
 .oferta-hero .oferta-cta { width:100%; font-size:14px; }
 .oferta-hero a[href='#precos'] { height:38px; padding-left:0; border:0; font-size:13px; }
 .oferta-beneficios { padding-top:44px; padding-bottom:44px; }
 .oferta-beneficios > .grid > div { padding:22px; }
 .oferta-beneficios > .bg-brand { padding:24px; }
 .oferta-passos > div,#guia-anunciante > div { padding-top:42px; padding-bottom:42px; }
 .oferta-precos > .grid { padding-top:44px; padding-bottom:44px; gap:40px; }
 .oferta-precos .oferta-local { padding:24px; }
 .oferta-precos .oferta-cta { width:100%; font-size:14px; }
 .oferta-consulta { padding:8px 0; }
 .oferta-consulta .shadow-xl { padding:18px; border-radius:14px; }
 .oferta-consulta .flex.gap-2 > button { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .anuncie-page .oferta-cta { transition:none; } .anuncie-page .oferta-cta:hover { transform:none; } }

/* Cadastro com explicação à esquerda e formulário à direita. */
.oferta-consulta .cadastro-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; align-items:center; padding-top:64px; padding-bottom:64px; }
.cadastro-apresentacao { min-width:0; }
.cadastro-sobretitulo { margin-bottom:18px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.16em; color:#ff9a60; }
.oferta-consulta .cadastro-apresentacao h2 { font-weight:650; margin:0; max-width:470px; color:#fff; font-size:clamp(30px,3.2vw,44px); line-height:1.12; }
.oferta-consulta .cadastro-intro { margin:22px 0 0; max-width:420px; font-size:15px; line-height:1.8; color:#bdb9b5; }
.oferta-consulta .cadastro-passos { margin:38px 0 0; padding:0; border:0; list-style:none; }
.cadastro-passos li { display:flex; align-items:flex-start; gap:18px; padding:22px 0; border-top:1px solid #ffffff19; }
.cadastro-passos li > span { display:flex; align-items:center; justify-content:center; flex:none; width:38px; height:38px; border:1px solid #ff8a4538; border-radius:10px; background:#ff8a4509; color:#ff9a60; font-size:12px; font-weight:600; }
.cadastro-passos h3 { font-weight:600; margin:0; color:#f7f5f2; font-size:17px; letter-spacing:-.02em; }
.cadastro-passos li p { margin:8px 0 0; color:#bdb9b5; font-size:14px; line-height:1.7; }
.oferta-consulta .cadastro-painel { min-width:0; margin-top:0; padding:34px; border:1px solid #ffffff30; }
.oferta-consulta .cadastro-painel h2 { font-weight:650; margin:0; max-width:420px; color:#181818; text-align:left; font-size:28px; line-height:1.2; }
.oferta-consulta .cadastro-painel-intro { margin:12px 0 24px; color:#66615d; font-size:14px; line-height:1.7; }
.cadastro-etapas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 24px; list-style:none; padding:0; }
.cadastro-etapas li { display:flex; align-items:center; justify-content:center; gap:8px; min-height:58px; padding:10px 8px; border:1px solid #d6d3d0; border-radius:10px; background:#f5f4f2; color:#57534e; font-size:13px; font-weight:650; }
.cadastro-etapa-numero { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:24px; height:24px; border-radius:50%; background:#e5e2de; color:#57534e; font-size:12px; }
.cadastro-etapas li[aria-current="step"] { background:#fff4e9; border:2px solid #bf4400; color:#963600; box-shadow:0 3px 10px #96360012; }
.cadastro-etapas li[aria-current="step"] .cadastro-etapa-numero { background:#a83b00; color:#fff; }
.cadastro-etapas li.etapa-concluida { background:#edf7f1; border-color:#97c7ac; color:#256344; }
.cadastro-etapas .etapa-concluida .cadastro-etapa-numero { background:#256344; color:#fff; }
@media(max-width:639px) {
 .cadastro-etapas { gap:6px; }
 .cadastro-etapas li { flex-direction:column; gap:6px; min-height:72px; padding:10px 3px; font-size:12px; }
}

@media(max-width:1023px) {
 .oferta-consulta .cadastro-layout { grid-template-columns:1fr; gap:30px; padding-top:44px; padding-bottom:44px; max-width:720px; }
 .oferta-consulta .cadastro-passos { margin-top:26px; }
}
@media(max-width:639px) {
 .oferta-consulta .cadastro-painel { padding:22px 18px; }
 .oferta-consulta .cadastro-painel h2 { font-size:25px; }
 .cadastro-passos li { gap:14px; padding:18px 0; }
}

.oferta-precos .oferta-resumo { max-width:760px; margin:0 auto; }
.oferta-faq { background:#fff; border-bottom:1px solid #e8e4df; }
.faq-layout { padding-top:48px; padding-bottom:48px; }
.faq-apresentacao { margin-bottom:24px; }
.anuncie-page .faq-apresentacao h2 { font-size:clamp(24px,2.5vw,32px); }
.faq-perguntas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.faq-coluna { border:1px solid #e8e4df; border-radius:14px; overflow:hidden; }
.oferta-faq details + details { border-top:1px solid #e8e4df; }
.oferta-faq details { padding:0 18px; }
.oferta-faq summary { min-height:54px; padding:12px 0; font-size:14px; line-height:1.5; }
.oferta-faq summary:focus-visible { outline:2px solid #a24418; outline-offset:-2px; border-radius:4px; }
.oferta-faq details[open] { background:#fffaf5; }
.oferta-faq details p { margin:0; padding:0 0 16px; line-height:1.65; }
.oferta-faq summary > span { flex-shrink:0; color:#a24418; font-size:20px; font-weight:400; }
@media(max-width:767px) {
 .faq-layout { padding-top:32px; padding-bottom:32px; }
 .faq-apresentacao { margin-bottom:18px; }
 .faq-perguntas { grid-template-columns:1fr; gap:12px; }
 .oferta-faq details { padding:0 14px; }
 .oferta-faq summary { min-height:50px; padding:10px 0; font-size:13px; }
}

/* Benefício em uma mensagem curta, ao lado de fotografia editorial. */
.oferta-beneficios-visual { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:88px; align-items:center; padding-top:88px; padding-bottom:88px; }
.beneficio-copy { min-width:0; }
.beneficio-sobretitulo { color:#a24418; font-size:11px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; margin-bottom:24px; }
.anuncie-page .beneficio-copy h2 { font-size:clamp(36px,4.2vw,58px); font-weight:650; line-height:1.08; letter-spacing:-.055em; color:#181818; }
.beneficio-copy h2 span { color:#b5410b; }
.beneficio-frase { margin-top:26px; max-width:395px; color:#69635d; font-size:18px; line-height:1.75; }
.beneficio-imagem { margin:0; border-radius:22px; overflow:hidden; background:#d9cbbb; box-shadow:0 22px 54px -28px #3e271d55; }
.beneficio-imagem img { display:block; width:100%; height:540px; object-fit:cover; object-position:center 35%; }
@media(max-width:1023px) {
 .oferta-beneficios-visual { gap:36px; padding-top:60px; padding-bottom:60px; }
 .beneficio-imagem img { height:440px; }
}
@media(max-width:639px) {
 .oferta-beneficios-visual { grid-template-columns:1fr; gap:30px; padding-top:44px; padding-bottom:44px; }
 .beneficio-sobretitulo { margin-bottom:18px; }
 .beneficio-frase { margin-top:20px; font-size:16px; }
 .beneficio-imagem { border-radius:16px; }
 .beneficio-imagem img { height:auto; aspect-ratio:4/5; object-fit:cover; }
}

/* Oferta concreta e exemplo com os dados oficiais da Rocha Locam. */
.oferta-proximo-passo { margin-top:12px; color:#b9b7b5; font-size:12px; line-height:1.6; }
.oferta-condicoes { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:24px; max-width:440px; color:#e1d9d2; font-size:12px; line-height:1.6; }
.oferta-condicoes span::before { content:'✓'; margin-right:6px; color:#ff8644; }
.dm-exemplo { margin-top:12px; color:#b9b7b5; font-size:11px; line-height:1.6; }
.dm .dm-logo-rocha { width:66px; height:42px; border-radius:6px; background:#fff; padding:4px; }
.dm .dm-logo-rocha img { display:block; width:100%; height:auto; }
.dm-card { flex-wrap:wrap; }
.dm .dm-acoes { width:100%; padding-left:77px; }
.anuncie-page .beneficio-copy h2 { font-size:clamp(30px,3.2vw,44px); line-height:1.18; letter-spacing:-.04em; }
.beneficio-frase { font-size:17px; line-height:1.7; margin-top:22px; }
.beneficio-exemplo { margin-top:18px; max-width:410px; color:#69635d; font-size:14px; line-height:1.75; }
.rocha-anuncio { overflow:hidden; border:1px solid #e2ddd7; border-radius:20px; background:#fff; box-shadow:0 18px 48px -30px #3e271d55; }
.rocha-anuncio-topo { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:15px 20px; font-size:12px; color:#69635d; }
.rocha-selo { border:1px solid #f0d2bd; border-radius:5px; padding:3px 7px; font-size:10px; color:#9a3d0d; }
.rocha-foto { display:block; width:100%; aspect-ratio:2/1; object-fit:cover; }
.rocha-anuncio-conteudo { padding:24px; }
.rocha-marca { display:block; width:143px; height:auto; margin-bottom:18px; }
.anuncie-page .rocha-anuncio h3 { font-size:21px; line-height:1.3; letter-spacing:-.025em; text-wrap:initial; font-weight:600; }
.rocha-anuncio-conteudo p { margin-top:10px; color:#69635d; font-size:14px; line-height:1.7; }
.rocha-site { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:22px; padding-top:16px; border-top:1px solid #eee9e4; color:#a24418; font-size:14px; font-weight:600; }
.rocha-site:hover { color:#181818; }
@media(max-width:639px) {
 .oferta-condicoes { gap:6px 14px; margin-top:20px; font-size:11px; }
 .rocha-anuncio-topo { padding:13px 18px; font-size:11px; }
 .rocha-anuncio-conteudo { padding:20px; }
 .anuncie-page .rocha-anuncio h3 { font-size:20px; }
}

/* Estrutura de venda: benefícios, exemplo, investimento e cadastro. */
.oferta-momentos { padding:84px 0; background:#fff; }
.momentos-abertura { max-width:750px; margin-bottom:38px; }
.momentos-abertura .beneficio-sobretitulo { margin-bottom:16px; }
.anuncie-page .momentos-abertura h2,.anuncie-page .exemplo-copy h2,.anuncie-page .investimento-copy h2 { font-weight:650; font-size:clamp(30px,3vw,42px); line-height:1.16; letter-spacing:-.045em; }
.momentos-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.momento-card { padding:32px; border-radius:20px; background:#f6f2ed; }
.momento-card:nth-child(2) { background:#eef1ed; }
.momento-card:nth-child(3) { background:#eef0f3; }
.momento-icone { display:flex; width:64px; height:64px; align-items:center; justify-content:center; margin-bottom:32px; border:1px solid #0000000b; border-radius:18px; background:#ffffffad; color:#a24418; }
.momento-card:nth-child(2) .momento-icone { color:#466553; }
.momento-card:nth-child(3) .momento-icone { color:#495f76; }
.anuncie-page .momento-card h3 { min-height:2.44em; max-width:260px; font-size:23px; font-weight:600; letter-spacing:-.035em; line-height:1.22; }
.momento-card p { margin-top:16px; color:#615f5b; font-size:15px; line-height:1.75; }
.oferta-exemplo { background:#f7f5f2; }
.exemplo-layout,.investimento-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:88px; align-items:center; padding-top:80px; padding-bottom:80px; }
.exemplo-copy { max-width:440px; }
.exemplo-copy > p:not(.beneficio-sobretitulo),.investimento-copy > p:not(.beneficio-sobretitulo) { margin-top:22px; color:#69635d; font-size:16px; line-height:1.8; }
.exemplo-copy > p.exemplo-contexto { font-size:14px; }
.exemplo-link { display:inline-flex; align-items:center; gap:18px; margin-top:26px; padding-bottom:8px; border-bottom:1px solid #d3b6a4; color:#a24418; font-size:14px; font-weight:600; }
.oferta-investimento { background:#fff; }
.investimento-condicoes { display:grid; gap:13px; margin:28px 0; }
.investimento-condicoes li { display:flex; align-items:flex-start; gap:11px; color:#4e4b48; font-size:14px; line-height:1.6; }
.investimento-condicoes svg { flex:none; margin-top:3px; color:#a24418; }
.oferta-investimento .oferta-local { margin-top:0; padding:34px; }
.investimento-lancamento { margin-top:24px; padding-top:18px; border-top:1px solid #ffffff20; color:#d3c9c0; font-size:12px; line-height:1.75; }
.investimento-garantia { display:flex; gap:14px; margin-top:26px; }
.investimento-garantia > span { flex:none; color:#a24418; }
.investimento-garantia h3 { font-size:14px; font-weight:600; }
.investimento-garantia p { margin-top:7px; font-size:13px; line-height:1.75; color:#69635d; }
.investimento-garantia a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1023px) {
 .momentos-grid { gap:16px; } .momento-card { padding:24px; }
 .exemplo-layout,.investimento-layout { gap:40px; }
}
@media(max-width:767px) {
 .oferta-momentos { padding:44px 0; }
 .momentos-abertura { margin-bottom:28px; }
 .momentos-grid { grid-template-columns:1fr; }
 .momento-card { padding:26px; }
 .momento-icone { margin-bottom:22px; width:56px; height:56px; border-radius:15px; }
 .anuncie-page .momento-card h3 { min-height:0; max-width:none; }
 .exemplo-layout,.investimento-layout { grid-template-columns:1fr; gap:32px; padding-top:44px; padding-bottom:44px; }
 .oferta-investimento .oferta-local { padding:26px; }
}

/* Marcas anunciantes, com identidade original e presença equilibrada. */
.oferta-anunciantes { background:#fff; border-top:1px solid #ebe7e2; border-bottom:1px solid #ebe7e2; }
.anunciantes-layout { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:64px; padding-top:48px; padding-bottom:48px; }
.anunciantes-sobretitulo { margin:0 0 12px; color:#a24418; font-size:11px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.anuncie-page .anunciantes-copy h2 { margin:0; max-width:430px; color:#181818; font-size:clamp(24px,2.3vw,32px); font-weight:650; line-height:1.2; letter-spacing:-.035em; }
.anunciantes-janela { min-width:0; overflow:hidden; padding:8px 0; mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent); }
.anunciantes-trilha { display:flex; width:max-content; animation:anunciantes-loop 28s linear infinite; }
.anunciantes-grupo { display:flex; flex-shrink:0; gap:20px; padding-right:20px; }
.anunciante-marca { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:220px; height:100px; padding:20px; border:1px solid #ebe7e2; border-radius:12px; background:#fff; }
.anunciante-marca img { display:block; width:100%; height:60px; object-fit:contain; }
.anunciante-marca-escura { background:#111827; border-color:#243148; }
.anunciante-marca:focus-visible { outline:2px solid #a24418; outline-offset:-4px; }
.anunciantes-janela:hover .anunciantes-trilha, .anunciantes-janela:focus-within .anunciantes-trilha { animation-play-state:paused; }
@keyframes anunciantes-loop { to { transform:translateX(-50%); } }
@media(max-width:767px) {
 .anunciantes-layout { grid-template-columns:1fr; gap:24px; padding-top:32px; padding-bottom:32px; }
 .anunciante-marca { width:180px; height:88px; padding:16px; }
 .anunciante-marca img { height:54px; }
}
@media(prefers-reduced-motion:reduce) {
 .anunciantes-janela { overflow:visible; mask-image:none; }
 .anunciantes-trilha { width:100%; animation:none; }
 .anunciantes-grupo { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; }
 .anunciantes-grupo[aria-hidden="true"] { display:none; }
 .anunciante-marca { width:100%; }
}
