/* ==========================================================================
   VALORA — desenhos técnicos do scrollytelling + blocos das páginas de atuação
   Compartilhado por todas as páginas A.xx / B.xx
   ========================================================================== */

.mach{width:100%;height:auto;display:block}
.mach .base{fill:none;stroke:var(--navy-500);stroke-width:1.6;stroke-linejoin:round}
.mach .fill-dark{fill:rgba(20,35,63,.85);stroke:var(--navy-500);stroke-width:1.4}
.mach .hatch{fill:none;stroke:var(--navy-600);stroke-width:1}
.mach .risk{fill:none;stroke:#D9534F;stroke-width:1.6;stroke-dasharray:6 4}
.mach .risk-fill{fill:rgba(217,83,79,.13)}
.mach .guard{fill:rgba(201,162,76,.09);stroke:var(--gold-500);stroke-width:1.7}
.mach .acc{fill:none;stroke:var(--gold-400);stroke-width:1.6;stroke-linecap:round}
.mach .beam{stroke:var(--gold-300);stroke-width:1.1;stroke-dasharray:3 5;opacity:.9}
.mach .lbl{font-family:'IBM Plex Mono',monospace;font-size:11.5px;fill:var(--slate-dim);letter-spacing:.07em}
.mach .lbl-g{fill:var(--gold-500)}
.mach .lbl-r{fill:#D9534F}
.mach .op{fill:none;stroke:var(--slate-deep);stroke-width:1.5;stroke-linecap:round}

@keyframes pulseRisk{0%,100%{opacity:1}50%{opacity:.4}}
.layer.on .risk{animation:pulseRisk 2.4s ease-in-out infinite}

/* grade de escopo das páginas internas */
.spec{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(61,83,120,.3);border:var(--rule)}
.spec div{background:var(--navy-950);padding:22px}
.spec h4{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-700);margin:0 0 10px;font-weight:400}
.spec p{margin:0;font-size:15px;color:var(--slate);line-height:1.6}

.crumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--slate-deep)}
.crumb a:hover{color:var(--gold-400)}

/* navegação entre áreas, no pé das páginas internas */
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(61,83,120,.34);border:var(--rule)}
.prevnext a{background:var(--navy-950);padding:26px 28px;transition:background .35s var(--ease)}
.prevnext a:hover{background:var(--navy-900)}
.prevnext span{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-700);margin-bottom:10px}
.prevnext strong{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--paper)}
.prevnext .r{text-align:right}

@media (max-width:860px){.spec{grid-template-columns:1fr}.prevnext{grid-template-columns:1fr}.prevnext .r{text-align:left}}
@media (prefers-reduced-motion:reduce){.layer.on .risk{animation:none}}
