/* Página inicial do site (ADR-0054): escura e bege, como o site anterior, com o protótipo aprovado pelo proprietário.
   Sem estilo em linha (a política da pasta não deixa). */
@font-face { font-family: Inter; src: url(inter.woff2) format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Tenor Sans'; src: url(tenor-sans.woff2) format('woff2'); font-weight: 400; font-display: swap; }
:root {
  /* Escuro como o site atual: grafite quente, papel, bege da marca e taupe. Seções alternam escuro e claro. */
  --noite: #1F1C1B; --grafite: #2B2726; --grafite-2: #3A3534; --linha-esc: rgba(217,203,186,.16);
  --papel: #F7F5F2; --bege: #D9CBBA; --bege-2: #EDE5DB; --taupe: #8C8480; --texto: #2F2A29; --suave: #6E6662; --claro: #E8E1D8; --claro-2: #B9AEA6;
  --zap: #25D366;
  --f-tit: 'Tenor Sans', 'Optima', 'Gill Sans', sans-serif; --f-txt: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --max: 1060px; --raio: 18px; color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; background: var(--noite); color: var(--claro); font: 400 15px/1.7 var(--f-txt); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
svg { width: 20px; height: 20px; flex: none; }
svg.tr { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.in { max-width: var(--max); margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
h1, h2, h3 { font-family: var(--f-tit); font-weight: 400; letter-spacing: .02em; line-height: 1.12; margin: 0; text-wrap: balance; }
h2 { font-size: clamp(22px, 2.4vw, 30px); text-transform: uppercase; letter-spacing: .05em; }
.sobre { display: inline-flex; flex-wrap: wrap; max-width: 100%; align-items: center; gap: 8px 12px; margin: 0 0 12px; font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--bege); }
.sobre::before { content: ''; width: 28px; height: 1px; background: currentColor; }
.claro .sobre { color: var(--taupe); }
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 0 22px; border-radius: 999px; font: 600 13.5px/1 var(--f-txt); text-decoration: none; border: 1px solid transparent; transition: background .2s, transform .15s; }
.botao:hover { transform: translateY(-1px); }
.b-bege { background: var(--bege); color: var(--grafite); }
.b-bege:hover { background: #E6D6C1; }
.b-linha { border-color: rgba(217,203,186,.45); color: var(--claro); }
.b-linha:hover { background: rgba(217,203,186,.1); }
.b-escuro { background: var(--grafite-2); color: var(--papel); }
.b-zap { background: var(--zap); color: #fff; }
:focus-visible { outline: 2px solid var(--bege); outline-offset: 3px; }

/* Topo */
.topo { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: rgba(31,28,27,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha-esc); }
.topo .in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 64px; }
.topo img { height: 28px; width: auto; }
.menu { display: flex; gap: 24px; font-size: 13px; }
.menu a { text-decoration: none; color: var(--claro-2); }
.menu a:hover { color: #fff; }
.topo .botao { min-height: 38px; padding: 0 16px; font-size: 13px; }

/* Abertura */
.abre { position: relative; overflow: hidden; background: radial-gradient(70% 90% at 75% 40%, #4a4240 0%, var(--grafite) 45%, var(--noite) 100%); }
.abre-foto { position: relative; }
.abre-foto .deco-abre { position: absolute; right: -70px; top: 40px; width: 230px; max-width: none; margin: 0; opacity: .9; z-index: 0; filter: none; }
.abre .in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: end; gap: 32px; }
.abre-txt { padding-block: 64px 72px; }
.abre-txt .sobre { margin-bottom: 22px; }
.abre h1 { font-size: clamp(28px, 3.3vw, 42px); text-transform: uppercase; letter-spacing: .04em; color: #fff; }
.abre h1 em { font-style: normal; color: var(--bege); }
.lead { margin: 18px 0 26px; max-width: 52ch; font-size: 15px; color: var(--claro-2); }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.confianca { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 32px 0 0; padding: 18px 0 0; border-top: 1px solid var(--linha-esc); list-style: none; font-size: 12.5px; color: var(--claro-2); }
.confianca b { display: block; font: 400 19px/1.2 var(--f-tit); color: #fff; letter-spacing: .02em; }
.abre-foto img { position: relative; z-index: 1; width: 100%; max-width: 420px; margin-left: auto; filter: drop-shadow(0 30px 40px rgba(0,0,0,.35)); }

/* Na mídia: um palco grande, a fita de entrevistas embaixo e a faixa com os programas */
.midia { position: relative; overflow: hidden; padding-block: 80px 0; background: var(--noite); }
.padrao { position: absolute; inset: 0; background-image: none; background-size: 520px auto; opacity: .07; pointer-events: none; }
.midia .in { position: relative; }
.midia-cab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-bottom: 40px; }
.midia-cab p { max-width: 46ch; color: var(--claro-2); margin: 0; }
.palco { display: grid; gap: 12px; max-width: 860px; margin: 0 auto; }
.palco-video { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: #000; box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); }
.palco-video img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.palco-video::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(23,21,20,.75)); }
.palco-video:hover img { transform: scale(1.02); }
.palco-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border-radius: 50%; background: var(--bege); color: var(--grafite); display: grid; place-items: center; z-index: 1; box-shadow: 0 0 0 12px rgba(217,203,186,.18); transition: box-shadow .3s; }
.palco-video:hover .palco-play { box-shadow: 0 0 0 18px rgba(217,203,186,.14); }
.palco-play svg { width: 24px; height: 24px; margin-left: 3px; }
.palco-leg { position: absolute; left: 24px; bottom: 20px; z-index: 1; display: inline-flex; gap: 8px; align-items: center; font-size: 14px; font-weight: 600; color: #fff; }
.palco-leg svg { width: 16px; height: 16px; }
.fita { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.miniatura { padding: 0; border: 2px solid transparent; border-radius: 12px; overflow: hidden; background: #000; cursor: pointer; aspect-ratio: 16 / 9; opacity: .55; transition: opacity .2s, border-color .2s; }
.miniatura img { width: 100%; height: 100%; object-fit: cover; }
.miniatura:hover { opacity: .9; }
.miniatura.ativa { opacity: 1; border-color: var(--bege); }
.faixa-midia { margin-top: 56px; padding-block: 22px; border-top: 1px solid var(--linha-esc); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.faixa-trilho { display: flex; width: max-content; animation: corre 50s linear infinite; }
.faixa-trilho span { display: inline-flex; align-items: center; gap: 28px; padding-right: 28px; font: 400 15px/1 var(--f-tit); letter-spacing: .16em; text-transform: uppercase; color: var(--bege); white-space: nowrap; }
.faixa-trilho span::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--taupe); }
@keyframes corre { to { transform: translateX(-50%); } }
.deco { position: absolute; pointer-events: none; height: auto; }
.deco-midia { right: -160px; top: 30px; width: 380px; opacity: .35; }

/* Áreas (claro) */
.claro { background: var(--papel); color: var(--texto); }
.claro h2, .claro h3 { color: var(--grafite-2); }
.areas { padding-block: 80px; }
.areas-cab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-bottom: 48px; }
.areas-cab p { margin: 0; color: var(--suave); }
.grade-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.area { display: flex; flex-direction: column; gap: 10px; padding: 20px 18px; border-radius: var(--raio); background: #fff; border: 1px solid #E2DBD4; text-decoration: none; color: inherit; transition: border-color .2s, transform .2s; }
.area h3 { font-size: 15.5px; line-height: 1.35; letter-spacing: .03em; }
.area p { margin: 0; font-size: 13px; color: var(--suave); flex: 1; }
.area .ir { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: var(--grafite-2); }
.area .ir svg { width: 16px; height: 16px; transition: transform .2s; }
.area:hover { border-color: var(--taupe); transform: translateY(-2px); }
.area:hover .ir svg { transform: translateX(3px); }
.area.destaque { background: var(--grafite-2); border-color: var(--grafite-2); color: var(--claro); }
.area.destaque h3 { color: #fff; }
.area.destaque p { color: var(--claro-2); }
.area.destaque .ir { color: var(--bege); }
.area .selo { align-self: flex-start; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bege); border: 1px solid rgba(217,203,186,.4); border-radius: 999px; padding: 4px 10px; }

/* Sobre */
.quem { position: relative; overflow: hidden; padding-block: 88px 24px; background: var(--grafite); }
.quem .in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: center; }
.quem .foto-quem { position: relative; max-width: 360px; }
.quem .foto-quem > img { width: 100%; }
.quem .el-l { position: absolute; left: -70px; bottom: -40px; width: 170px; z-index: 0; }
.quem .el-linha { position: absolute; right: -60px; top: -34px; width: 260px; z-index: 2; opacity: .8; }
.quem p { color: var(--claro-2); max-width: 58ch; }
.quem blockquote { margin: 22px 0 0; padding: 0 0 0 18px; border-left: 2px solid var(--bege); font: 400 18px/1.4 var(--f-tit); color: #fff; }
.numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.numeros div { padding: 18px 0 0; border-top: 1px solid var(--linha-esc); }
.numeros b { display: block; font: 400 20px/1.1 var(--f-tit); color: var(--bege); margin-bottom: 4px; }
.numeros span { font-size: 12px; color: var(--claro-2); }

/* Depoimentos */
.depo { position: relative; overflow: hidden; padding-block: 80px; background: var(--noite); }
.depo .in { position: relative; }
.depo h2 { margin-bottom: 32px; }
.grade-depo { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: start; }
.cartao-depo { margin: 0; padding: 16px; border-radius: var(--raio); background: var(--grafite); border: 1px solid var(--linha-esc); }
.estrelas { color: #E3B341; letter-spacing: 1px; font-size: 12px; }
.cartao-depo p { margin: 8px 0 12px; font-size: 12px; line-height: 1.6; color: var(--claro-2); display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.cartao-depo.aberto p { -webkit-line-clamp: unset; }
.cartao-depo figcaption { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: #fff; }
.cartao-depo button { background: none; border: 0; color: var(--bege); font: 600 11.5px var(--f-txt); cursor: pointer; padding: 4px 0; }
.nota-google { margin-top: 26px; font-size: 13px; color: var(--taupe); }

/* E-books (claro) */
.ebooks { padding-block: 80px; }
.ebooks h2 { margin-bottom: 14px; }
.ebooks > .in > p { color: var(--suave); max-width: 60ch; margin: 0 0 40px; }
.grade-ebooks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ebook { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 22px; align-items: center; padding: 22px; border-radius: 22px; background: var(--bege-2); text-decoration: none; color: inherit; transition: transform .2s; }
.ebook:hover { transform: translateY(-3px); }
.ebook img { width: 100%; filter: drop-shadow(0 18px 22px rgba(40,30,25,.3)); }
.ebook h3 { font-size: 18px; margin: 4px 0 8px; letter-spacing: .03em; }
.ebook p { margin: 0 0 12px; font-size: 13.5px; color: var(--suave); }
.ebook .ir { display: inline-flex; gap: 8px; align-items: center; font-weight: 600; font-size: 13px; color: var(--grafite-2); }

/* Blog (claro, continua) */
.blog { padding-block: 0 24px; }
.blog-cab { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; padding-top: 72px; border-top: 1px solid #E2DBD4; }
.grade-blog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.post { display: flex; flex-direction: column; text-decoration: none; color: inherit; border-radius: var(--raio); overflow: hidden; background: #fff; border: 1px solid #E2DBD4; }
.post img { width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; }
.post div { padding: 18px 18px 22px; display: flex; flex-direction: column; gap: 10px; }
.post small { font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--taupe); }
.post h3 { font: 600 15.5px/1.35 var(--f-txt); color: var(--grafite-2); letter-spacing: -.01em; }
.post p { margin: 0; font-size: 13px; color: var(--suave); }

/* Onde atendemos */
.onde { position: relative; padding-block: 80px 0; background: var(--grafite); overflow: hidden; }
.onde .in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.onde .mapa img { width: 100%; max-width: 400px; }
.onde p { color: var(--claro-2); }
.endereco { display: flex; gap: 12px; margin: 24px 0 28px; padding: 18px 20px; border-radius: 14px; background: rgba(247,245,242,.05); border: 1px solid var(--linha-esc); font-size: 14.5px; }
.endereco svg { color: var(--bege); margin-top: 3px; }
.fotos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 72px; }
.fotos img { aspect-ratio: 3 / 4; }
.fotos img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; filter: saturate(.9); }

/* Contato */
.contato { position: relative; overflow: hidden; padding-block: 80px; background: var(--noite); }
.contato .in { position: relative; }
.el-contato { position: absolute; left: -90px; bottom: -60px; width: 300px; opacity: .9; }
.contato .in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.contato-txt p { color: var(--claro-2); max-width: 46ch; }
.canais { display: grid; gap: 10px; margin-top: 28px; }
.canal { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 14px; border: 1px solid var(--linha-esc); text-decoration: none; font-size: 15px; }
.canal svg { color: var(--bege); }
.form { position: relative; z-index: 1; padding: 26px; border-radius: 22px; background: var(--papel); color: var(--texto); display: grid; gap: 16px; }
.form h3 { font: 400 20px/1.2 var(--f-tit); letter-spacing: .04em; color: var(--grafite-2); text-transform: uppercase; }
.form > p { margin: -6px 0 4px; font-size: 14.5px; color: var(--suave); }
.campo { display: grid; gap: 6px; }
.campo label { font-size: 12.5px; font-weight: 600; color: var(--grafite-2); }
.campo input, .campo select, .campo textarea { width: 100%; min-height: 42px; padding: 10px 12px; border-radius: 10px; border: 1px solid #E2DBD4; background: #fff; font: 400 14px var(--f-txt); color: var(--texto); }
.campo textarea { min-height: 96px; resize: vertical; }
.duas-col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.seguro { padding: 16px; border-radius: 14px; background: var(--bege-2); display: grid; gap: 12px; }
.seguro p { margin: 0; font-size: 13.5px; color: var(--suave); display: flex; gap: 8px; align-items: center; }
.aceite { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--suave); }
.aceite input { margin-top: 3px; }
.form .botao { width: 100%; }
.erro { font-size: 12px; color: #A33A2A; }
.enviado { padding: 14px; border-radius: 12px; background: var(--bege-2); font-size: 14px; color: var(--grafite-2); }

/* Rodapé */
.rodape { background: #171514; padding-block: 28px 28px; font-size: 13px; color: var(--claro-2); }
.rodape .in { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 36px; }
.rodape img { height: 32px; width: auto; margin-bottom: 16px; }
.rodape h4 { margin: 0 0 12px; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--bege); font-weight: 600; }
.rodape a { display: block; text-decoration: none; padding: 3px 0; }
.rodape a:hover { color: #fff; }
.legal { max-width: var(--max); margin: 0 auto; padding: 22px max(20px, env(safe-area-inset-right, 0px)) 0 max(20px, env(safe-area-inset-left, 0px)); padding-top: 22px; border-top: 1px solid rgba(232,225,216,.14); font-size: 12.5px; color: var(--taupe); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.zap-flutuante { position: fixed; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); width: 52px; height: 52px; border-radius: 50%; background: var(--zap); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px rgba(0,0,0,.35); z-index: 30; }
.zap-flutuante svg { width: 28px; height: 28px; }


/* Topo como o site atual: coluna escura com o logo, foto grande, texto à direita e a forma em L no canto */
.abre { position: relative; overflow: hidden; min-height: 640px; background: radial-gradient(60% 80% at 70% 30%, #5a524f 0%, #3b3534 45%, #2b2726 100%); }
.abre-coluna { position: absolute; left: 0; top: 0; bottom: 0; width: 23%; background: #241f1e; display: flex; justify-content: center; padding-top: 110px; }
.abre-coluna img { width: 160px; height: auto; align-self: flex-start; }
.abre-forma { position: absolute; right: -50px; top: -150px; width: 300px; opacity: .55; pointer-events: none; }
.abre-menu { position: absolute; z-index: 3; top: 34px; left: 31%; right: 5%; display: flex; align-items: center; gap: 30px; font-size: 14px; }
.abre-menu > a { color: var(--claro); text-decoration: none; }
.abre-menu > a:hover { color: #fff; }
.abre-menu .redes { margin-left: auto; display: flex; gap: 12px; }
.abre-menu .redes a { color: var(--claro); }
.abre-menu .redes svg { width: 22px; height: 22px; }
.logo-cel { display: none; }
.abre .abre-foto { position: absolute; z-index: 1; bottom: 0; left: 16%; height: 93%; width: auto; max-width: none; filter: drop-shadow(0 30px 40px rgba(0,0,0,.35)); }
.abre-txt { position: relative; z-index: 2; margin-left: 49%; padding: 200px 6% 96px 0; max-width: 680px; }
.abre h1 { font-size: clamp(26px, 2.6vw, 38px); line-height: 1.25; letter-spacing: .05em; }
.abre-txt .lead { font-size: 14.5px; max-width: 48ch; }
.b-quad { border-radius: 3px; min-height: 46px; padding: 0 34px; background: rgba(36,31,30,.75); border: 1px solid rgba(217,203,186,.22); color: var(--claro); font-weight: 400; font-size: 13.5px; }
.b-quad:hover { background: rgba(36,31,30,.95); }
/* Áreas: acordeão, como o site atual, agora com link para cada página */
.areas { padding-block: 80px; background: #332e2d; }
.estreito { max-width: 820px; }
.centro { text-align: center; }
.areas h2 { margin-bottom: 40px; }
.acordeao { background: #2b2726; }
.acordeao details { border-bottom: 1px solid rgba(217,203,186,.08); }
.acordeao summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 13px 16px; font-size: 14.5px; color: #fff; }
.acordeao summary::-webkit-details-marker { display: none; }
.acordeao summary::before { content: '+'; width: 14px; font-weight: 600; color: #fff; }
.acordeao details[open] summary { background: #241f1e; }
.acordeao details[open] summary::before { content: '–'; }
.acordeao details > div { padding: 16px 20px 22px 42px; background: #332e2d; }
.acordeao details > div p { margin: 0 0 12px; font-size: 14px; color: var(--claro-2); text-align: justify; }
.acordeao .ir { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--bege); text-decoration: none; }
.acordeao .ir svg { width: 16px; height: 16px; }
/* Sobre: foto grande, texto justificado */
.quem .in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; }
.quem .foto-quem { max-width: 460px; justify-self: end; }
.quem p { text-align: justify; font-size: 14.5px; }
.quem h2 { margin-bottom: 20px; }
@media (max-width: 900px) {
  .abre { min-height: 0; }
  .abre-coluna, .abre-forma, .abre-menu > a { display: none; }
  .abre-menu { position: relative; top: 0; left: 0; right: 0; padding: 18px 20px; }
  .logo-cel { display: block; height: 30px; width: auto; }
  .abre-txt { margin: 0; padding: 28px 20px 0; max-width: none; }
  .abre .abre-foto { position: relative; left: auto; height: auto; width: 82%; max-width: 380px; margin: 24px auto 0; }
  .quem .in { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .quem .foto-quem { justify-self: center; max-width: 340px; }
}

/* Topo fixo com a logo colorida maior; abertura com texto à esquerda e foto à direita */
.topo .in { min-height: 76px; }
.topo img { height: 44px; width: auto; }
.abre { position: relative; overflow: hidden; min-height: 0; background: radial-gradient(70% 90% at 75% 40%, #4a4240 0%, var(--grafite) 45%, var(--noite) 100%); }
.abre .in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: end; gap: 32px; }
.abre-txt { padding-block: 72px 80px; margin: 0; max-width: none; }
.abre .abre-foto { position: relative; align-self: end; display: flex; align-items: flex-end; }
.abre .abre-foto img { display: block; margin-bottom: 0; }
/* A foto termina na base da seção, e um degradê leva ao fundo da seção seguinte: nada de foto "flutuando". */
.abre::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: linear-gradient(180deg, rgba(31,28,27,0), var(--noite)); z-index: 2; pointer-events: none; }
.abre .abre-txt { position: relative; z-index: 3; }
.abre .abre-foto img { width: 128%; max-width: 600px; margin-left: -14%; filter: drop-shadow(0 30px 40px rgba(0,0,0,.35)); }
.abre-forma { position: absolute; right: -60px; top: -170px; width: 260px; opacity: .35; pointer-events: none; }
.abre h1 { font-size: clamp(28px, 3vw, 40px); line-height: 1.2; letter-spacing: .05em; }
/* Imprensa, profissionais e estudantes */
.publicos { padding-block: 80px; background: var(--grafite); }
.publicos-cab { margin-bottom: 36px; }
.grade-publicos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--linha-esc); border: 1px solid var(--linha-esc); }
.publico { display: flex; flex-direction: column; gap: 12px; padding: 30px 26px; background: var(--grafite); }
.publico-n { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--bege); }
.publico h3 { font-size: 18px; line-height: 1.3; color: #fff; letter-spacing: .03em; }
.publico p { margin: 0; font-size: 13.5px; color: var(--claro-2); }
.publico ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 13px; color: var(--claro); flex: 1; }
.publico li::before { content: ''; display: inline-block; width: 14px; height: 1px; background: var(--bege); vertical-align: middle; margin-right: 10px; }
.publico .ir { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--bege); text-decoration: none; }
.publico .ir svg { width: 16px; height: 16px; }
/* Onde estamos: cartão do Google Maps */
.onde .in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.mapa-google { position: relative; display: block; border-radius: var(--raio); overflow: hidden; aspect-ratio: 4 / 3; }
.mapa-google img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.mapa-google:hover img { transform: scale(1.03); }
.mapa-selo { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; gap: 12px; align-items: center; padding: 14px 16px; border-radius: 12px; background: rgba(247,245,242,.95); color: var(--grafite-2); font-size: 12.5px; text-decoration: none; }
.mapa-selo b { display: block; font-size: 14px; }
.mapa-selo svg { color: var(--grafite-2); }
@media (max-width: 900px) {
  .abre .in, .onde .in { grid-template-columns: minmax(0, 1fr); }
  .abre-txt { padding-block: 44px 0; }
  .abre .abre-foto img { width: 100%; max-width: 380px; margin: 0 auto; }
  .abre-forma { display: none; }
  .grade-publicos { grid-template-columns: minmax(0, 1fr); }
  .topo img { height: 36px; }
}
@media (max-width: 1020px) {
  .menu { display: none; }
  .grade-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grade-depo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rodape .in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .abre .in, .areas-cab, .quem .in, .onde .in, .contato .in, .grade-ebooks { grid-template-columns: minmax(0, 1fr); }
  .abre-txt { padding-block: 48px 0; }
  .abre-foto img { max-width: 250px; margin: 0 auto; }
  .abre-foto .deco-abre { width: 140px; right: 0; top: 10px; }
  .grade-blog { grid-template-columns: minmax(0, 1fr); }
  .grade-depo { grid-template-columns: minmax(0, 1fr); }
  .fotos { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 56px; }
  .midia, .areas, .quem, .depo, .ebooks, .contato { padding-block: 60px; }
  .midia { padding-bottom: 0; }
  .midia-cab { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .fita { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quem .el-l { left: -40px; width: 120px; }
  .quem .el-linha { right: -30px; width: 180px; }
  .deco-midia, .el-contato { display: none; }
  .onde { padding-top: 72px; }
  .blog { padding-bottom: 72px; }
  .blog-cab { padding-top: 64px; }
  .numeros { grid-template-columns: minmax(0, 1fr); }
  .topo .botao span { display: none; }
  .topo .botao { width: 44px; padding: 0; }
}
@media (max-width: 520px) {
  .grade-areas { grid-template-columns: minmax(0, 1fr); }
  .ebook { grid-template-columns: 110px minmax(0, 1fr); gap: 18px; padding: 20px; }
  .duas-col, .rodape .in { grid-template-columns: minmax(0, 1fr); }
  .form { padding: 24px 18px; }
  .logos img { height: 26px; }
}

/* Degradê em cada junção de seções (pedido do proprietário): a cor de uma etapa se dissolve na da seguinte. */
.areas { background: linear-gradient(180deg, var(--noite) 0, #332e2d 180px); }
.quem { background: linear-gradient(180deg, #332e2d 0, var(--grafite) 180px); }
.onde { padding-top: 96px; background: var(--grafite); }
.contato { background: linear-gradient(180deg, var(--grafite) 0, var(--noite) 180px); }
.rodape { background: linear-gradient(180deg, var(--noite) 0, #171514 120px); }
@media (max-width: 780px) { .brasil { padding-top: 64px; } }

.mapa-google { background: #E9E6E1; }
.mapa-desenho { position: absolute; inset: 0; width: 100%; height: 100%; }
.mapa-pino { position: absolute; left: 50%; top: 44%; transform: translate(-50%, -100%); width: 46px; height: 46px; border-radius: 50% 50% 50% 0; rotate: -45deg; background: #C5221F; display: grid; place-items: center; box-shadow: 0 6px 14px rgba(0,0,0,.3); }
.mapa-pino svg { rotate: 45deg; color: #fff; width: 22px; height: 22px; }
.mapa-abrir { position: absolute; left: 14px; top: 14px; padding: 9px 14px; background: #fff; color: #1a73e8; font-size: 13.5px; font-weight: 600; text-decoration: none; border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.25); }

/* Fotos do escritório: carrossel que gira sozinho e para quando o mouse passa por cima. */
.onde .fotos { display: block; overflow: hidden; margin-top: 72px; }
.fotos-trilho { display: flex; gap: 6px; width: max-content; animation: corre 45s linear infinite; }
.fotos:hover .fotos-trilho { animation-play-state: paused; }
.fotos-trilho img { width: 280px; height: 380px; aspect-ratio: auto; object-fit: cover; flex: none; }
@media (max-width: 780px) { .fotos-trilho img { width: 200px; height: 280px; } .onde .fotos { margin-top: 48px; } }

/* Atuação nacional: o mapa do Brasil do site atual sobre a fachada do edifício, escurecida */
.brasil { position: relative; overflow: hidden; padding-block: 96px; background: var(--grafite); }
.brasil::before { content: ''; position: absolute; inset: 0; background:
  linear-gradient(28deg, transparent 49.6%, rgba(217,203,186,.14) 49.8%, rgba(217,203,186,.14) 50.6%, transparent 50.8%),
  repeating-linear-gradient(-62deg, transparent 0 118px, rgba(232,225,216,.06) 118px 121px),
  repeating-linear-gradient(28deg, transparent 0 86px, rgba(232,225,216,.045) 86px 88px),
  radial-gradient(60% 80% at 30% 50%, #3d3735 0%, #2b2726 70%); }
.brasil::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,39,38,0) 40%, rgba(43,39,38,.6) 75%); }
.brasil .in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.brasil-mapa img { width: 100%; max-width: 520px; filter: drop-shadow(0 0 22px rgba(247,239,228,.25)); }
.brasil h2 { color: #fff; margin-bottom: 20px; }
.brasil p { color: var(--claro); text-align: justify; font-size: 15px; }
.brasil .acoes { margin-top: 12px; }
.brasil .b-linha svg { width: 17px; height: 17px; }
@media (max-width: 780px) { .brasil .in { grid-template-columns: minmax(0, 1fr); gap: 28px; } .brasil { padding-block: 64px; } .brasil-mapa img { max-width: 340px; margin: 0 auto; } }

/* WhatsApp e Instagram no topo, na área mais clara ao lado do ombro, como no site atual */
.abre-redes { position: absolute; z-index: 3; right: -40px; top: 44%; display: flex; gap: 22px; }
.abre-redes a { color: #fff; opacity: .9; transition: opacity .2s, transform .2s; }
.abre-redes a:hover { opacity: 1; transform: translateY(-2px); }
.abre-redes svg { width: 30px; height: 30px; }
@media (max-width: 900px) { .abre-redes { right: 8px; top: auto; bottom: 30%; flex-direction: column; gap: 16px; } .abre-redes svg { width: 26px; height: 26px; } }

/* Onde estamos: uma faixa de largura total com o mapa do Google (em cinza, para combinar) e o cartão do endereço por cima */
.onde { padding-top: 0 !important; background: var(--grafite); }
.mapa-faixa { position: relative; height: 460px; overflow: hidden; }
.mapa-fundo { position: absolute; inset: 0; background:
  linear-gradient(28deg, transparent 49.6%, rgba(217,203,186,.16) 49.8%, rgba(217,203,186,.16) 50.6%, transparent 50.8%),
  repeating-linear-gradient(-62deg, transparent 0 118px, rgba(232,225,216,.07) 118px 121px),
  repeating-linear-gradient(28deg, transparent 0 86px, rgba(232,225,216,.05) 86px 88px),
  radial-gradient(60% 80% at 68% 50%, #3d3735 0%, #2b2726 70%); }
.mapa-alfinete { position: absolute; z-index: 2; left: 68%; top: 50%; transform: translate(-50%, -100%); width: 44px; height: 44px; border-radius: 50% 50% 50% 0; rotate: -45deg; background: var(--bege); display: grid; place-items: center; box-shadow: 0 0 0 10px rgba(217,203,186,.12), 0 10px 20px rgba(0,0,0,.4); }
.mapa-alfinete svg { rotate: 45deg; color: var(--grafite-2); width: 20px; height: 20px; }
.mapa-faixa::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--grafite) 0, rgba(43,39,38,0) 18%, rgba(43,39,38,0) 82%, var(--grafite) 100%); pointer-events: none; }
.mapa-aviso { position: absolute; right: 24px; bottom: 28px; z-index: 2; font-size: 11.5px; letter-spacing: .04em; color: rgba(232,225,216,.55); }
.mapa-faixa .in { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; }
.cartao-end { width: min(400px, 100%); padding: 30px 30px 26px; background: var(--papel); color: var(--texto); border-radius: 4px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.55); }
.cartao-end .sobre { color: var(--taupe); }
.cartao-end h3 { font-size: 20px; color: var(--grafite-2); margin-bottom: 12px; letter-spacing: .04em; }
.cartao-end p:not(.sobre) { margin: 0 0 22px; font-size: 13.5px; line-height: 1.75; color: var(--suave); }
.cartao-acoes { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid #E2DBD4; }
.cartao-acoes .botao { min-height: 42px; padding: 0 20px; font-size: 13px; }
.cartao-acoes .botao svg { width: 17px; height: 17px; }
.link-fino { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--grafite-2); text-decoration: none; }
.link-fino svg { width: 15px; height: 15px; }
.onde .fotos { margin-top: 0; }
@media (max-width: 780px) { .mapa-faixa { height: auto; padding-block: 200px 40px; } .mapa-aviso { top: 16px; bottom: auto; left: 20px; right: 20px; } }


/* Sobre → E-books (versão aprovada) */
.claro.ebooks { padding-top: 130px; background: linear-gradient(180deg, #2b2726 0px, #2b2726 7px, #2c2827 14px, #2e2a29 21px, #322e2d 28px, #383433 35px, #403c3b 42px, #4a4645 50px, #565251 57px, #63605e 64px, #726e6d 71px, #817e7c 78px, #918e8c 85px, #a19e9c 92px, #b0aeab 99px, #bfbcba 106px, #cccac7 113px, #d8d6d3 120px, #e2e0dd 128px, #eae8e5 135px, #f0eeeb 142px, #f4f2ef 149px, #f6f4f1 156px, #f7f5f2 163px, #f7f5f2 170px); }
/* Blog → Atuação nacional: o fundo vai do claro ao marrom e as linhas das ruas só aparecem depois, aos poucos */
.brasil { padding-top: 140px; background: linear-gradient(180deg, #f7f5f2 0px, #f7f5f2 7px, #f6f4f1 14px, #f4f2ef 21px, #f0eeeb 28px, #eae8e5 35px, #e2e0dd 42px, #d8d6d3 50px, #cccac7 57px, #bfbcba 64px, #b0aeab 71px, #a19e9c 78px, #918e8c 85px, #817e7c 92px, #726e6d 99px, #63605e 106px, #565251 113px, #4a4645 120px, #403c3b 128px, #383433 135px, #322e2d 142px, #2e2a29 149px, #2c2827 156px, #2b2726 163px, #2b2726 170px) !important; }
.brasil::before, .brasil::after { -webkit-mask-image: linear-gradient(180deg, transparent 0, transparent 200px, #000 460px); mask-image: linear-gradient(180deg, transparent 0, transparent 140px, #000 360px); }
@media (max-width: 780px) { .claro.ebooks { padding-top: 120px; } .brasil { padding-top: 120px; } }

/* Na mídia, refinado: palco menor e sóbrio, play discreto, fita em preto e branco que ganha cor na entrevista escolhida */
.palco { max-width: 820px; gap: 14px; }
.palco-video { border-radius: 10px; border: 1px solid rgba(232,225,216,.12); box-shadow: 0 40px 80px -50px rgba(0,0,0,.9); }
.palco-video img { filter: saturate(.85); }
.palco-video::after { background: linear-gradient(180deg, rgba(23,21,20,.15), rgba(23,21,20,.35)); }
.palco-play { width: 58px; height: 58px; background: rgba(247,245,242,.14); color: #fff; border: 1px solid rgba(247,245,242,.55); box-shadow: none; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background .25s, transform .25s; }
.palco-video:hover .palco-play { background: rgba(247,245,242,.9); color: var(--grafite); box-shadow: none; transform: translate(-50%, -50%) scale(1.05); }
.palco-play svg { width: 20px; height: 20px; }
.fita { gap: 10px; }
.miniatura { position: relative; border: 0; border-radius: 6px; opacity: 1; overflow: visible; background: transparent; }
.miniatura img { border-radius: 6px; filter: grayscale(1) brightness(.6); transition: filter .3s; }
.miniatura:hover img { filter: grayscale(.3) brightness(.85); }
.miniatura.ativa img { filter: none; }
.miniatura::after { content: ''; position: absolute; left: 30%; right: 30%; bottom: -8px; height: 2px; border-radius: 2px; background: var(--bege); opacity: 0; transition: opacity .3s, left .3s, right .3s; }
.miniatura.ativa::after { opacity: 1; left: 10%; right: 10%; }
.midia-cab { margin-bottom: 44px; }

/* Todos os botões de contato pulsam: um anel suave que se expande e some, sem mexer no botão */
.b-zap, .zap-flutuante, a.botao[href="#contato"], .form button[type="submit"] { animation: pulsa 2.4s ease-out infinite; }
.b-zap, .zap-flutuante { --anel: 37, 211, 102; }
a.botao[href="#contato"] { --anel: 217, 203, 186; }
.form button[type="submit"] { --anel: 58, 53, 52; }
@keyframes pulsa { 0% { box-shadow: 0 0 0 0 rgba(var(--anel), .55); } 70% { box-shadow: 0 0 0 12px rgba(var(--anel), 0); } 100% { box-shadow: 0 0 0 0 rgba(var(--anel), 0); } }
.zap-flutuante { animation-name: pulsa-flutuante; }
@keyframes pulsa-flutuante { 0% { box-shadow: 0 10px 24px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,.6); } 70% { box-shadow: 0 10px 24px rgba(0,0,0,.35), 0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow: 0 10px 24px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,0); } }

/* Fita de entrevistas com rolagem lateral e setas transparentes nas pontas */
.palco-nome { margin: 2px 0 0; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--bege); }
.fita-moldura { position: relative; }
.fita { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 5); grid-template-columns: none; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 12px; }
.fita::-webkit-scrollbar { display: none; }
.miniatura { scroll-snap-align: start; aspect-ratio: 16 / 9; }
.miniatura span { position: absolute; left: 6px; right: 6px; bottom: 5px; font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.9); text-align: left; pointer-events: none; }
.fita-seta { position: absolute; top: calc(50% - 6px); transform: translateY(-50%); z-index: 2; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(247,245,242,.35); background: rgba(31,28,27,.55); color: #fff; font: 300 24px/1 var(--f-txt); display: grid; place-items: center; cursor: pointer; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background .2s, opacity .2s; }
.fita-seta:hover { background: rgba(31,28,27,.85); }
.fita-ant { left: -12px; } .fita-prox { right: -12px; }
.fita-seta[hidden] { display: none; }
@media (max-width: 780px) { .fita { grid-auto-columns: 40%; } .fita-ant { left: -4px; } .fita-prox { right: -4px; } }

/* Formulário com leve transparência (vidro fosco) sobre o fundo escuro */
.form { background: rgba(247,245,242,.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(247,245,242,.25); }
.seguro { background: rgba(237,229,219,.8); }

/* Menu: risca bege que cresce embaixo do item ao passar o mouse; o item da seção em que a pessoa está fica marcado */
.menu a { position: relative; padding-block: 6px; }
.menu a::after { content: ''; position: absolute; left: 50%; right: 50%; bottom: 0; height: 1px; background: var(--bege); transition: left .25s ease, right .25s ease; }
.menu a:hover::after, .menu a:focus-visible::after, .menu a.atual::after { left: 0; right: 0; }
.menu a.atual { color: #fff; }

.acordeao summary::before { display: none; }
.acordeao summary { gap: 16px; padding: 15px 18px; }
.acordeao summary .num { flex: none; width: 26px; font-size: 12px; letter-spacing: .08em; color: var(--bege); font-variant-numeric: tabular-nums; }
.acordeao summary::after { content: '+'; margin-left: auto; font-size: 18px; font-weight: 300; color: var(--claro-2); transition: transform .25s; }
.acordeao details[open] summary::after { transform: rotate(45deg); }
.acordeao details > div { padding: 14px 24px 22px 60px; }
.acordeao details > div p { text-align: justify; hyphens: auto; line-height: 1.75; }
@media (max-width: 600px) { .acordeao details > div { padding: 12px 18px 20px 18px; } .acordeao summary { font-size: 14px; } }

/* Cartões do blog: "Ler artigo" no pé e leve elevação ao passar o mouse */
.post { transition: transform .25s, box-shadow .25s, border-color .25s; }
.post div { flex: 1; }
.post p { flex: 1; }
.post .ler { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding-top: 14px; border-top: 1px solid #ECE6DF; font-size: 13px; font-weight: 600; color: var(--grafite-2); }
.post .ler svg { width: 16px; height: 16px; transition: transform .25s; }
.post:hover { transform: translateY(-3px); box-shadow: 0 24px 40px -24px rgba(58,53,52,.35); border-color: #D9CBBA; }
.post:hover .ler svg { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } .faixa-trilho { animation: none; flex-wrap: wrap; width: auto; } .fotos-trilho { animation: none; } .b-zap, .zap-flutuante, a.botao, .form button, .canal { animation: none !important; } .fotos { overflow-x: auto; } }

/* Site de verdade: o formulário é o mesmo das landing pages (mesma rota, mesmas proteções), com o visual da página */
.pular { position: absolute; left: -9999px; top: 0; z-index: 100; padding: 10px 16px; background: var(--bege); color: var(--grafite); border-radius: 0 0 10px 0; }
.pular:focus { left: 0; }
.palco-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
div.palco-video::after { display: none; }
.form-sobre { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--taupe); }
.form-titulo { margin: -8px 0 0; font: 400 20px/1.2 var(--f-tit); letter-spacing: .04em; color: var(--grafite-2); text-transform: uppercase; }
.form .form-texto { margin: -6px 0 4px; font-size: 14.5px; color: var(--suave); }
.form-erro { margin: 0; padding: 12px 14px; border-radius: 10px; background: #F6E3DF; color: #8A2E20; font-size: 14px; }
.form-erro[hidden], .armadilha { display: none; }
.campo > span { font-size: 12.5px; font-weight: 600; color: var(--grafite-2); }
.campo small { font-weight: 400; color: var(--taupe); }
.campo [aria-invalid="true"] { border-color: #A33A2A; }
.seguro .seguro-titulo { color: var(--grafite-2); font-weight: 600; }
.seguro .seguro-titulo svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.seguro .seguro-texto { display: block; }
.aceite a { color: var(--grafite-2); }
.form .botao-vermelho { background: var(--grafite-2); color: var(--papel); border: 0; cursor: pointer; min-height: 48px; }
.form .botao-vermelho:disabled { opacity: .7; cursor: wait; }
.form .botao-vermelho svg { fill: none; stroke: currentColor; stroke-width: 1.6; }
.form-sigilo { margin: 0; display: flex; gap: 8px; align-items: center; justify-content: center; font-size: 12.5px; color: var(--suave); }
.form-sigilo svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.obrigado { min-height: 70vh; display: grid; align-items: center; padding: 140px 0 80px; }
.obrigado-in { max-width: 640px; display: grid; gap: 14px; }
.obrigado h1 { font-size: clamp(26px, 3vw, 38px); text-transform: uppercase; color: #fff; }
.obrigado p { color: var(--claro-2); margin: 0; }
.obrigado .acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.form .form-sobre { display: none; }
.form .form-sigilo { margin: 0; font-size: 12.5px; }
/* Página de e-book novo (feita pela tela Site) */
.ebook-lp { padding-top: 130px; }
.ebook-lp h1 { font-size: clamp(26px, 3vw, 38px); text-transform: uppercase; color: #fff; margin: 0 0 14px; }
.ebook-capa { width: min(320px, 80%); margin-top: 26px; filter: drop-shadow(0 30px 40px rgba(0,0,0,.45)); }
/* Página de anúncio nova (feita pela tela Site) */
.lp-nova h1 em { font-style: normal; color: var(--bege); }
.lp-pontos { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.lp-pontos li { display: flex; gap: 10px; align-items: flex-start; color: var(--claro); }
.lp-pontos svg { width: 18px; height: 18px; margin-top: 4px; color: var(--bege); }
.lp-foto { width: 100%; max-width: 520px; margin-top: 26px; border-radius: 18px; }
/* Canais de contato: ao passar o mouse, o mesmo efeito do botão "Conhecer áreas de atuação" (pedido do proprietário) */
.canal { transition: background .2s, border-color .2s; }
.canal:hover, .canal:focus-visible { background: rgba(217,203,186,.1); border-color: rgba(217,203,186,.45); }
/* Menu no celular: botão de três linhas (pedido do proprietário) que abre as seções embaixo do topo */
.topo .in { position: relative; }
.topo-acoes { display: flex; align-items: center; gap: 10px; }
.menu-botao { display: none; width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(217,203,186,.35); background: transparent; cursor: pointer; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.menu-botao span { display: block; width: 20px; height: 1.6px; background: var(--claro); border-radius: 2px; transition: transform .25s, opacity .2s; }
.menu-botao.aberto span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
.menu-botao.aberto span:nth-child(2) { opacity: 0; }
.menu-botao.aberto span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }
@media (max-width: 1020px) {
  .menu-botao { display: inline-flex; }
  .menu.aberto { display: flex; flex-direction: column; gap: 0; position: absolute; top: 100%; left: 0; right: 0; padding: 8px 20px 18px; background: rgba(31,28,27,.98); border-bottom: 1px solid var(--linha-esc); box-shadow: 0 24px 40px -20px rgba(0,0,0,.6); }
  .menu.aberto a { padding: 14px 4px; font-size: 16px; color: var(--claro); border-bottom: 1px solid var(--linha-esc); }
  .menu.aberto a:last-child { border-bottom: 0; }
  .menu.aberto a::after { display: none; }
}
/* No celular, só a bolinha flutuante do WhatsApp (a do topo duplicava; pedido do proprietário) */
@media (max-width: 1020px) { .topo .b-zap { display: none; } }

/* Símbolo NP da marca em degradê no contato (pedido do proprietário), como no e-book: só decoração, atrás do conteúdo. */
.contato .in { z-index: 1; }
.contato-marca { position: absolute; left: max(-40px, calc(50% - 740px)); bottom: 24px; width: 500px; height: auto; opacity: .12; pointer-events: none; z-index: 0;
  -webkit-mask-image: linear-gradient(35deg, #000 10%, rgba(0,0,0,.55) 45%, transparent 85%); mask-image: linear-gradient(35deg, #000 10%, rgba(0,0,0,.55) 45%, transparent 85%); }
@media (max-width: 900px) { .contato-marca { width: 320px; left: -40px; bottom: -30px; opacity: .08; } }

/* Área do cliente (pedido do proprietário): link discreto no topo, no menu do celular e no rodapé. */
.area-cliente { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 14px; border: 1px solid rgba(217,203,186,.35); border-radius: 999px; font-size: 13px; color: var(--claro-2); text-decoration: none; white-space: nowrap; transition: color .2s, border-color .2s; }
.area-cliente:hover, .area-cliente:focus-visible { color: #fff; border-color: var(--bege); }
.area-cliente svg, .menu .so-celular svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.menu .so-celular { display: none; }
.legal-links { display: inline-flex; gap: 20px; }
@media (max-width: 1020px) {
  .topo .area-cliente { display: none; }
  .menu.aberto .so-celular { display: flex; align-items: center; gap: 8px; color: var(--bege); }
}
.menu a { white-space: nowrap; }
@media (min-width: 1021px) { .menu { gap: clamp(14px, 1.6vw, 24px); } .topo .in { gap: 18px; } }
@media (min-width: 1021px) and (max-width: 1240px) { .area-cliente span { display: none; } .area-cliente { padding: 0 11px; } }
.topo .botao { white-space: nowrap; }

/* Banco de talentos (ADR-0056) */
.talentos-abre h1 { font: 400 clamp(30px, 4vw, 44px)/1.1 var(--f-tit); letter-spacing: .04em; text-transform: uppercase; color: #fff; margin: 6px 0 18px; }
.talentos-abre .foto-quem img { border-radius: 22px; object-fit: cover; aspect-ratio: 3 / 4; }
.talentos-perfil { padding-block: 72px; }
.talentos-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; }
.talentos-lista { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 14px; }
.talentos-lista li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.55; }
.talentos-lista svg { width: 16px; height: 16px; flex: none; margin-top: 4px; color: var(--bege-escuro, #a8977f); }
.talentos-vaga { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.talentos-vaga legend { font-size: 12.5px; font-weight: 600; color: var(--grafite-2); margin-bottom: 6px; padding: 0; }
.talentos-vaga label { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; color: var(--texto); }
.talentos-duas { display: grid; grid-template-columns: minmax(0, 1fr) 110px; gap: 12px; }
.form input[type=file] { padding: 9px 10px; background: #fff; }
@media (max-width: 780px) { .talentos-grade { grid-template-columns: minmax(0, 1fr); gap: 36px; } .talentos-perfil { padding-block: 56px; } }
.talentos-vaga label { white-space: nowrap; }
.talentos-vaga input[type=radio] { width: 16px; height: 16px; min-height: 0; flex: none; margin: 0; padding: 0; accent-color: var(--grafite-2); }

/* Trabalhe conosco: a faixa clara entra e sai em degradê, como entre as seções da página inicial (pedido do proprietário). */
.talentos-perfil { padding-block: 140px; background:
  linear-gradient(180deg, #2b2726 0px, #403d3b 7px, #54514f 14px, #676362 21px, #787573 28px, #888583 35px, #969391 42px, #a4a19f 50px, #b0adab 57px, #bbb8b6 64px, #c5c2c0 71px, #cecbc9 78px, #d5d3d0 85px, #dcdad7 92px, #e2e0dd 99px, #e7e5e2 106px, #ebe9e6 113px, #efedea 120px, #f1efec 128px, #f4f2ef 135px, #f5f3f0 142px, #f6f4f1 149px, #f7f5f2 156px, #f7f5f2 163px, #f7f5f2 170px) top / 100% 170px no-repeat,
  linear-gradient(0deg, #2b2726 0px, #403d3b 7px, #54514f 14px, #676362 21px, #787573 28px, #888583 35px, #969391 42px, #a4a19f 50px, #b0adab 57px, #bbb8b6 64px, #c5c2c0 71px, #cecbc9 78px, #d5d3d0 85px, #dcdad7 92px, #e2e0dd 99px, #e7e5e2 106px, #ebe9e6 113px, #efedea 120px, #f1efec 128px, #f4f2ef 135px, #f5f3f0 142px, #f6f4f1 149px, #f7f5f2 156px, #f7f5f2 163px, #f7f5f2 170px) bottom / 100% 170px no-repeat,
  #f7f5f2; }
@media (max-width: 780px) { .talentos-perfil { padding-block: 130px; } }
