/* Feitaz — /sistemas/ (prefixo si-). Tokens em feitaz.css; componentes em servico.css. */

/* ---------- Herói ---------- */
.si-heroi__titulo { font-size: clamp(2.8rem, 5.1vw, 5.5rem); }
@media (min-width: 1100px) { .si-heroi .pg-heroi__texto { max-width: 900px; } }
@media (max-width: 899px) { .si-heroi__titulo { font-size: clamp(2.05rem, 9.3vw, 3.9rem); font-stretch: 108%; } }
.si-heroi__grade { display: grid; gap: 36px; align-items: end; }
.si-heroi { min-height: min(94svh, 920px); }
@media (min-width: 1100px) { .si-heroi__grade { grid-template-columns: minmax(0, 1fr) 392px; } }
.si-vivo {
  display: grid; gap: 12px; padding: 18px 20px 20px; border-radius: 22px; max-width: 420px;
  background: rgba(18, 17, 16, .62); border: 1px solid var(--linha-2);
  backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .8);
}
.si-vivo__tit { font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cinza); }
.si-vivo__linha { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; padding-top: 12px; border-top: 1px solid var(--linha); }
.si-vivo__linha strong { display: block; font-size: .95rem; font-weight: 680; font-stretch: 108%; line-height: 1.2; }
.si-vivo__linha small { display: block; font-family: var(--f-mono); font-size: .75rem; letter-spacing: -.02em; color: var(--cinza); overflow-wrap: anywhere; }
@media (min-width: 1100px) { .si-vivo { margin-bottom: 8px; } }

/* ---------- 01 Painel ao vivo ---------- */
.si-painel { padding-top: clamp(24px, 3vw, 48px); overflow: clip; }
.si-painel::before { content: ""; position: absolute; left: 50%; top: 32%; width: min(1400px, 120vw); height: 60%; transform: translateX(-50%); background: radial-gradient(50% 50% at 50% 50%, rgba(255, 90, 31, .22), transparent 70%); filter: blur(30px); pointer-events: none; z-index: -1; }
.si-painel__palco { perspective: 1800px; perspective-origin: 50% 0%; }
.si-painel__inclina { position: relative; transform-origin: 50% 0%; }
.si-painel__inclina::after { content: ""; position: absolute; inset: auto 8% -40px; height: 80px; background: radial-gradient(50% 50% at 50% 50%, rgba(255, 90, 31, .45), transparent 70%); filter: blur(24px); z-index: -1; pointer-events: none; }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .si-painel__inclina { animation: si-inclina linear both; animation-timeline: view(); animation-range: entry 0% cover 42%; }
  }
}
@keyframes si-inclina {
  from { transform: rotateX(24deg) scale(.9) translateY(30px); opacity: .55; }
  to { transform: none; opacity: 1; }
}
.si-painel__notas { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; display: grid; gap: 1px; background: var(--linha); border: 1px solid var(--linha); border-radius: var(--r-l); overflow: hidden; }
@media (min-width: 860px) { .si-painel__notas { grid-template-columns: repeat(3, 1fr); } }
.si-painel__notas li { display: grid; gap: 6px; align-content: start; padding: 24px 26px 26px; background: var(--carvao); }
.si-painel__notas strong { font-size: 1.1rem; font-weight: 740; font-stretch: 110%; letter-spacing: -.015em; }
.si-painel__notas span:last-child { color: var(--cinza); font-size: .96rem; }
.si-painel__n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; margin-bottom: 6px; font-size: .74rem; color: var(--carvao); background: var(--fogo); }

/* ---------- 02 Prova real ---------- */
.si-casos { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(72px, 9vw, 130px); }
.si-caso { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px 28px; align-items: start; }
.si-caso > * { min-width: 0; }
@media (min-width: 1000px) {
  .si-caso { grid-template-columns: minmax(0, .82fr) minmax(0, 1.5fr); grid-template-rows: auto auto 1fr auto; grid-template-areas: "cab fig" "fatos fig" "link fig" ". mini"; column-gap: clamp(40px, 5vw, 80px); }
  .si-caso--mr { grid-template-columns: minmax(0, 1.5fr) minmax(0, .82fr); grid-template-areas: "fig cab" "fig fatos" "fig link" "mini ."; }
  .si-caso__cab { grid-area: cab; } .si-caso__fig { grid-area: fig; } .si-caso__mini { grid-area: mini; } .si-caso__fatos { grid-area: fatos; align-self: start; } .si-caso > .link-seta { grid-area: link; align-self: start; justify-self: start; }
}
.si-caso__cab { display: grid; gap: 16px; justify-items: start; }
.si-caso__cab h3 { font-size: clamp(1.7rem, 2.6vw, 2.5rem); }
.si-caso__cab p { color: var(--cinza-2); max-width: 48ch; }
.si-caso__fig { margin: 0; }
.si-caso__moldura { box-shadow: 0 50px 110px -44px rgba(11, 10, 9, .55), 0 0 0 1px rgba(11, 10, 9, .06); transform: rotate(-.6deg); transition: transform .8s var(--ease); }
.si-caso--mr .si-caso__moldura { transform: rotate(.6deg); }
.si-caso:hover .si-caso__moldura { transform: none; }
.si-caso__moldura .nav-frame__tela { background: #f7f7f5; }
.si-caso__moldura .nav-frame__tela img { transition: opacity .35s var(--ease); }
.si-caso__moldura .nav-frame__tela img.si-troca { opacity: .15; }
.si-caso__leg { margin-top: 12px; font-family: var(--f-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--cinza-2); }
.si-caso .si-caso__mini { list-style: none; margin: 0; padding: 2px 2px 8px; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.si-caso__mini li { flex: none; scroll-snap-align: start; }
.si-caso__mini a { display: grid; gap: 7px; width: 118px; text-decoration: none; color: var(--cinza-2); font-family: var(--f-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.si-caso__mini img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top left; border-radius: 9px; border: 1px solid rgba(11, 10, 9, .12); transition: border-color .3s, transform .5s var(--ease), box-shadow .3s; }
.si-caso__mini a:hover img { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(11, 10, 9, .5); }
.si-caso__mini a[aria-current="true"] { color: var(--tinta); }
.si-caso__mini a[aria-current="true"] img { border-color: var(--brasa-escura); box-shadow: 0 0 0 2px var(--brasa-escura); }
.si-caso__fatos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(11, 10, 9, .1); border: 1px solid rgba(11, 10, 9, .1); border-radius: var(--r-m); overflow: hidden; }
.si-caso__fatos li { display: grid; gap: 4px; align-content: start; padding: 16px 14px; background: var(--osso); }
.si-caso__fatos strong { font-size: clamp(1.05rem, 1.6vw, 1.45rem); font-weight: 820; font-stretch: 116%; letter-spacing: -.03em; line-height: 1; }
.si-caso__fatos span { font-size: .82rem; color: var(--cinza-2); line-height: 1.35; }
.si-numeros { margin-top: clamp(80px, 10vw, 140px); display: grid; gap: 22px; }
.si-numeros__tit { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: baseline; color: var(--cinza-2); }
.si-numeros__tit .olho { color: var(--brasa-escura); }
.si-numeros .numero__valor { background: linear-gradient(100deg, #C9530C 0%, var(--brasa-escura) 50%, #B01E4C 100%); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: clamp(3rem, 6vw, 5.4rem); }
.si-numeros__nota { font-size: .9rem; color: var(--cinza-2); max-width: 80ch; }

/* ---------- 03 Nichos ---------- */
.si-nichos { background: radial-gradient(60% 50% at 90% 10%, rgba(255, 90, 31, .10), transparent 70%), var(--carvao); }
.si-nichos__paineis { display: grid; gap: 22px; }
.si-nichos--js { display: grid; gap: 28px; }
@media (min-width: 1040px) { .si-nichos--js { grid-template-columns: 290px minmax(0, 1fr); gap: 44px; align-items: start; } }
.si-nichos__abas { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gut) * -1); padding: 2px var(--gut) 6px; }
.si-nichos__abas::-webkit-scrollbar { display: none; }
.si-nichos__abas button {
  flex: none; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px; border-radius: 999px;
  border: 1px solid var(--linha-2); background: rgba(244, 239, 230, .04); color: var(--cinza); font-weight: 680; font-stretch: 110%; font-size: 1rem;
  transition: color .3s, background-color .3s, border-color .3s;
}
.si-nichos__abas button .mono { font-size: .66rem; color: var(--cinza-2); letter-spacing: .08em; }
.si-nichos__abas button:hover { color: var(--osso); }
.si-nichos__abas button[aria-selected="true"] { color: var(--carvao); background: var(--brasa); border-color: var(--brasa); }
.si-nichos__abas button[aria-selected="true"] .mono { color: rgba(11, 10, 9, .6); }
@media (min-width: 1040px) {
  .si-nichos__abas { position: sticky; top: calc(var(--topo-h) + 40px); flex-direction: column; gap: 0; overflow: visible; margin: 0; padding: 0; border-top: 1px solid var(--linha); }
  .si-nichos__abas button {
    width: 100%; min-height: 0; padding: 16px 0 14px; border: 0; border-bottom: 1px solid var(--linha); border-radius: 0; background: none;
    font-size: clamp(1.6rem, 2.3vw, 2.25rem); font-weight: 820; font-stretch: 120%; letter-spacing: -.04em; line-height: 1; justify-content: flex-start;
  }
  .si-nichos__abas button .mono { align-self: flex-start; margin-top: 4px; }
  .si-nichos__abas button[aria-selected="true"] { background: none; }
  .si-nichos__abas button[aria-selected="true"] { color: transparent; background: var(--fogo); -webkit-background-clip: text; background-clip: text; }
  .si-nichos__abas button[aria-selected="true"] .mono { color: var(--brasa); }
}
.si-nicho {
  position: relative; display: grid; gap: 32px; align-items: center; padding: clamp(24px, 3.4vw, 48px);
  border-radius: var(--r-xl); background: radial-gradient(80% 70% at 100% 0%, rgba(255, 90, 31, .13), transparent 60%), var(--carvao-2); border: 1px solid var(--linha);
}
@media (min-width: 900px) { .si-nicho { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 44px; } }
.si-nicho:focus-visible { outline-offset: 6px; }
.si-nicho__txt { display: grid; gap: 16px; justify-items: start; }
.si-nicho__olho { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--brasa); }
.si-nicho h3 { font-size: clamp(1.9rem, 3vw, 2.9rem); font-weight: 820; font-stretch: 116%; letter-spacing: -.04em; line-height: .98; text-wrap: balance; }
.si-nicho h3 .serifa { font-size: 1.08em; color: var(--brasa-2); }
.si-nicho__txt > p:not([class]) { color: var(--cinza); max-width: 52ch; }
.si-nicho__mods { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.si-nicho__mods li.is-vivo { border-color: rgba(61, 220, 132, .45); color: var(--osso); background: rgba(61, 220, 132, .06); }
.si-nicho__mods li.is-vivo::before { content: "✓ "; color: var(--vivo); }
.si-nicho__mods li { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--linha-2); font-family: var(--f-mono); font-size: .75rem; letter-spacing: .04em; color: rgba(244, 239, 230, .86); background: rgba(244, 239, 230, .03); }
.si-nicho__real { display: flex; gap: 12px; align-items: flex-start; font-size: .92rem; line-height: 1.45; color: var(--cinza); }
.si-nicho__real .pilula { flex: none; margin-top: -2px; }
.si-nicho__real a { color: var(--osso); text-decoration-color: var(--brasa); }
.si-nicho__cta { margin-top: 6px; white-space: normal; text-align: left; line-height: 1.2; }
.si-nicho__real--sob { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.si-nicho__real--sob::before { content: "✦"; color: var(--brasa); }

/* Mini-telas ilustrativas */
.si-ui {
  --ui-fundo: #FBF8F2; --ui-linha: rgba(11, 10, 9, .09); --ui-cinza: #6E665C;
  position: relative; display: grid; gap: 12px; padding: 14px; border-radius: 20px; color: var(--tinta); background: var(--ui-fundo);
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 255, 255, .08); transform: rotate(1.2deg); font-size: .82rem; line-height: 1.35;
  transition: transform .8s var(--ease);
}
.si-nicho:hover .si-ui { transform: none; }
.si-ui__barra { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 4px 4px 10px; border-bottom: 1px solid var(--ui-linha); font-weight: 700; font-stretch: 106%; }
.si-ui__barra em { font-style: normal; font-family: var(--f-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--brasa-escura); background: rgba(184, 57, 10, .08); padding: 4px 8px; border-radius: 999px; }
/* pousada */
.si-ui__cal { display: grid; gap: 6px; }
.si-ui__dias, .si-ui__linha { display: grid; grid-template-columns: 62px repeat(8, 1fr); gap: 3px; align-items: center; }
.si-ui__dias i { font-style: normal; font-family: var(--f-mono); font-size: .62rem; color: var(--ui-cinza); text-align: center; }
.si-ui__linha { min-height: 32px; padding: 3px 0; background: linear-gradient(90deg, transparent 62px, #F1ECE3 62px); border-radius: 7px; }
.si-ui__linha > * { grid-row: 1; }
.si-ui__linha b { font-size: .72rem; font-weight: 700; }
.si-ui__res { grid-column: calc(var(--c) + 1) / span var(--n); height: 24px; border-radius: 6px; padding: 0 8px; display: flex; align-items: center; font-size: .64rem; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; }
.si-ui__res--airbnb { background: #D9534F; }
.si-ui__res--booking { background: #3E5C86; }
.si-ui__res--direta { background: var(--brasa); color: var(--carvao); }
.si-ui__res--bloq { background: repeating-linear-gradient(135deg, #D8D2C7 0 6px, #EAE5DC 6px 12px); color: var(--tinta); }
.si-ui__aviso { padding: 10px 12px; border-radius: 10px; font-size: .76rem; }
.si-ui__aviso strong { display: block; font-size: .8rem; }
.si-ui__aviso--erro { background: #FDECE8; color: #7A1F0A; border: 1px solid #F5C4B6; }
.si-ui__rodape { display: flex; flex-wrap: wrap; gap: 6px; }
.si-ui__ok { font-family: var(--f-mono); font-size: .62rem; padding: 5px 9px; border-radius: 999px; background: #E6F5EC; color: #145C33; }
.si-ui__ok::before { content: "● "; color: #1F9D55; }
/* alimentação */
.si-ui__prod { display: grid; gap: 8px; }
.si-ui__prod p { display: grid; grid-template-columns: 1.3fr 1fr 28px; gap: 10px; align-items: center; }
.si-ui__prod i { height: 8px; border-radius: 999px; background: #EDE7DC; position: relative; overflow: hidden; }
.si-ui__prod i::after { content: ""; position: absolute; inset: 0; width: calc(var(--p) * 100%); border-radius: inherit; background: var(--fogo); }
.si-ui__prod b { font-family: var(--f-mono); text-align: right; }
.si-ui__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.si-ui__chip { font-family: var(--f-mono); font-size: .62rem; padding: 5px 9px; border-radius: 999px; background: #EFEAE1; }
.si-ui__chip--alerta { background: #FFF0D6; color: #7A4B00; }
.si-ui__pedido { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 12px; border-radius: 12px; background: var(--tinta); color: var(--osso); }
.si-ui__pedido span { grid-column: 1 / -1; font-size: .68rem; color: var(--cinza); font-family: var(--f-mono); }
.si-ui__pedido strong { font-weight: 700; }
.si-ui__pedido em { font-style: normal; font-family: var(--f-mono); font-size: .66rem; color: var(--vivo); align-self: center; }
/* clínica */
.si-ui__agenda { display: grid; gap: 6px; }
.si-ui__agenda p { display: grid; grid-template-columns: 44px 1fr; gap: 2px 10px; padding: 10px; border-radius: 10px; background: #fff; border: 1px solid var(--ui-linha); }
.si-ui__agenda time { grid-row: span 2; font-family: var(--f-mono); font-size: .7rem; color: var(--ui-cinza); }
.si-ui__agenda span { font-weight: 650; }
.si-ui__st { justify-self: start; font-family: var(--f-mono); font-size: .6rem; font-weight: 500; padding: 3px 8px; border-radius: 999px; background: #EFEAE1; color: var(--ui-cinza); }
.si-ui__st--ok { background: #E6F5EC; color: #145C33; }
.si-ui__st--vaga { background: rgba(255, 90, 31, .14); color: var(--brasa-escura); }
.si-ui__vaga { border-style: dashed !important; border-color: rgba(184, 57, 10, .4) !important; background: #FFF8F3 !important; }
/* oficina */
.si-ui__fotos { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 6px; align-items: center; }
.si-ui__fotos i { aspect-ratio: 4 / 3; border-radius: 8px; background: linear-gradient(140deg, #3a3632, #1d1b19 60%), #222; position: relative; overflow: hidden; }
.si-ui__fotos i::after { content: ""; position: absolute; left: 18%; right: 18%; bottom: 22%; height: 30%; border-radius: 40% 40% 12% 12%; background: linear-gradient(180deg, #8b8278, #5c554e); }
.si-ui__fotos i:nth-child(2)::after { left: 30%; right: 8%; }
.si-ui__fotos span { font-family: var(--f-mono); font-size: .6rem; color: var(--ui-cinza); padding-left: 4px; }
.si-ui__itens { display: grid; border: 1px solid var(--ui-linha); border-radius: 10px; overflow: hidden; }
.si-ui__itens p { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; background: #fff; }
.si-ui__itens p + p { border-top: 1px solid var(--ui-linha); }
.si-ui__itens b { font-family: var(--f-mono); font-size: .6rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--ui-cinza); }
.si-ui__aprova { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px; border-radius: 12px; background: #E6F5EC; color: #145C33; }
.si-ui__aprova span { font-size: .72rem; }
/* varejo */
.si-ui__canais { display: grid; gap: 6px; }
.si-ui__canais p { display: flex; justify-content: space-between; padding: 10px 12px; border-radius: 10px; background: #fff; border: 1px solid var(--ui-linha); }
.si-ui__canais b { font-family: var(--f-mono); font-size: .66rem; font-weight: 500; color: #145C33; }
.si-ui__canais p:first-child b { color: var(--brasa-escura); }
.si-ui__estoque { display: flex; align-items: baseline; gap: 12px; padding: 14px; border-radius: 12px; background: var(--tinta); color: var(--osso); }
.si-ui__estoque span { font-size: .72rem; color: var(--cinza); flex: 1; }
.si-ui__estoque strong { font-size: 2.6rem; font-weight: 860; font-stretch: 120%; line-height: .9; color: var(--brasa); }
.si-ui__estoque em { font-style: normal; font-family: var(--f-mono); font-size: .66rem; color: var(--cinza); text-decoration: line-through; }
/* serviços */
.si-ui__funil { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.si-ui__funil div { display: grid; gap: 5px; align-content: start; padding: 8px 6px; border-radius: 10px; background: #F1ECE3; min-height: 120px; }
.si-ui__funil span { font-family: var(--f-mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ui-cinza); }
.si-ui__funil i { height: 22px; border-radius: 6px; background: #fff; border: 1px solid var(--ui-linha); }
.si-ui__funil .si-ui__quente { background: var(--brasa); border-color: var(--brasa); box-shadow: 0 6px 16px -6px rgba(255, 90, 31, .8); }
/* entrada animada das mini-telas */
@media (prefers-reduced-motion: no-preference) {
  .si-nichos--js .si-nicho:not([hidden]) .si-ui > * { animation: si-surge .7s var(--ease) both; animation-delay: calc(var(--k, 0) * 80ms); }
  .si-nichos--js .si-nicho:not([hidden]) .si-ui > :nth-child(2) { --k: 1; }
  .si-nichos--js .si-nicho:not([hidden]) .si-ui > :nth-child(3) { --k: 2; }
  .si-nichos--js .si-nicho:not([hidden]) .si-ui > :nth-child(4) { --k: 3; }
  .si-nichos--js .si-nicho:not([hidden]) .si-ui__res { animation: si-barra .8s var(--ease) both; animation-delay: .25s; transform-origin: left center; }
}
@keyframes si-surge { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes si-barra { from { transform: scaleX(0); } to { transform: none; } }

/* ---------- 04 Calculadora ---------- */
.si-conta .dm-calc { position: relative; }
.si-conta__nota { margin-top: 18px; max-width: 78ch; font-size: .92rem; color: var(--cinza-2); }

/* ---------- 05 Integrações (constelação) ---------- */
.si-integ { background: radial-gradient(50% 40% at 25% 30%, rgba(255, 90, 31, .12), transparent 70%), var(--carvao); overflow: clip; }
.si-integ__grade { display: grid; gap: 48px; align-items: start; }
@media (min-width: 1100px) { .si-integ__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; } .si-const { position: sticky; top: calc(var(--topo-h) + 40px); } }
.si-const { position: relative; width: min(100%, 600px); aspect-ratio: 1; margin-inline: auto; }
.si-const__fios { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.si-const__fios line, .si-const__fios circle { fill: none; }
.si-const__orbita, .si-const__linhas line { vector-effect: non-scaling-stroke; }
.si-const__orbita { stroke: var(--linha); stroke-width: 1; stroke-dasharray: 2 6; }
.si-const__linhas line { stroke: rgba(244, 239, 230, .13); stroke-width: 1; transition: stroke .4s, stroke-width .4s; }
.si-const__linhas line.is-ativo { stroke: rgba(255, 90, 31, .7); stroke-width: 1.6; }
.si-const__pulsos line { stroke: var(--brasa-2); stroke-width: .5; stroke-linecap: round; stroke-dasharray: 7 93; stroke-dashoffset: 100; opacity: .95; filter: drop-shadow(0 0 1.2px rgba(255, 90, 31, .9)); }
@media (prefers-reduced-motion: no-preference) {
  .si-const__pulsos line { animation: si-pulso 3.6s linear infinite; }
  .si-const__pulsos line:nth-child(2) { animation-delay: -.4s; } .si-const__pulsos line:nth-child(3) { animation-delay: -1.1s; }
  .si-const__pulsos line:nth-child(4) { animation-delay: -1.7s; } .si-const__pulsos line:nth-child(5) { animation-delay: -2.3s; }
  .si-const__pulsos line:nth-child(6) { animation-delay: -2.9s; } .si-const__pulsos line:nth-child(7) { animation-delay: -.8s; }
  .si-const__pulsos line:nth-child(8) { animation-delay: -1.4s; } .si-const__pulsos line:nth-child(9) { animation-delay: -2s; }
  .si-const__pulsos line:nth-child(10) { animation-delay: -3.2s; }
  .si-pausa .si-const__pulsos line, .si-pausa .si-const__centro::before { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) { .si-const__pulsos { display: none; } }
@keyframes si-pulso { to { stroke-dashoffset: 0; } }
.si-const__centro {
  position: absolute; left: 50%; top: 50%; width: 31%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
  display: grid; place-content: center; justify-items: center; gap: 2px; text-align: center; padding: 8px;
  background: radial-gradient(circle at 50% 35%, #2a1a12 0%, #140f0c 70%); border: 1px solid rgba(255, 90, 31, .45);
  box-shadow: 0 0 0 10px rgba(255, 90, 31, .05), 0 0 80px -10px rgba(255, 90, 31, .6);
}
.si-const__centro::before { content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 1px solid rgba(255, 90, 31, .25); }
@media (prefers-reduced-motion: no-preference) { .si-const__centro::before { animation: si-onda 3.6s var(--ease) infinite; } }
@keyframes si-onda { from { transform: scale(.9); opacity: 1; } to { transform: scale(1.35); opacity: 0; } }
.si-const__f { font-size: clamp(1.6rem, 4vw, 2.8rem); font-weight: 900; font-stretch: 125%; line-height: 1; background: var(--fogo); -webkit-background-clip: text; background-clip: text; color: transparent; }
.si-const__centro strong { font-size: clamp(.78rem, 1.4vw, 1rem); font-weight: 760; font-stretch: 110%; }
.si-const__centro small { font-family: var(--f-mono); font-size: clamp(.5rem, .9vw, .62rem); color: var(--cinza); letter-spacing: .06em; }
.si-no { --s: 52px; position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, calc(var(--s) / -2)); display: grid; justify-items: center; gap: 7px; width: max-content; }
.si-no svg { width: var(--s); height: var(--s); padding: calc(var(--s) / 4); border-radius: 50%; background: var(--carvao-3); border: 1px solid var(--linha-2); fill: none; stroke: var(--osso); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: border-color .4s, box-shadow .4s, background-color .4s, stroke .4s, transform .5s var(--ease); flex: none; }
.si-no span { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--cinza); white-space: nowrap; transition: color .4s; }
.si-no--perto { --s: 42px; }
.si-no.is-ativo svg { border-color: var(--brasa); background: #2a160d; stroke: var(--brasa-2); box-shadow: 0 0 0 6px rgba(255, 90, 31, .12), 0 0 40px -4px rgba(255, 90, 31, .7); transform: scale(1.08); }
.si-no.is-ativo span { color: var(--osso); }
@media (max-width: 640px) {
  .si-no span { display: none; }
  .si-no { --s: 40px; }
  .si-no--perto { --s: 34px; }
  .si-const { width: 88%; }
}
.si-integ__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 620px) { .si-integ__lista { grid-template-columns: 1fr 1fr; } }
.si-int { display: grid; gap: 6px; align-content: start; padding: 18px 18px 20px; border-radius: var(--r-m); background: var(--carvao-2); border: 1px solid var(--linha); transition: border-color .4s, background-color .4s, transform .5s var(--ease); cursor: default; }
.si-int__tag { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--brasa); }
.si-int h3 { font-size: 1.1rem; font-weight: 740; font-stretch: 110%; letter-spacing: -.015em; line-height: 1.15; }
.si-int p { font-size: .9rem; line-height: 1.5; color: var(--cinza); }
.si-int.is-ativo { border-color: rgba(255, 90, 31, .55); background: linear-gradient(160deg, rgba(255, 90, 31, .10), transparent 60%), var(--carvao-3); }
.si-int__vivo { justify-self: start; font-family: var(--f-mono); font-size: .75rem; letter-spacing: .04em; color: var(--vivo); }
@media (max-width: 619px) {
  .si-integ__lista { grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(var(--gut) * -1); padding: 2px var(--gut) 16px; scroll-padding-inline: var(--gut); scrollbar-width: none; }
  .si-integ__lista::-webkit-scrollbar { display: none; }
  .si-int { scroll-snap-align: start; }
  .si-integ__grade { gap: 28px; }
}

/* ---------- 06 Engenharia (pilha) ---------- */
.si-eng__grade { display: grid; gap: 40px; align-items: center; }
@media (min-width: 1000px) { .si-eng__grade { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 64px; } }
.si-pilha { height: clamp(380px, 46vw, 560px); display: grid; place-items: center; perspective: 1600px; overflow: visible; }
.si-pilha__cena { position: relative; width: clamp(200px, 26vw, 330px); aspect-ratio: 1; transform: translateY(12%) rotateX(58deg) rotateZ(-42deg); transform-style: preserve-3d; }
.si-placa {
  position: absolute; inset: 0; border-radius: 18px; transform: translateZ(calc(var(--i) * clamp(22px, 3vw, 38px)));
  background: linear-gradient(135deg, rgba(36, 33, 30, .96), rgba(11, 10, 9, .96)); border: 1px solid rgba(255, 90, 31, .22);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset; transition: transform .7s var(--ease), border-color .4s, box-shadow .5s, background .4s;
}
.si-placa span { position: absolute; left: 14px; bottom: 12px; font-family: var(--f-mono); font-size: clamp(.55rem, .8vw, .7rem); letter-spacing: .1em; text-transform: uppercase; color: var(--cinza); transition: color .4s; }
.si-placa--tela { background: linear-gradient(135deg, #FBF8F2, #E8E1D5); border: 1px solid rgba(11, 10, 9, .12); box-shadow: 0 0 0 1px rgba(255, 255, 255, .6) inset; }
.si-placa--tela::before { content: ""; position: absolute; inset: 14% 12% 34%; border-radius: 8px; background: repeating-linear-gradient(180deg, rgba(11, 10, 9, .1) 0 6px, transparent 6px 16px), linear-gradient(90deg, var(--brasa) 0 28%, transparent 28%) top / 100% 10px no-repeat; }
.si-placa--tela span { color: var(--cinza-2); }
.si-placa--base { border-style: dashed; background: rgba(184, 57, 10, .08); border-color: rgba(184, 57, 10, .5); }
.si-placa--base span { color: var(--brasa-escura); }
.si-placa.is-ativo { transform: translateZ(calc(var(--i) * clamp(22px, 3vw, 38px) + 6px)) translateY(16%); border-color: var(--brasa); box-shadow: 0 0 0 1px var(--brasa), 0 0 60px -8px rgba(255, 90, 31, .75); }
.si-placa.is-ativo span { color: var(--brasa-2); }
.si-placa--base.is-ativo span { color: var(--brasa-escura); }
.si-camadas { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(11, 10, 9, .14); }
.si-camadas li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 20px 16px 20px 10px; border-bottom: 1px solid rgba(11, 10, 9, .14); border-radius: 12px; transition: background-color .4s, box-shadow .4s; cursor: default; }
.si-camadas .mono { font-size: .76rem; color: var(--cinza-2); padding-top: 4px; transition: color .3s; }
.si-camadas h3 { font-size: 1.22rem; font-weight: 760; font-stretch: 110%; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 6px; }
.si-camadas p { color: var(--cinza-2); font-size: .98rem; }
.si-camadas strong { color: var(--tinta); font-weight: 650; }
.si-camadas li.is-ativo { background: #fff; box-shadow: 0 20px 50px -30px rgba(11, 10, 9, .35); border-bottom-color: transparent; }
.si-camadas li.is-ativo .mono { color: var(--brasa-escura); }
@media (max-width: 999px) { .si-pilha { height: 360px; } }

/* ---------- 07 Etapas (terminal) ---------- */
.si-etapas { background: radial-gradient(50% 60% at 85% 50%, rgba(255, 90, 31, .12), transparent 70%), var(--carvao); }
.si-etapas__grade { display: grid; gap: 40px; align-items: center; }
.si-etapas__grade .t-1 { margin: 18px 0 22px; }
@media (min-width: 1000px) { .si-etapas__grade { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; } }
.si-terminal { border-radius: var(--r-l); background: #0E0D0C; border: 1px solid var(--linha-2); box-shadow: 0 50px 120px -40px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 90, 31, .06); overflow: hidden; }
.si-terminal__barra { display: flex; align-items: center; gap: 7px; height: 38px; padding: 0 16px; background: #1a1816; border-bottom: 1px solid var(--linha); }
.si-terminal__barra i { width: 10px; height: 10px; border-radius: 50%; background: #3a3632; }
.si-terminal__barra .mono { margin-left: 10px; font-size: .75rem; color: var(--cinza); }
.si-terminal .si-terminal__log { list-style: none; margin: 0; padding: 18px clamp(16px, 2.4vw, 28px) 8px; display: grid; }
.si-terminal__log li { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 16px 0; }
.si-terminal__log li + li { border-top: 1px dashed var(--linha); }
.si-terminal__log code { font-family: var(--f-mono); font-size: .8rem; color: var(--brasa); padding-top: 3px; }
.si-terminal__log strong { display: block; font-size: 1.15rem; font-weight: 760; font-stretch: 110%; letter-spacing: -.015em; margin-bottom: 4px; }
.si-terminal__log span { color: var(--cinza); font-size: .96rem; }
.si-terminal__fim { display: flex; align-items: center; gap: 10px; padding: 14px clamp(16px, 2.4vw, 28px) 20px; font-size: .78rem; color: var(--vivo); border-top: 1px solid var(--linha); }
.si-terminal__cursor { width: 9px; height: 16px; background: var(--vivo); }
@media (prefers-reduced-motion: no-preference) { .si-terminal__cursor { animation: si-pisca 1.1s steps(1) infinite; } }
@keyframes si-pisca { 50% { opacity: 0; } }

/* ---------- 08 FAQ ---------- */
.si-faq__grade { display: grid; gap: 40px; }
.si-faq__grade .t-2 { margin-top: 18px; }
@media (min-width: 960px) { .si-faq__grade { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; } .si-faq__grade > div:first-child { position: sticky; top: calc(var(--topo-h) + 40px); align-self: start; } }

/* ---------- Alvos de toque ---------- */
.si-caso > .link-seta { min-height: 44px; align-items: flex-end; }
.si-painel .dm-painel__pausa { width: 44px; height: 44px; border-radius: 12px; }

/* ---------- Outros ---------- */
.si-outros { padding-top: 0; }

/* contraste AA: rótulo mono dentro da aba ativa (fundo brasa) */
@media (max-width: 1039px) { .si-nichos__abas button[aria-selected="true"] .mono { color: var(--carvao); font-size: .72rem; } }
