/*
Theme Name: Leonardo Luz
Theme URI: https://leonardoluz.com.br
Author: Vitalis Group
Author URI: https://vitalisgroup.com.br
Description: Tema institucional de Leonardo Luz — CEO e fundador da Vitalis. Livro O Proximo Ativo, imersoes e palestras.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: leonardoluz
*/

/* =========================================================
   Leonardo Luz — sistema visual
   Paleta e tipografia herdadas do livro O Próximo Ativo
   ========================================================= */

:root{
  --navy:#0A1628;
  --navy-2:#0E2A45;
  --navy-3:#1B3A5C;
  --ciano:#00A8E8;
  --ciano-fundo:#0076B6;
  --claro:#F0F4F8;
  --claro-2:#E4ECF3;
  --borda:#D9E2EC;
  --tinta:#1E293B;
  --suave:#64748B;
  --branco:#FFFFFF;

  --display:"Lora",Georgia,serif;
  --sans:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;

  --max:1180px;
  --gap:clamp(3.5rem,7vw,7rem);
  --r:2px;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

body{
  margin:0;
  background:var(--branco);
  color:var(--tinta);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}
a{color:inherit}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}
.estreito{max-width:760px}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.12;letter-spacing:-.02em}
h1{font-family:var(--sans);font-size:clamp(2.1rem,5.6vw,3.9rem)}
h2{font-family:var(--sans);font-size:clamp(1.6rem,3.4vw,2.5rem)}
h3{font-family:var(--sans);font-size:clamp(1.15rem,2vw,1.45rem)}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

.eyebrow{
  font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ciano-fundo);margin:0 0 1rem
}
.eyebrow--claro{color:var(--ciano)}

.serif{font-family:var(--display);font-weight:400}
.lead{font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:1.6;color:var(--navy-3)}
.mute{color:var(--suave)}

.fio{width:56px;height:3px;background:var(--ciano);border:0;margin:0 0 1.6rem}
.fio--centro{margin-inline:auto}

/* ---------- barra superior ---------- */
.topo{
  position:sticky;top:0;z-index:50;
  background:rgba(10,22,40,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.topo__in{display:flex;align-items:center;gap:1.5rem;min-height:66px}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.marca img{width:26px;height:auto}
.marca span{font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#fff}
.nav{display:flex;gap:1.6rem;align-items:center}
.nav a{
  font-size:.82rem;font-weight:400;color:rgba(255,255,255,.72);text-decoration:none;
  padding:.3rem 0;border-bottom:1px solid transparent;transition:color .18s,border-color .18s
}
.nav a:hover,.nav a:focus-visible{color:#fff;border-bottom-color:var(--ciano)}
.nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--ciano)}
@media(max-width:820px){.nav{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:radial-gradient(58% 62% at 78% 22%,rgba(0,168,232,.34),transparent 68%)
}
.hero__escada{
  position:absolute;right:4%;bottom:6%;z-index:-1;width:min(38%,420px);opacity:.5;pointer-events:none
}
.hero__in{padding-block:clamp(4.5rem,11vw,8.5rem)}
.hero h1{max-width:15ch}
.hero .lead{color:rgba(255,255,255,.76);max-width:52ch;margin-top:1.6rem}
.hero--curto .hero__in{padding-block:clamp(3.4rem,7vw,5.4rem)}

.pergunta{
  font-family:var(--display);font-weight:400;letter-spacing:-.01em;line-height:1.16;
  font-size:clamp(2rem,5.4vw,3.7rem);max-width:17ch
}
.pergunta em{font-style:normal;color:var(--ciano)}

/* ---------- botões ---------- */
.acoes{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.4rem}
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--sans);font-size:.87rem;font-weight:600;letter-spacing:.01em;
  padding:.92rem 1.7rem;border-radius:var(--r);border:1px solid transparent;
  text-decoration:none;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s
}
.btn:hover{transform:translateY(-1px)}
.btn--primario{background:var(--ciano);color:#04121f}
.btn--primario:hover{background:#33bcef}
.btn--linha{border-color:rgba(255,255,255,.32);color:#fff}
.btn--linha:hover{border-color:var(--ciano);color:var(--ciano)}
.btn--escuro{background:var(--navy);color:#fff}
.btn--escuro:hover{background:var(--navy-3)}
.btn--fantasma{border-color:var(--borda);color:var(--navy-3)}
.btn--fantasma:hover{border-color:var(--ciano-fundo);color:var(--ciano-fundo)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--ciano);outline-offset:3px
}

/* ---------- seções ---------- */
.sec{padding-block:var(--gap)}
.sec--claro{background:var(--claro)}
.sec--escuro{background:var(--navy);color:#fff}
.sec--escuro .lead{color:rgba(255,255,255,.74)}
.sec--escuro .mute{color:rgba(255,255,255,.55)}
.sec__cab{max-width:640px;margin-bottom:3rem}

/* ---------- os dois motores ---------- */
.motores{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0}
.motores::after{
  content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:var(--borda);transform:translateX(-.5px)
}
.motor{padding:2.2rem clamp(1.2rem,3vw,2.6rem)}
.motor:first-child{padding-left:0}
.motor:last-child{padding-right:0}
.motor__nome{font-size:1.05rem;font-weight:700;color:var(--navy-3);margin:0 0 .35rem}
.motor__desc{font-size:.9rem;color:var(--suave);margin:0}
@media(max-width:760px){
  .motores{grid-template-columns:1fr}
  .motores::after{display:none}
  .motor{padding-inline:0;border-top:1px solid var(--borda)}
  .motor:first-child{border-top:0}
}

/* ---------- cartões de produto ---------- */
.produtos{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2.5rem}
.card{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  padding:2rem 1.8rem 1.8rem;text-decoration:none;color:inherit;
  transition:border-color .2s,box-shadow .2s,transform .2s
}
.card::before{
  content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--ciano);
  transition:height .28s ease
}
.card:hover,.card:focus-visible{
  border-color:#B9CFE0;box-shadow:0 14px 34px -22px rgba(10,22,40,.55);transform:translateY(-3px)
}
.card:hover::before,.card:focus-visible::before{height:100%}
.card__tag{
  font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ciano-fundo);margin-bottom:.9rem
}
.card h3{margin-bottom:.6rem;color:var(--navy)}
.card__resumo{font-size:.93rem;color:var(--suave);margin-bottom:1.4rem}
.card__lista{list-style:none;margin:0 0 1.6rem;padding:0;font-size:.86rem;color:var(--tinta)}
.card__lista li{position:relative;padding-left:1.1rem;margin-bottom:.42rem}
.card__lista li::before{
  content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--ciano)
}
.card__cta{
  margin-top:auto;font-size:.83rem;font-weight:600;color:var(--navy-3);
  display:inline-flex;align-items:center;gap:.5rem
}
.card__cta svg{transition:transform .2s}
.card:hover .card__cta svg{transform:translateX(4px)}
.card--destaque{background:var(--navy);border-color:var(--navy);color:#fff}
.card--destaque h3{color:#fff}
.card--destaque .card__tag{color:var(--ciano)}
.card--destaque .card__resumo{color:rgba(255,255,255,.7)}
.card--destaque .card__lista{color:rgba(255,255,255,.85)}
.card--destaque .card__cta{color:var(--ciano)}

/* ---------- livro ---------- */
.livro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.livro__capa{box-shadow:0 30px 60px -34px rgba(10,22,40,.8);border-radius:1px}
@media(max-width:820px){.livro{grid-template-columns:1fr}.livro__capa{max-width:290px;margin-inline:auto}}

.dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.6rem;margin:2.2rem 0}
.dado__n{font-size:1.9rem;font-weight:700;color:var(--ciano);line-height:1}
.dado__l{font-size:.78rem;color:var(--suave);margin-top:.25rem}
.sec--escuro .dado__l{color:rgba(255,255,255,.6)}

/* ---------- lista numerada de conteúdo ---------- */
.etapas{list-style:none;margin:0;padding:0;counter-reset:e}
.etapas li{
  counter-increment:e;position:relative;padding:1.35rem 0 1.35rem 3.4rem;
  border-top:1px solid var(--borda)
}
.etapas li:last-child{border-bottom:1px solid var(--borda)}
.etapas li::before{
  content:counter(e,decimal-leading-zero);position:absolute;left:0;top:1.45rem;
  font-size:.82rem;font-weight:700;color:var(--ciano)
}
.etapas h3{font-size:1.02rem;margin-bottom:.3rem;color:var(--navy)}
.etapas p{font-size:.92rem;color:var(--suave);margin:0}
.sec--escuro .etapas li{border-color:rgba(255,255,255,.13)}
.sec--escuro .etapas h3{color:#fff}
.sec--escuro .etapas p{color:rgba(255,255,255,.62)}

/* ---------- citação ---------- */
.citacao{
  font-family:var(--display);font-size:clamp(1.3rem,2.9vw,2rem);line-height:1.42;
  color:var(--navy-3);max-width:22ch;margin:0
}
.sec--escuro .citacao{color:#fff}

/* ---------- formulário ---------- */
.form-bloco{background:var(--claro);border-radius:var(--r);padding:clamp(1.8rem,4vw,3.2rem)}
.sec--escuro .form-bloco{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.campos{display:grid;gap:1.15rem;grid-template-columns:repeat(2,1fr);margin-top:1.8rem}
.campo--largo{grid-column:1/-1}
@media(max-width:640px){.campos{grid-template-columns:1fr}}

.campo{display:flex;flex-direction:column;gap:.4rem}
.campo label{font-size:.76rem;font-weight:600;letter-spacing:.04em;color:var(--navy-3)}
.sec--escuro .campo label{color:rgba(255,255,255,.85)}
.campo .ajuda{font-size:.72rem;color:var(--suave);font-weight:300}
.campo input,.campo select,.campo textarea{
  font-family:var(--sans);font-size:.92rem;font-weight:300;color:var(--tinta);
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  padding:.78rem .9rem;width:100%;transition:border-color .18s,box-shadow .18s
}
.campo textarea{resize:vertical;min-height:96px}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  border-color:var(--ciano);box-shadow:0 0 0 3px rgba(0,168,232,.16);outline:none
}
.campo input[aria-invalid="true"],.campo select[aria-invalid="true"]{border-color:#C0392B}
.erro{font-size:.72rem;color:#C0392B;min-height:0}
.form-rodape{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.8rem}
.form-nota{font-size:.76rem;color:var(--suave);max-width:44ch}
.sec--escuro .form-nota{color:rgba(255,255,255,.55)}
.aviso{
  margin-top:1.2rem;padding:.9rem 1.1rem;border-radius:var(--r);font-size:.86rem;
  border:1px solid var(--borda);background:#fff;display:none
}
.aviso[data-estado="ok"]{display:block;border-color:var(--ciano);color:var(--navy-3)}
.aviso[data-estado="falha"]{display:block;border-color:#C0392B;color:#8E2A1E}

/* ---------- rodapé ---------- */
.rodape{background:var(--navy);color:rgba(255,255,255,.62);padding-block:3.4rem;font-size:.85rem}
.rodape__in{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-start}
.rodape a{color:rgba(255,255,255,.72);text-decoration:none}
.rodape a:hover{color:var(--ciano)}
.rodape__links{display:flex;gap:1.4rem;flex-wrap:wrap}
.rodape__fim{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.1);font-size:.76rem;color:rgba(255,255,255,.42)}

/* ---------- revelação ao rolar ----------
   Sem JavaScript o conteúdo aparece normalmente: a animação só é
   aplicada quando a classe .ll-js existe no <html>. */
.reveal{opacity:1;transform:none}
.ll-js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.ll-js .reveal.visivel{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ll-js .reveal{opacity:1;transform:none}}

/* ---------- ajustes finais ---------- */
[id]{scroll-margin-top:88px}

@media(max-width:760px){
  .hero__escada{width:56%;opacity:.28;right:-6%;bottom:2%}
  .acoes .btn{flex:1 1 100%;justify-content:center}
  .rodape__in{flex-direction:column;gap:1.6rem}
}

/* cartões informativos (sem link) não devem sugerir clique */
.card--info{cursor:default}
.card--info:hover{transform:none;box-shadow:none;border-color:var(--borda)}
.card--info:hover::before{height:0}

@media print{
  .topo,.rodape,.acoes,.form-bloco{display:none}
  body{color:#000}
}

/* =========================================================
   Adicoes do tema WordPress (menu mobile, WhatsApp, admin bar)
   ========================================================= */

.ll-skip{position:absolute;left:-9999px;top:0;background:var(--ciano);color:#04121f;
  padding:.7rem 1.1rem;font-size:.85rem;font-weight:600;z-index:200}
.ll-skip:focus{left:.5rem;top:.5rem}

.admin-bar .topo{top:32px}
@media(max-width:782px){.admin-bar .topo{top:46px}}

/* --- botao hamburguer --- */
.ll-menu-btn{
  display:none;margin-left:auto;background:none;border:0;padding:.5rem;cursor:pointer;
  color:#fff;line-height:0
}
.ll-menu-btn svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}
.ll-menu-btn .ll-x{display:none}
.ll-menu-btn[aria-expanded="true"] .ll-x{display:block}
.ll-menu-btn[aria-expanded="true"] .ll-bars{display:none}

@media(max-width:820px){
  .ll-menu-btn{display:block}
  .marca{margin-right:0}
  .topo__in{gap:.75rem}
  .nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:rgba(10,22,40,.985);backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,.1);
    padding:.4rem clamp(1.25rem,5vw,2.5rem) 1.1rem
  }
  .nav.ll-aberto{display:flex}
  .nav a{padding:.85rem 0;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.07)}
  .nav a:last-child{border-bottom:0}
  .nav a:hover,.nav a[aria-current="page"]{border-bottom-color:rgba(255,255,255,.07);color:var(--ciano)}
}

/* --- botao flutuante de WhatsApp --- */
.ll-zap{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:60;
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  background:#25D366;color:#fff;text-decoration:none;
  box-shadow:0 10px 26px -10px rgba(0,0,0,.5);
  transition:transform .18s
}
.ll-zap:hover{transform:translateY(-2px)}
.ll-zap svg{width:27px;height:27px;fill:currentColor}
@media print{.ll-zap{display:none}}

/* --- estados de envio do formulario --- */
.ll-form .aviso[data-estado]{display:block}
.ll-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0}

/* --- pagina 404 e conteudo generico --- */
.ll-prosa{max-width:70ch}
.ll-prosa h2{margin-top:2.2rem;margin-bottom:.8rem}
.ll-prosa ul,.ll-prosa ol{padding-left:1.2rem}
.ll-prosa li{margin-bottom:.4rem}
.ll-prosa a{color:var(--ciano-fundo);text-decoration:underline;text-underline-offset:3px}

/* =========================================================
   IDENTIDADE PESSOAL — camada Leonardo Luz
   Herdada do LinkedIn: âmbar sobre azul-marinho, retrato em
   fundo sépia, malha de pontos e a afirmação em três tempos.
   O ciano continua sendo a cor do livro e dos produtos;
   o âmbar é a cor da pessoa. Os dois nunca disputam o mesmo
   botão: ciano chama para a ação, âmbar afirma quem fala.
   ========================================================= */

:root{
  --ambar:#F08A1E;
  --ambar-claro:#FFA94D;
  --ambar-fundo:#B4630D;
  --sepia:#2E2019;
  --sepia-2:#4A3324;
  --sepia-3:#6B4A33;
}

/* ---------- malha de pontos (motivo do banner) ---------- */
.malha{
  position:absolute;pointer-events:none;
  background-image:radial-gradient(var(--ambar) 1.5px,transparent 1.6px);
  background-size:9px 9px;
  opacity:.55
}

/* ---------- faixa da afirmação ---------- */
.afirmacao{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--sepia);color:#fff
}
.afirmacao__foto{
  position:absolute;inset:0;z-index:-2;
  width:100%;height:100%;object-fit:cover;object-position:84% 18%;
}
.afirmacao::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(18,11,7,.97) 0%,rgba(18,11,7,.93) 46%,rgba(18,11,7,.62) 70%,rgba(18,11,7,.22) 100%),
    linear-gradient(180deg,rgba(18,11,7,.35) 0%,transparent 30%,transparent 70%,rgba(18,11,7,.35) 100%)
}
@media(max-width:760px){
  .afirmacao__foto{object-position:72% 12%}
  .afirmacao::after{
    background:linear-gradient(180deg,rgba(18,11,7,.72) 0%,rgba(18,11,7,.9) 45%,rgba(18,11,7,.96) 100%)
  }
}
.afirmacao__in{padding-block:clamp(3.2rem,7vw,5.6rem);max-width:760px}

.claim{
  margin:0;font-family:var(--sans);font-weight:700;
  text-transform:uppercase;letter-spacing:-.015em;line-height:1.04;
  font-size:clamp(1.85rem,5.2vw,3.35rem)
}
.claim span{display:block}
.claim .claim--um{color:rgba(255,255,255,.62)}
.claim .claim--dois{color:rgba(255,255,255,.82)}
.claim .claim--tres{color:var(--ambar)}
.claim__fio{
  width:120px;height:4px;border:0;margin:1.5rem 0 0;
  background:linear-gradient(90deg,var(--ambar) 0 46px,rgba(255,255,255,.28) 46px 100%)
}
.afirmacao__texto{
  margin-top:1.5rem;font-size:clamp(.98rem,1.6vw,1.1rem);
  line-height:1.6;color:rgba(255,255,255,.78);max-width:52ch
}

/* ---------- etiquetas de atuação ---------- */
.etiquetas{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.7rem;padding:0;list-style:none}
.etiquetas li{
  font-size:.73rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  padding:.42rem .8rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.8)
}
.etiquetas--claro li{border-color:var(--borda);color:var(--navy-3)}

/* ---------- bloco "quem conduz" com retrato ---------- */
.perfil{
  display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(2rem,5vw,4rem);align-items:center
}
.perfil__moldura{position:relative}
.perfil__foto{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;
  border-radius:var(--r);
  box-shadow:0 34px 70px -40px rgba(0,0,0,.85)
}
.perfil__moldura::before{
  content:"";position:absolute;left:-14px;top:-14px;width:74px;height:74px;
  border-top:3px solid var(--ambar);border-left:3px solid var(--ambar)
}
.perfil__moldura .malha{right:-16px;bottom:-16px;width:86px;height:86px}
.perfil__cargo{
  font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ambar);margin:0 0 1rem
}
@media(max-width:820px){
  .perfil{grid-template-columns:1fr}
  .perfil__moldura{max-width:330px}
}

/* ---------- palcos ---------- */
.palcos{
  display:flex;flex-wrap:wrap;gap:.6rem 2rem;align-items:center;
  margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);
  list-style:none;padding-left:0
}
.palcos li{font-size:.86rem;font-weight:600;color:rgba(255,255,255,.9)}
.palcos li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--ambar);margin-right:.55rem;vertical-align:.12em}
.palcos__rotulo{
  flex:1 1 100%;font-size:.7rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.2rem
}
.sec--claro .palcos{border-top-color:var(--borda)}
.sec--claro .palcos li{color:var(--navy-3)}
.sec--claro .palcos__rotulo{color:var(--suave)}

/* ---------- hero com fotografia ---------- */
.hero--foto{background:var(--sepia)}
.hero--foto .hero__fundo{
  position:absolute;inset:0;z-index:-2;width:100%;height:100%;
  object-fit:cover;object-position:50% 30%
}
.hero--foto::before{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(8,17,32,.94) 0%,rgba(8,17,32,.88) 38%,rgba(8,17,32,.55) 62%,rgba(8,17,32,.18) 100%),
    linear-gradient(180deg,rgba(8,17,32,.25) 0%,transparent 35%,rgba(8,17,32,.55) 100%)
}
.hero--foto .eyebrow{color:var(--ambar)}

/* ---------- recomendação ---------- */
.vozes{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2.5rem}
.voz{
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  padding:1.9rem 1.7rem;display:flex;flex-direction:column
}
.voz__texto{font-size:.95rem;line-height:1.62;color:var(--tinta);margin:0 0 1.4rem}
.voz__quem{margin-top:auto;font-size:.83rem;font-weight:600;color:var(--navy)}
.voz__papel{font-size:.76rem;color:var(--suave);font-weight:300;margin-top:.15rem}
.voz::before{
  content:"";display:block;width:34px;height:3px;background:var(--ambar);margin-bottom:1.2rem
}

/* ---------- newsletter ---------- */
.selo-news{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.8rem;font-weight:600;color:var(--ambar);
  border:1px solid rgba(240,138,30,.4);border-radius:999px;padding:.5rem 1rem
}

/* ---------- link do LinkedIn no rodapé ---------- */
.rodape a:hover{color:var(--ambar)}

/* Heróis cujo original é retrato vertical: o assunto vai para a direita,
   longe do texto, e o enquadramento sobe até o rosto. */
.hero--foto.hero--retrato .hero__fundo{object-position:78% 24%}
@media(max-width:760px){
  .hero--foto .hero__fundo{object-position:70% 18%}
  .hero--foto::before{
    background:linear-gradient(180deg,rgba(10,22,40,.92) 0%,rgba(10,22,40,.88) 60%,rgba(10,22,40,.94) 100%)
  }
}

/* faixa do autor na página do livro */
.autor{
  display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;
  padding-top:1.8rem;margin-top:2.2rem;border-top:1px solid var(--borda)
}
.autor img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:50% 18%}
.autor__nome{font-size:.95rem;font-weight:600;color:var(--navy);margin:0}
.autor__papel{font-size:.82rem;color:var(--suave);margin:.15rem 0 0;max-width:46ch}
.sec--escuro .autor{border-top-color:rgba(255,255,255,.14)}
.sec--escuro .autor__nome{color:#fff}
.sec--escuro .autor__papel{color:rgba(255,255,255,.62)}

/* ---------------------------------------------------------------------------
   Palestra em cartaz, galeria de palco e presença na mídia
   ------------------------------------------------------------------------ */

.tema{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;
  min-height:clamp(320px,46vw,540px);display:flex;align-items:flex-end;padding:clamp(2.5rem,6vw,5rem) 0}
.tema__foto{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:26% 42%}
.tema::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(8,17,32,.30) 0%,rgba(8,17,32,.52) 45%,rgba(8,17,32,.93) 100%),
    linear-gradient(90deg,rgba(8,17,32,.72) 0%,rgba(8,17,32,.18) 60%,transparent 100%)}
.tema__in{position:relative}
.tema__titulo{font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.06;margin:.6rem 0 0;color:#fff;letter-spacing:-.02em}
.tema__texto{max-width:56ch;margin:1.4rem 0 0;color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.7}
.tema__titulo::after{content:"";display:block;width:56px;height:3px;background:var(--ambar);margin-top:1.4rem}

.galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(.9rem,2vw,1.4rem);margin-top:2.5rem}
.galeria__item{margin:0;position:relative;overflow:hidden;border-radius:14px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1)}
.galeria__item img{display:block;width:100%;height:clamp(260px,32vw,380px);object-fit:cover;object-position:50% 22%}
.galeria__item::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;
  background:linear-gradient(180deg,transparent,rgba(8,17,32,.55));pointer-events:none}

.midia{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.6rem,4vw,3rem);align-items:center;
  margin-top:clamp(2.5rem,6vw,4rem);padding-top:clamp(2.5rem,6vw,4rem);border-top:1px solid rgba(255,255,255,.14)}
.midia__foto{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.midia__foto img{display:block;width:100%;height:auto}
.midia__texto h3{font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.15;margin:.5rem 0 1rem;color:#fff}
.midia__texto .lead{margin:0 0 1.4rem}
@media (max-width:820px){
  .midia{grid-template-columns:1fr}
  .galeria__item img{height:280px}
}
.galeria__item--esq img{object-position:0% 46%}
