/* Profissional — advocacia, contabilidade, seguros, imobiliária, fotografia, escolas e cursos.
   5 estilos (classe no <body>): estilo-executivo, estilo-corporativo, estilo-moderno, estilo-casa, estilo-estudio.
   O topo do Executivo é escuro (--h-*); nos outros, claro. Cores personalizadas vêm num <style> no index.html. */
.estilo-executivo {
  --bg: #FAF8F4; --bg2: #F1ECE2; --card: #FFFFFF; --ink: #14213D; --muted: #5A6477; --linha: rgba(20, 33, 61, .12);
  --c: #B08D57; --c-rgb: 176, 141, 87; --c-texto: #14213D; --a: #14213D; --a-rgb: 20, 33, 61;
  --h-bg: #14213D; --h-ink: #F6F1E7; --h-muted: #BFC6D4; --h-linha: rgba(246, 241, 231, .14);
  --titulo: 'EB Garamond', Georgia, serif; --corpo: 'Inter', system-ui, sans-serif; --peso-titulo: 500; --tam-titulo: 1.05; --esp-titulo: 0;
  --raio: 2px; --raio-foto: 2px; --raio-bt: 2px;
}
.estilo-corporativo {
  --bg: #FFFFFF; --bg2: #F3F6FA; --card: #FFFFFF; --ink: #0E1B2C; --muted: #536173; --linha: rgba(14, 27, 44, .1);
  --c: #0B63CE; --c-rgb: 11, 99, 206; --c-texto: #FFFFFF; --a: #10B39A; --a-rgb: 16, 179, 154;
  --h-bg: #F3F6FA; --h-ink: #0E1B2C; --h-muted: #536173; --h-linha: rgba(14, 27, 44, .1);
  --titulo: 'IBM Plex Sans', system-ui, sans-serif; --corpo: 'IBM Plex Sans', system-ui, sans-serif; --peso-titulo: 700; --tam-titulo: .92; --esp-titulo: -.02em;
  --raio: 10px; --raio-foto: 14px; --raio-bt: 8px;
}
.estilo-moderno {
  --bg: #FFFFFF; --bg2: #F5F3FF; --card: #FFFFFF; --ink: #1A1433; --muted: #635C7D; --linha: rgba(26, 20, 51, .1);
  --c: #6D4AFF; --c-rgb: 109, 74, 255; --c-texto: #FFFFFF; --a: #FFB020; --a-rgb: 255, 176, 32;
  --h-bg: #F5F3FF; --h-ink: #1A1433; --h-muted: #635C7D; --h-linha: rgba(26, 20, 51, .1);
  --titulo: 'Plus Jakarta Sans', system-ui, sans-serif; --corpo: 'Plus Jakarta Sans', system-ui, sans-serif; --peso-titulo: 800; --tam-titulo: .9; --esp-titulo: -.03em;
  --raio: 20px; --raio-foto: 28px; --raio-bt: 999px;
}
.estilo-casa {
  --bg: #FBF8F3; --bg2: #F1EBE1; --card: #FFFFFF; --ink: #1F2E27; --muted: #5E6B64; --linha: rgba(31, 46, 39, .12);
  --c: #2F5D4A; --c-rgb: 47, 93, 74; --c-texto: #FFFFFF; --a: #C8683F; --a-rgb: 200, 104, 63;
  --h-bg: #FBF8F3; --h-ink: #1F2E27; --h-muted: #5E6B64; --h-linha: rgba(31, 46, 39, .12);
  --titulo: 'DM Serif Display', Georgia, serif; --corpo: 'DM Sans', system-ui, sans-serif; --peso-titulo: 400; --tam-titulo: 1; --esp-titulo: -.01em;
  --raio: 14px; --raio-foto: 220px 220px 14px 14px; --raio-bt: 999px;
}
.estilo-estudio {
  --bg: #FFFFFF; --bg2: #F2F2F2; --card: #FFFFFF; --ink: #0A0A0A; --muted: #5C5C5C; --linha: rgba(10, 10, 10, .14);
  --c: #0A0A0A; --c-rgb: 10, 10, 10; --c-texto: #FFFFFF; --a: #FF5B2E; --a-rgb: 255, 91, 46;
  --h-bg: #FFFFFF; --h-ink: #0A0A0A; --h-muted: #5C5C5C; --h-linha: rgba(10, 10, 10, .14);
  --titulo: 'Space Grotesk', system-ui, sans-serif; --corpo: 'Space Grotesk', system-ui, sans-serif; --peso-titulo: 700; --tam-titulo: 1.05; --esp-titulo: -.04em;
  --raio: 0; --raio-foto: 0; --raio-bt: 0;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 17px/1.7 var(--corpo); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--titulo); font-weight: var(--peso-titulo); letter-spacing: var(--esp-titulo); line-height: 1.1; margin: 0; }
p { margin: 0; }
.container { width: min(1180px, 100% - 40px); margin-inline: auto; }
.container.estreito { width: min(840px, 100% - 40px); }
.skip { position: absolute; left: -999px; top: 8px; background: var(--c); color: var(--c-texto); padding: 8px 14px; z-index: 100; }
.skip:focus { left: 8px; }
h1 em, h2 em { font-style: normal; color: var(--c); }
.estilo-executivo h1 em, .estilo-executivo h2 em, .estilo-casa h1 em, .estilo-casa h2 em { font-style: italic; }
.estilo-casa h1 em, .estilo-casa h2 em { color: var(--a); }
.estilo-estudio h1 em, .estilo-estudio h2 em { color: var(--a); }

/* botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 28px; border-radius: var(--raio-bt); font: 600 15px/1 var(--corpo); text-decoration: none; border: 1.5px solid transparent; transition: transform .2s, filter .2s, background .2s; cursor: pointer; }
.estilo-executivo .btn { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn-principal { background: var(--c); color: var(--c-texto); }
.btn-principal:hover { transform: translateY(-2px); filter: brightness(1.06); }
.estilo-estudio .btn-principal:hover { background: var(--a); filter: none; }
.btn-contorno { border-color: color-mix(in srgb, var(--h-ink) 30%, transparent); color: var(--h-ink); }
.btn-contorno:hover { border-color: var(--c); }

/* topo */
.cabecalho { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--h-bg) 90%, transparent); color: var(--h-ink); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid transparent; transition: border-color .3s; }
.cabecalho.rolou { border-color: var(--h-linha); }
.cabecalho .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 80px; }
.marca { text-decoration: none; display: flex; flex-direction: column; line-height: 1.1; min-width: 0; }
.marca strong { font: var(--peso-titulo) 23px var(--titulo); letter-spacing: var(--esp-titulo); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.estilo-executivo .marca strong { font-size: 26px; }
.marca small { font-size: 11.5px; color: var(--h-muted); letter-spacing: .16em; text-transform: uppercase; margin-top: 4px; }
.marca img { max-height: 52px; width: auto; }
.menu { display: flex; align-items: center; gap: 28px; }
.menu a { text-decoration: none; font-size: 15px; font-weight: 500; color: var(--h-muted); transition: color .2s; }
.menu a:hover { color: var(--h-ink); }
.menu .btn { padding: 12px 20px; font-size: 13.5px; color: var(--c-texto); }
.burger { display: none; background: none; border: 0; color: var(--h-ink); cursor: pointer; padding: 8px; }
@media (max-width: 960px) {
  .burger { display: inline-flex; }
  .menu { position: fixed; inset: 80px 0 auto 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--h-bg); border-bottom: 1px solid var(--h-linha); padding: 8px 20px 22px; transform: translateY(-130%); transition: transform .35s ease; }
  .menu.aberto { transform: none; }
  .menu a { padding: 15px 4px; border-bottom: 1px solid var(--h-linha); font-size: 16px; }
  .menu .btn { margin-top: 18px; border: 0; padding: 16px; }
}

/* primeira tela */
.hero { padding: 64px 0 80px; background: var(--h-bg); color: var(--h-ink); position: relative; overflow: hidden; }
.estilo-executivo .hero::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 120px), radial-gradient(700px 500px at 85% 20%, rgba(var(--c-rgb), .18), transparent 70%); }
.estilo-moderno .hero::before { content: ''; position: absolute; width: 520px; height: 520px; right: -140px; top: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--a-rgb), .3), transparent 68%); }
.hero .container { display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: center; position: relative; }
.selo { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--c); margin-bottom: 24px; }
.selo::before { content: ''; width: 34px; height: 1.5px; background: currentColor; }
.estilo-moderno .selo, .estilo-corporativo .selo { letter-spacing: .04em; text-transform: none; font-size: 14px; background: rgba(var(--c-rgb), .1); padding: 8px 14px; border-radius: 999px; }
.estilo-moderno .selo::before, .estilo-corporativo .selo::before { width: 8px; height: 8px; border-radius: 50%; }
.hero h1 { font-size: calc(clamp(40px, 5.4vw, 70px) * var(--tam-titulo)); margin-bottom: 22px; }
.estilo-estudio .hero h1 { font-size: clamp(46px, 7vw, 96px); line-height: .98; }
.hero .sub { font-size: 19px; color: var(--h-muted); max-width: 580px; margin-bottom: 34px; }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-registro { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; font-size: 14px; color: var(--h-muted); }
.hero-registro svg { width: 17px; height: 17px; color: var(--c); }
.hero-foto { position: relative; justify-self: end; width: min(430px, 100%); }
.moldura { aspect-ratio: 4 / 5; border-radius: var(--raio-foto); overflow: hidden; background: color-mix(in srgb, var(--h-ink) 8%, var(--h-bg)); position: relative; z-index: 1; }
.moldura img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.estilo-executivo .hero-foto::after { content: ''; position: absolute; inset: 20px -20px -20px 20px; border: 1px solid var(--c); z-index: 0; }
.estilo-corporativo .hero-foto::after { content: ''; position: absolute; width: 60%; height: 60%; right: -24px; bottom: -24px; border-radius: var(--raio-foto); background: rgba(var(--a-rgb), .25); z-index: 0; }
.estilo-moderno .moldura { transform: rotate(2deg); box-shadow: 0 40px 80px -40px rgba(var(--c-rgb), .6); }
.estilo-estudio .moldura { filter: grayscale(1); }
.numeros { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 20px; margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--h-linha); }
.numeros strong { display: block; font: var(--peso-titulo) calc(44px * var(--tam-titulo))/1 var(--titulo); color: var(--c); }
.numeros span { font-size: 14px; color: var(--h-muted); }
@media (max-width: 960px) {
  .hero { padding: 30px 0 64px; }
  .hero .container { grid-template-columns: 1fr; gap: 48px; }
  .hero-foto { order: -1; justify-self: center; width: min(340px, 84%); }
  .numeros { margin-top: 44px; }
}

/* seções */
.secao { padding: 104px 0; }
.secao.tom { background: var(--bg2); }
.rotulo { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--c); margin-bottom: 14px; }
.estilo-executivo .rotulo::before { content: ''; width: 28px; height: 1px; background: currentColor; }
.estilo-estudio .rotulo { color: var(--a); }
.titulo-secao { font-size: calc(clamp(34px, 4.2vw, 54px) * var(--tam-titulo)); margin-bottom: 16px; }
.intro { max-width: 720px; margin-bottom: 52px; }
.intro.centro { margin-inline: auto; text-align: center; }
.intro p { color: var(--muted); font-size: 18px; }
@media (max-width: 700px) { .secao { padding: 76px 0; } .intro { margin-bottom: 36px; } }

/* áreas */
.areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.area { display: flex; flex-direction: column; gap: 18px; padding: 28px; border-radius: var(--raio); background: var(--card); border: 1px solid var(--linha); transition: transform .3s, border-color .3s, box-shadow .3s; }
.area:hover { transform: translateY(-4px); border-color: rgba(var(--c-rgb), .4); box-shadow: 0 24px 50px -36px rgba(var(--a-rgb), .6); }
.area-ic { width: 50px; height: 50px; display: grid; place-items: center; border-radius: calc(var(--raio) + 4px); background: rgba(var(--c-rgb), .1); color: var(--c); }
.estilo-executivo .area-ic { background: var(--a); color: var(--c); border-radius: 50%; }
.estilo-estudio .area-ic { background: var(--c); color: #fff; }
.area-ic svg { width: 24px; height: 24px; stroke-width: 1.6; }
.area h3 { font-size: calc(23px * var(--tam-titulo)); margin-bottom: 6px; }
.area p { color: var(--muted); font-size: 15.5px; }
/* Executivo e Estúdio: lista com linhas, sem cartões */
.estilo-executivo .areas, .estilo-estudio .areas { gap: 0 48px; }
.estilo-executivo .area, .estilo-estudio .area { flex-direction: row; background: none; border: 0; border-top: 1px solid var(--linha); border-radius: 0; padding: 28px 0; }
.estilo-executivo .area:hover, .estilo-estudio .area:hover { transform: none; box-shadow: none; }
@media (max-width: 960px) { .areas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .areas { grid-template-columns: 1fr; } }

/* vitrine */
.vitrine { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vit { background: var(--card); border-radius: var(--raio); overflow: hidden; border: 1px solid var(--linha); display: flex; flex-direction: column; transition: transform .3s; }
.vit:hover { transform: translateY(-5px); }
.vit-foto { position: relative; aspect-ratio: 4 / 3; background: linear-gradient(150deg, rgba(var(--c-rgb), .18), rgba(var(--a-rgb), .2)); display: grid; place-items: center; color: var(--c); overflow: hidden; }
.vit-foto img { width: 100%; height: 100%; object-fit: cover; }
.vit-foto > svg { width: 44px; height: 44px; stroke-width: 1.3; }
.vit-etiqueta { position: absolute; left: 14px; top: 14px; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--card); color: var(--ink); box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .4); }
.vit-corpo { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.vit-corpo h3 { font-size: calc(22px * var(--tam-titulo)); }
.vit-corpo p { color: var(--muted); font-size: 15px; }
.vit-pe { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--linha); }
.vit-pe strong { font-size: 18px; color: var(--c); }
.estilo-executivo .vit-pe strong { color: var(--a); }
.vit-pe a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14.5px; text-decoration: none; color: var(--ink); margin-left: auto; }
.vit-pe a svg { width: 16px; height: 16px; transition: transform .2s; }
.vit-pe a:hover svg { transform: translateX(3px); }
@media (max-width: 960px) { .vitrine { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .vitrine { grid-template-columns: 1fr; } }

/* diferenciais */
.difs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.dif { text-align: center; padding: 8px; }
.dif svg { width: 30px; height: 30px; color: var(--c); stroke-width: 1.5; margin: 0 auto 16px; display: block; }
.dif h3 { font-size: calc(21px * var(--tam-titulo)); margin-bottom: 8px; }
.dif p { color: var(--muted); font-size: 15px; }
@media (max-width: 960px) { .difs { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .difs { grid-template-columns: 1fr; } }

/* sobre e equipe */
.sobre { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: center; }
.sobre-foto { aspect-ratio: 4 / 5; border-radius: var(--raio-foto); overflow: hidden; background: var(--bg2); }
.sobre-foto img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.estilo-estudio .sobre-foto { filter: grayscale(1); }
.sobre .texto p { color: var(--muted); margin-bottom: 14px; }
.sobre .texto strong { color: var(--ink); }
.registro { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 14.5px; font-weight: 600; }
.registro svg { width: 18px; height: 18px; color: var(--c); }
.equipe-titulo { font-size: calc(28px * var(--tam-titulo)); margin: 80px 0 28px; }
.equipe { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 26px; }
.pessoa-foto { aspect-ratio: 3 / 4; border-radius: var(--raio); overflow: hidden; background: linear-gradient(160deg, rgba(var(--c-rgb), .35), rgba(var(--a-rgb), .35)); display: grid; place-items: center; margin-bottom: 16px; }
.pessoa-foto img { width: 100%; height: 100%; object-fit: cover; }
.estilo-estudio .pessoa-foto img { filter: grayscale(1); }
.pessoa-foto span { font: var(--peso-titulo) 52px var(--titulo); color: #fff; }
.pessoa h4 { font-size: calc(21px * var(--tam-titulo)); }
.pessoa p { color: var(--muted); font-size: 14.5px; }
.pessoa small { font-size: 13px; color: var(--c); font-weight: 600; }
@media (max-width: 960px) { .sobre { grid-template-columns: 1fr; gap: 44px; } .sobre-foto { width: min(380px, 90%); margin-inline: auto; } .equipe-titulo { margin-top: 60px; } }

/* processo */
.etapas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.etapa { padding: 28px 24px; border-radius: var(--raio); background: var(--card); border: 1px solid var(--linha); }
.etapa-num { display: block; font: var(--peso-titulo) calc(46px * var(--tam-titulo))/1 var(--titulo); color: var(--c); margin-bottom: 16px; }
.estilo-executivo .etapa-num { font-style: italic; }
.etapa h3 { font-size: calc(21px * var(--tam-titulo)); margin-bottom: 8px; }
.etapa p { color: var(--muted); font-size: 15px; }
@media (max-width: 960px) { .etapas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .etapas { grid-template-columns: 1fr; } }

/* portfólio */
.galeria { columns: 3 280px; column-gap: 14px; }
.galeria a { display: block; margin-bottom: 14px; break-inside: avoid; border-radius: var(--raio); overflow: hidden; }
.galeria img { width: 100%; height: auto; transition: transform .5s; }
.galeria a:hover img { transform: scale(1.03); }

/* depoimentos */
.depoimentos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.depo { margin: 0; background: var(--card); border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px; display: grid; gap: 12px; }
.depo svg { width: 28px; height: 28px; color: rgba(var(--c-rgb), .6); }
.depo blockquote { margin: 0; font-size: 16.5px; }
.depo figcaption { display: grid; font-size: 14.5px; }
.depo figcaption b { color: var(--ink); }
.depo figcaption span { color: var(--muted); font-size: 13.5px; }

/* perguntas */
.faq { border-top: 1px solid var(--linha); }
.faq details { border-bottom: 1px solid var(--linha); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 4px; display: flex; justify-content: space-between; gap: 20px; align-items: center; font-weight: 600; font-size: 18px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; color: var(--c); font: 300 30px/1 var(--corpo); transition: transform .25s; flex: none; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 4px 22px; color: var(--muted); }

/* chamada final */
.cta { text-align: center; padding: 88px 32px; border-radius: calc(var(--raio) * 1.4); background: var(--h-bg); color: var(--h-ink); border: 1px solid var(--h-linha); position: relative; overflow: hidden; }
.estilo-corporativo .cta, .estilo-moderno .cta, .estilo-casa .cta { background: var(--c); color: var(--c-texto); border: 0; }
.estilo-estudio .cta { background: var(--ink); color: #fff; }
.cta h2 { font-size: calc(clamp(34px, 4.2vw, 56px) * var(--tam-titulo)); max-width: 780px; margin: 0 auto 14px; }
.estilo-corporativo .cta h2 em, .estilo-moderno .cta h2 em, .estilo-casa .cta h2 em { color: inherit; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .5); text-underline-offset: .15em; }
.cta p { font-size: 18px; opacity: .9; margin: 0 auto 32px; max-width: 540px; }
.cta .btn { background: var(--c); color: var(--c-texto); }
.estilo-corporativo .cta .btn, .estilo-moderno .cta .btn, .estilo-casa .cta .btn { background: #fff; color: var(--c); }
.estilo-estudio .cta .btn { background: var(--a); color: #fff; }
.cta .btn:hover { transform: translateY(-2px); }

/* contato */
.contato { display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; }
.contato.sem-mapa { grid-template-columns: 1fr; max-width: 640px; }
.contato-lista { display: grid; gap: 26px; align-content: start; }
.item { display: flex; gap: 16px; }
.item > svg { flex: none; width: 24px; height: 24px; color: var(--c); margin-top: 3px; }
.item > div { flex: 1; min-width: 0; }
.item span { display: block; font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.item p, .item a { font-size: 17px; text-decoration: none; }
.item a { display: inline-block; padding: 8px 0; margin: -8px 0; }
.horarios { margin: 4px 0 0; display: grid; gap: 6px; max-width: 360px; }
.horarios div { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px dashed var(--linha); padding-bottom: 6px; }
.horarios dd { margin: 0; font-weight: 600; text-align: right; }
.mapa { border-radius: var(--raio); overflow: hidden; min-height: 380px; border: 1px solid var(--linha); background: var(--bg2); }
.mapa iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }
.estilo-estudio .mapa iframe { filter: grayscale(1); }
@media (max-width: 960px) { .contato { grid-template-columns: 1fr; } }

/* rodapé */
.rodape { padding: 52px 0 32px; font-size: 14.5px; background: var(--h-bg); color: var(--h-muted); border-top: 1px solid var(--h-linha); }
.estilo-estudio .rodape { background: var(--ink); color: #9A9A9A; }
.rodape .container { display: grid; gap: 22px; }
.rodape-topo { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; align-items: center; }
.rodape-marca strong { display: block; font: var(--peso-titulo) 24px var(--titulo); color: var(--h-ink); }
.estilo-estudio .rodape-marca strong { color: #fff; }
.redes { display: flex; gap: 10px; }
.redes a { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--h-linha); color: var(--h-ink); transition: border-color .2s, color .2s; }
.estilo-estudio .redes a { color: #fff; border-color: rgba(255, 255, 255, .2); }
.redes a:hover { border-color: var(--c); color: var(--c); }
.redes svg { width: 19px; height: 19px; }
.legal { font-size: 13.5px; }
.copy { border-top: 1px solid var(--h-linha); padding-top: 20px; font-size: 13px; }

/* botão flutuante */
.flutuante { position: fixed; right: 20px; bottom: 20px; z-index: 60; width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--c); color: var(--c-texto); box-shadow: 0 14px 32px -10px rgba(0, 0, 0, .4); transition: transform .2s; }
.flutuante:hover { transform: scale(1.06); }
.flutuante.whatsapp { background: #25D366; color: #fff; }
.flutuante svg { width: 28px; height: 28px; }

/* sem foto */
.monograma { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(160deg, rgba(var(--c-rgb), .45), rgba(var(--a-rgb), .45)); color: #fff; }
.monograma span { font: var(--peso-titulo) clamp(76px, 12vw, 140px)/1 var(--titulo); }
.estilo-executivo .monograma { background: linear-gradient(160deg, #1f3159, #0d1730); color: var(--c); }
.estilo-estudio .monograma { background: var(--bg2); color: var(--ink); }

/* aparecer ao rolar (só com JavaScript) */
.js .revelar { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.js .revelar.visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .revelar { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }

/* serifas com acentos altos: um pouco mais de respiro entre as linhas dos títulos */
.estilo-executivo h1, .estilo-executivo h2, .estilo-casa h1, .estilo-casa h2 { line-height: 1.16; }
