/* Páginas internas — ponte entre a home cinematográfica e o sistema editorial. */
:root { --topbar-h: 0px; }
html, body { background: var(--bg) !important; color: var(--ink) !important; }

/* Nas internas, menos ruído e resposta imediata. */
body, a, button, summary, label, [role="button"] { cursor: auto !important; }
.cursor, .cursor-icon, .topbar { display: none !important; }
body::after { content: none !important; display: none !important; }

/* A foto abre a página como uma impressão sobre papel e se dissolve. */
body.has-bg-image {
  position: relative;
  background-color: var(--bg) !important;
  background-image: none !important;
}
body.has-bg-image::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: var(--offset);
  left: 0;
  right: 0;
  height: min(72vh, 760px);
  pointer-events: none;
  background-image:
    linear-gradient(to bottom, rgba(246,242,233,.58) 0%, rgba(246,242,233,.70) 48%, rgba(246,242,233,.92) 78%, #F6F2E9 100%),
    var(--page-bg, none);
  background-size: cover;
  background-position: center 22%;
  background-repeat: no-repeat;
  filter: saturate(.50) sepia(.10) contrast(.94);
}
body.has-bg-image section,
body.has-bg-image footer,
body.has-bg-image .btt { position: relative; z-index: 1; }

/* Conteúdo na paleta de leitura definida na identidade. */
section, header, .page-header, .break-dark, .break-areia,
.sec-dark, .sec-areia, .sec-full, .sec-center, .metodo, .caminhos,
.cases, .formacao, .sobre, .comecar, .atuacao, .problema {
  background: transparent !important;
  background-image: none !important;
}
section::before, header::before, .sec-full::before, .sec-problema::before,
.sec-dark::before, .sec-areia::before, .sec-sobre::before, .sec-contato::before {
  content: none !important;
  display: none !important;
}
h1, h2, h3, h4, h5, h6,
p, li, blockquote, dt, dd, figcaption,
.sec-fecho, .sec-sub, .metodo-intro p, .step-desc, .fase-desc,
span:not(.topbar-item):not(.tag) {
  color: var(--ink) !important;
  text-shadow: none !important;
}
body.has-bg-image section h2,
body.has-bg-image section h3,
body.has-bg-image section h4 { color: var(--copper) !important; }
em { color: var(--green) !important; font-style: italic; text-shadow: none !important; }
@media (max-width: 900px) {
  .page-primary-title { color: var(--copper) !important; }
  .page-primary-title em { color: #8A5D39 !important; }
  .nav-toggle { color: var(--copper) !important; }
}
.label, .sec-meta, .mentoria-topicos li::before { color: var(--copper) !important; }
.sobre-evolucao-grid article>span { color: var(--copper) !important; }
.sobre-principios li strong { color: var(--green) !important; }
.sobre-principios li span, .sobre-evolucao-grid p { color: var(--muted) !important; }
.sec-meta { border-bottom-color: var(--rule) !important; }
body.has-bg-image section a:not(.btn):not(.nav-cta):not(.logo):not(.foot-brand):not(.nav-links a) { color: var(--green) !important; }
body.has-bg-image section a:not(.btn):not(.nav-cta):not(.logo):hover { color: var(--green-lt) !important; }

/* Moldura institucional compartilhada com a home. */
nav {
  top: 0 !important;
  background: rgba(21,40,28,.96) !important;
  border-bottom-color: rgba(246,242,233,.12) !important;
  backdrop-filter: blur(12px) !important;
}
.logo img { filter: none; }
.nav-links a { color: rgba(246,242,233,.76) !important; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #fffdf7 !important; }
.nav-cta { color: #fffdf7 !important; border-color: rgba(246,242,233,.38) !important; }
.nav-cta:hover { background: rgba(246,242,233,.10) !important; }
hr, .rule { border-color: var(--rule) !important; }

/* Blocos editoriais: papel 2, linhas e quase nenhum ornamento. */
.step, .fase, .case-card, .etapa, .modalidade, .produto,
.sinal-item, .sinais-icons, .mentoria-entregas, .mentoria-limites > div,
.formacao-equipes {
  background: rgba(239,232,217,.72) !important;
  border-color: var(--rule) !important;
  box-shadow: none !important;
}
.mentoria-formato span { background: rgba(239,232,217,.72) !important; border-color: var(--rule) !important; }
.mentoria-formato b, .mentoria-topicos b { color: var(--green) !important; }
.mentoria-topicos li, .mentoria-entregas li, .mentoria-limites li { border-bottom-color: rgba(211,202,182,.72) !important; }

/* Método: número e tópico formam uma faixa de leitura imediata. */
body.has-bg-image .fase .etapas li {
  grid-template-columns: 48px 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 0 !important;
  padding: 0 !important;
  margin-bottom: 14px !important;
  background: rgba(239,232,217,.88) !important;
  border: 1px solid var(--rule) !important;
}
body.has-bg-image .fase .etapas li::before {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  padding: 12px 8px !important;
  background: var(--copper) !important;
  color: #fffdf7 !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}
body.has-bg-image .fase .et-nome {
  display: flex !important;
  align-items: center !important;
  padding: 12px 14px !important;
  background: var(--copper) !important;
  color: #fffdf7 !important;
  font-family: var(--sans) !important;
  font-size: 1.04rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
body.has-bg-image .fase .et-desc {
  grid-column: 1 / -1 !important;
  padding: 16px 18px 19px !important;
  color: var(--ink) !important;
  font-size: .94rem !important;
  line-height: 1.7 !important;
}

.btn-dark, .btn-outline, .btn-outline-light, .btn-ghost-light {
  background: var(--green) !important;
  color: #fffdf7 !important;
  border-color: var(--green) !important;
}
.btn-dark:hover, .btn-outline:hover, .btn-outline-light:hover, .btn-ghost-light:hover { background: var(--green-lt) !important; }

/* Rodapé profundo fecha a página e reconecta à atmosfera da home. */
footer {
  padding: 56px 0 38px !important;
  background: var(--green-dk) !important;
  border-top-color: rgba(246,242,233,.16) !important;
}
body.has-bg-image footer .foot-in {
  display: grid !important;
  grid-template-columns: minmax(240px,1.35fr) minmax(150px,.7fr) minmax(220px,1fr) auto !important;
  gap: clamp(36px,5vw,76px) !important;
  align-items: start !important;
}
body.has-bg-image footer .foot-in *,
body.has-bg-image footer .foot-meta,
body.has-bg-image footer .foot-meta * { color: rgba(246,242,233,.72) !important; text-shadow: none !important; }
body.has-bg-image footer .foot-brand,
body.has-bg-image footer .foot-brand em,
body.has-bg-image footer h5 { color: #fffdf7 !important; }
body.has-bg-image footer .foot-brand { font-size: 1.3rem !important; line-height: 1.2 !important; }
body.has-bg-image footer .foot-desc {
  margin-top: 12px !important;
  max-width: 38ch !important;
  color: rgba(246,242,233,.82) !important;
  font-size: .9rem !important;
  line-height: 1.65 !important;
}
body.has-bg-image footer .foot-col h5 {
  margin-bottom: 17px !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
}
body.has-bg-image footer .foot-links { gap: 10px !important; font-size: .88rem !important; line-height: 1.45 !important; }
body.has-bg-image footer .foot-links a { color: rgba(246,242,233,.92) !important; }
body.has-bg-image footer .foot-links a:hover { color: #fffdf7 !important; }
body.has-bg-image footer .foot-links svg { width: 15px !important; height: 15px !important; }
body.has-bg-image footer .foot-in > div:last-child span {
  color: rgba(246,242,233,.78) !important;
  font-size: .84rem !important;
  line-height: 1.5 !important;
}
body.has-bg-image footer .foot-meta {
  margin-top: 38px !important;
  padding-top: 20px !important;
  color: rgba(246,242,233,.62) !important;
  font-size: .78rem !important;
  line-height: 1.5 !important;
  border-top-color: rgba(246,242,233,.12) !important;
}
.btt { color: #fffdf7 !important; border-color: var(--green) !important; background: var(--green) !important; backdrop-filter: none !important; }

@media (max-width: 900px) {
  body.has-bg-image::before { height: 62vh; background-position: center top; }
  body.has-bg-image footer .foot-in { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 620px) {
  body.has-bg-image footer .foot-in { grid-template-columns: 1fr !important; gap: 30px !important; }
}
