/* Páginas de nicho: complementa ../style.css */
body.arq { --bg: #FDFAF5; --paper: #F3E9DC; --blue: #B0502C; --blue-dark: #86391D; --blue-tint: #EFCDB9; }
body.eng { --bg: #F5F4F1; --paper: #E9E6E0; --fg: #1E2124; --ink: #15181B; --muted: #565B60; --blue: #B5431E; --blue-dark: #8A3114; --blue-tint: #F0C8B6; --line: rgba(21, 24, 27, .14); --glass: rgba(245, 244, 241, .88); }
@media (min-width: 761px) {
  body.arq #shade { background: linear-gradient(90deg, rgba(253,250,245,.96) 0%, rgba(253,250,245,.92) 38%, rgba(253,250,245,.55) 52%, rgba(253,250,245,0) 66%); }
  body.eng #shade { background: linear-gradient(90deg, rgba(245,244,241,.97) 0%, rgba(245,244,241,.93) 38%, rgba(245,244,241,.55) 52%, rgba(245,244,241,0) 66%); }
  body.eng .final h2, body.eng .final .note, body.eng .final .apoio { color: #fff; }
  body.eng .final .note, body.eng .final .apoio { color: rgba(255,255,255,.78); }
  body.eng .final .apoio { border-top-color: rgba(255,255,255,.22); }
  body.eng .final .apoio a { color: #F0C8B6; }
}
.nicho .btn { box-shadow: 0 12px 30px -12px var(--blue); }

#palco { position: fixed; inset: 0; z-index: 0; overflow: hidden; background: var(--bg); }
.janela { position: absolute; inset: 0; overflow: hidden; background: #1A1510; }
body.eng .janela { background: #14171A; }
.poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; }
.cam { position: absolute; inset: 0; overflow: hidden; visibility: hidden; }
.foto { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.foto > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; display: block; }
.linha { position: absolute; left: -1px; top: -15%; height: 130%; width: 2px; visibility: hidden; background: linear-gradient(transparent, #fff 16%, #fff 84%, transparent); box-shadow: 0 0 16px 3px rgba(255, 236, 200, .8); }

/* vista explodida */
.explode { position: absolute; inset: 0; perspective: 1400px; background: radial-gradient(circle at 66% 45%, #30363D 0%, #171A1E 70%); }
.lay { position: absolute; left: 50%; top: 50%; width: 1536px; height: 1024px; margin: -512px 0 0 -768px; transform-origin: 50% 50%; max-width: none; visibility: hidden; will-change: transform, opacity; }

/* telas fictícias */
.m, .mm { position: relative; overflow: hidden; background: #0B0D12; color: #fff; font: 400 22px/1.45 Inter, sans-serif; }
.m { width: 1280px; height: 760px; }
.mm { width: 390px; height: 830px; font-size: 16px; }
.m > img, .mm > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; }
.m-veu { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,14,10,.82), rgba(20,14,10,.12) 68%); }
.mm .m-veu { background: linear-gradient(180deg, rgba(20,14,10,.2) 20%, rgba(20,14,10,.9) 75%); }
.m-nav { position: absolute; left: 0; right: 0; top: 0; height: 88px; display: flex; align-items: center; gap: 38px; padding: 0 56px; font-weight: 500; }
.mm .m-nav { height: 84px; padding: 22px 22px 0; }
.m-logo { font: 800 26px Montserrat, sans-serif; margin-right: auto; }
.mm .m-logo { font-size: 18px; }
.m-txt { position: absolute; left: 56px; bottom: 74px; width: 680px; }
.mm .m-txt { left: 22px; right: 22px; bottom: 74px; width: auto; }
.m-txt h4 { font: 900 68px/1.03 Montserrat, sans-serif; letter-spacing: -.03em; margin-bottom: 30px; color: #fff; }
.mm .m-txt h4 { font-size: 36px; margin-bottom: 20px; }
.m-btn { display: inline-block; background: #fff; color: #0B0D12; font-weight: 600; padding: 18px 34px; border-radius: 999px; }
.mm .m-btn { display: block; text-align: center; padding: 15px; }
.m-aviso { position: absolute; right: 28px; bottom: 26px; background: rgba(255,255,255,.94); color: #0B0D12; font: 600 20px Inter, sans-serif; padding: 8px 18px; border-radius: 999px; }
.mm .m-aviso { right: auto; left: 22px; bottom: 24px; font-size: 14px; padding: 6px 14px; }

/* conteúdo */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.nicho .demo { padding-top: 10vh; }
.step-card .passo { font: 700 clamp(20px, 1.9vw, 25px)/1.28 Montserrat, sans-serif; color: var(--ink); letter-spacing: -.01em; }
.step-card .btn { margin-top: 18px; }
.step-card .aviso { font-size: 14px; color: var(--muted); margin-top: 12px; }
.camada-txt { margin-top: 12px; font-size: 16px; color: var(--muted); min-height: 3.2em; }
.entra { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 12px; }
.entra article { background: var(--bg); border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.entra p { font-size: 16px; color: var(--muted); }
.envia { margin-top: 28px; max-width: 760px; }
.apoio { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 15px; color: var(--muted); }
.apoio a { color: var(--blue-dark); font-weight: 600; text-underline-offset: 2px; }

@media (max-width: 1000px) { .entra { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
  .janela { bottom: auto; height: 62vh; height: 62svh; }
  .janela::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14%; background: linear-gradient(transparent, var(--bg)); z-index: 5; }
  .explode { background: radial-gradient(circle at 50% 45%, #30363D 0%, #171A1E 75%); }
  .nicho .step { padding-bottom: 92px; }
  .step-card .passo { font-size: 19px; }
  .step-card .camada-txt { font-size: 15px; min-height: 4.4em; }
  .step-card .aviso { font-size: 13px; }
  .entra { grid-template-columns: 1fr; }
  .nicho .hero h1 { font-size: 29px; }
  .nicho .hero .lead { font-size: 16px; margin: 12px 0 16px; }
}
