.z27h*, .z27h *::before, .z27h *::after { box-sizing: border-box; }
.z27h {
  --z27-marca:#246C6C; --z27-escuro:#1B5252; --z27-claro:#8FBDBD;
  --z27-texto:#1A2B2B; --z27-suave:#5B7373; --z27-zap:#25D366;
  font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  position:relative; z-index:9000; background:#fff;
}
.z27h a { text-decoration:none; }
.z27h-cont { max-width:1180px; margin:0 auto; padding:0 24px; }

/* ---------- barra superior ---------- */
.z27h-topo { background:var(--z27-marca); color:#DDEDED; font-size:13px; line-height:1; }
.z27h-topo .z27h-cont { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:38px; }
.z27h-cred { letter-spacing:.3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.z27h-topo-dir { display:flex; align-items:center; gap:18px; margin-left:auto; }
.z27h-tel { color:#fff; font-weight:600; display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.z27h-tel:hover { color:#BFE0E0; }
.z27h-tel svg { width:14px; height:14px; fill:currentColor; flex:0 0 auto; display:block; }
.z27h-social { display:flex; align-items:center; gap:10px; }
.z27h-social a {
  width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.14); color:#fff; transition:background .18s ease;
}
.z27h-social a:hover { background:rgba(255,255,255,.3); }
.z27h-social svg { width:13px; height:13px; fill:currentColor; display:block; }

/* ---------- barra principal ---------- */
.z27h-main { background:#fff; border-bottom:1px solid #E6EDED; }
.z27h-main .z27h-cont { display:flex; align-items:center; gap:28px; min-height:88px; }
.z27h-logo { flex:0 0 auto; display:flex; align-items:center; }
.z27h-logo img { display:block; height:52px; width:auto; }

.z27h-nav { margin-left:auto; display:flex; align-items:center; gap:30px; }
.z27h-nav a {
  color:var(--z27-texto); font-size:15px; font-weight:500; letter-spacing:.2px;
  position:relative; padding:10px 0; white-space:nowrap;
}
.z27h-nav a::after {
  content:""; position:absolute; left:0; right:0; bottom:2px; height:2px;
  background:var(--z27-marca); transform:scaleX(0); transform-origin:left; transition:transform .22s ease;
}
.z27h-nav a:hover::after, .z27h-nav a[aria-current="page"]::after { transform:scaleX(1); }
.z27h-nav a[aria-current="page"] { color:var(--z27-marca); }

.z27h-cta {
  flex:0 0 auto; display:inline-flex; align-items:center; gap:9px;
  background:var(--z27-marca); color:#fff; font-size:14.5px; font-weight:600;
  padding:13px 22px; border-radius:999px; white-space:nowrap;
  box-shadow:0 2px 10px rgba(36,108,108,.22); transition:background .18s ease, transform .18s ease;
}
.z27h-cta:hover { background:var(--z27-escuro); transform:translateY(-1px); }
.z27h-cta svg { width:17px; height:17px; fill:currentColor; }

/* ---------- botao hamburguer ---------- */
.z27h-btn {
  display:none; margin-left:auto; width:46px; height:46px; border:0; background:transparent;
  padding:0; cursor:pointer; align-items:center; justify-content:center; border-radius:10px;
}
.z27h-btn:hover { background:#F2F7F7; }
.z27h-btn span { display:block; width:24px; height:2px; background:var(--z27-texto); position:relative; transition:background .2s; }
.z27h-btn span::before, .z27h-btn span::after {
  content:""; position:absolute; left:0; width:24px; height:2px; background:var(--z27-texto); transition:transform .25s ease;
}
.z27h-btn span::before { top:-7px; } .z27h-btn span::after { top:7px; }
.z27h[data-aberto="1"] .z27h-btn span { background:transparent; }
.z27h[data-aberto="1"] .z27h-btn span::before { transform:translateY(7px) rotate(45deg); }
.z27h[data-aberto="1"] .z27h-btn span::after { transform:translateY(-7px) rotate(-45deg); }

/* ---------- painel mobile ---------- */
.z27h-painel { display:none; border-top:1px solid #E6EDED; background:#fff; }
.z27h[data-aberto="1"] .z27h-painel { display:block; }
.z27h-painel nav { display:flex; flex-direction:column; padding:8px 0 4px; }
.z27h-painel nav a {
  color:var(--z27-texto); font-size:16.5px; font-weight:500;
  padding:15px 4px; border-bottom:1px solid #F0F5F5;
}
.z27h-painel nav a[aria-current="page"] { color:var(--z27-marca); font-weight:600; }
.z27h-painel .z27h-acoes { display:flex; flex-direction:column; gap:11px; padding:18px 0 22px; }
.z27h-painel .z27h-acoes a {
  display:flex; align-items:center; justify-content:center; gap:9px;
  padding:15px 18px; border-radius:12px; font-size:15.5px; font-weight:600;
}
.z27h-zap { background:var(--z27-zap); color:#fff; }
.z27h-ligar { background:#F2F7F7; color:var(--z27-marca); border:1px solid #DCE9E9; }
.z27h-painel svg { width:18px; height:18px; fill:currentColor; }

/* ---------- responsivo ---------- */
@media (max-width:1000px) {
  .z27h-nav, .z27h-cta { display:none; }
  .z27h-btn { display:flex; }
  .z27h-main .z27h-cont { min-height:72px; gap:12px; }
  .z27h-logo img { height:42px; }
  .z27h-cred { display:none; }
  .z27h-topo .z27h-cont { justify-content:space-between; }
}
@media (max-width:560px) {
  .z27h-cont { padding:0 16px; }
  .z27h-logo img { height:36px; }
  .z27h-main .z27h-cont { min-height:64px; }
  .z27h-topo { font-size:12.5px; }
  .z27h-tel { font-size:12.5px; }
  .z27h-topo-dir { gap:12px; }
}

/* ---------------------------------------------------------------
   Dr. Cassio Trevizani — estilo do site
   Cores e fontes medidas no site atual em 29/08/2026, nao chutadas.
   --------------------------------------------------------------- */
:root{
  --texto:#7A7A7A;
  --titulo:#1A2B2B;
  --link:#012A4A;
  --dourado:#A88634;
  --marca:#246C6C;
  --linha:#E6EDED;
  --fundo-suave:#F4F8F8;
  /* paleta do Elementor, medida na home no ar */
  --grafite:#494949;
  --teal:#286C77;
  --laranja:#F37A3D;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:#fff;color:var(--texto);
  font-family:Montserrat,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  /* IGUAL AO SITE ATUAL: 14px com entrelinha de 21px */
  font-size:14px;line-height:21px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}

/* ---------- faixa dourada do titulo ---------- */
.faixa{background:var(--dourado)}
/* IGUAL AO SITE ATUAL: padding lateral de 7% */
.faixa .interno{max-width:none;margin:0;padding:36px 8.77% 40px 8.84%}
/* IGUAL AO SITE ATUAL: 20px no desktop, 18px no celular. */
.faixa h1{
  margin:10px 0 0;color:#fff;
  font-family:"Open Sans",Montserrat,Arial,sans-serif;
  font-weight:400;font-size:20px;line-height:1.3;letter-spacing:.2px;
}

/* ---------- corpo ---------- */
/* IGUAL AO SITE ATUAL: padding lateral de 13%, sem largura maxima.
   Era 940px fixo, o que estreitava o texto e mudava a proporcao. */
/* IGUAL AO SITE ATUAL, inclusive o deslocamento de 7px para a direita que o
   tema Avada aplica. Assimetrico de proposito: 14,53% / 13,54%. */
.conteudo{max-width:none;margin:0;padding:52px 13.54% 76px 14.53%}
.conteudo p{margin:0 0 10px}
.conteudo strong,.conteudo b{color:var(--titulo);font-weight:700}
.conteudo ul,.conteudo ol{margin:0 0 14px;padding-left:40px}
.conteudo li{margin:0 0 4px}
.conteudo h2{
  font-family:"Open Sans",Montserrat,Arial,sans-serif;
  color:var(--dourado);font-size:22px;line-height:1.3;
  margin:0 0 16px;font-weight:600;
}
.conteudo img{border-radius:6px;margin:0 0 20px}

/* blocos: no site atual cada assunto e uma faixa com titulo, imagem, texto e botao */
.bloco{margin:0 0 12px}
.bloco .col{margin:0 0 8px}
/* duas colunas so quando a secao realmente tem imagem + texto */
@media (min-width:820px){
  .bloco.duas{display:grid;grid-template-columns:minmax(0,430px) 1fr;gap:38px;align-items:center}
  .bloco.duas .col{margin:0}
}

.botao{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--dourado);color:#fff;text-decoration:none;
  font-size:14px;font-weight:600;padding:11px 20px;border-radius:6px;
  margin:4px 0 26px;transition:background .18s ease;
}
.botao:hover{background:#8F7229}
.botao::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:var(--icone-livro) center/contain no-repeat;
          mask:var(--icone-livro) center/contain no-repeat;
}
:root{--icone-livro:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7a3 3 0 0 1 3 3v13a3 3 0 0 0-3-3H4V4zm16 0h-7a3 3 0 0 0-3 3v13a3 3 0 0 1 3-3h7V4z'/%3E%3C/svg%3E")}

.risco{border:0;border-top:2px solid var(--dourado);width:40px;margin:0 0 30px}

/* ---------- rodape ---------- */
.rodape{
  background:var(--fundo-suave);border-top:1px solid var(--linha);
  padding:48px 0 30px;font-size:14px;line-height:1.85;
}
.rodape .interno{
  max-width:1180px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:36px;
}
.rodape h4{
  margin:0 0 12px;color:var(--titulo);font-size:15px;font-weight:700;
  font-family:"Open Sans",Montserrat,Arial,sans-serif;
}
.rodape p{margin:0}
.rodape a{color:var(--texto);text-decoration:none}
.rodape a:hover{color:var(--marca)}
.social{display:flex;gap:10px;margin-top:2px}
.social a{width:34px;height:34px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff}
.social svg{width:16px;height:16px;fill:currentColor}
.assinatura{
  max-width:1180px;margin:36px auto 0;padding:18px 24px 0;
  border-top:1px solid var(--linha);font-size:13px;color:#94A5A5;
}

/* ---------- celular ---------- */
@media (max-width:820px){
  .faixa .interno{padding:24px 20px 26px}
  .faixa h1{font-size:18px}
  .conteudo{padding:34px 20px 52px}
  .conteudo h2{font-size:20px}
  .rodape .interno{grid-template-columns:1fr;gap:30px}
}