/* Nexos 5.0 — páginas simples (obrigado e 404) */
.sp{padding:clamp(56px,9vw,120px) 0 clamp(64px,8vw,110px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.sp-eb{display:flex;align-items:center;gap:10px;margin:0 0 18px;font:500 11.5px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#0E6B58}
.sp-eb i{width:7px;height:7px;border-radius:50%;background:#F2994A}
.sp h1{margin:0;font:600 clamp(36px,5vw,60px)/1.05 Lora,Georgia,serif;color:#16233D;letter-spacing:-.015em;text-wrap:balance}
.sp h1 span{color:#0E6B58}
.sp-lead{margin:20px 0 0;max-width:52ch;font:400 18px/1.6 'Helvetica Neue',Helvetica,Arial,sans-serif;color:#4B5262}
.sp-sum{margin:22px 0 0;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid rgba(22,35,61,.12);font:400 15.5px/1.55 'Helvetica Neue',Helvetica,Arial,sans-serif;color:#16233D;max-width:52ch}
.sp-sum b{font-weight:600}
.sp-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.sp-b1,.sp-b2{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 10px 0 22px;border-radius:10px;font:600 15.5px 'Helvetica Neue',Helvetica,Arial,sans-serif;text-decoration:none;transition:background .2s,transform .2s}
.sp-b1{background:#16233D;color:#F5F3EC}.sp-b1:hover{background:#22345A}
.sp-b1 i,.sp-b2 i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal}
.sp-b1 i{background:#F5F3EC;color:#16233D}
.sp-b2{background:#25D366;color:#fff;padding-right:22px}.sp-b2:hover{background:#1EB85A}
.sp-b1:focus-visible,.sp-b2:focus-visible,.sp-links a:focus-visible{outline:2px solid #16233D;outline-offset:3px}
.sp-steps{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:14px;max-width:52ch}
.sp-steps li{display:flex;gap:14px;align-items:flex-start;font:400 15.5px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif;color:#3E475A}
.sp-steps b{display:block;color:#16233D;font-weight:600}
.sp-steps span.n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid #16233D;font:600 12px 'JetBrains Mono',monospace;color:#16233D}
.sp-steps li:first-child span.n{background:#F2994A;border-color:#F2994A;color:#16233D}
.sp-art{justify-self:center;width:min(320px,100%)}
.sp-art svg{display:block;width:100%;height:auto}
.sp-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.sp-links a{padding:9px 14px;border-radius:99px;border:1px solid rgba(22,35,61,.18);background:#fff;font:500 14px 'Helvetica Neue',Helvetica,Arial,sans-serif;color:#16233D;text-decoration:none}
.sp-links a:hover{border-color:#16233D}
.sp-code{font:600 clamp(80px,14vw,160px)/1 Lora,Georgia,serif;color:#16233D;letter-spacing:-.04em}
.sp-code span{color:#F2994A}
@media(max-width:820px){.sp{grid-template-columns:1fr}.sp-art{order:-1;width:min(260px,70%)}}
@media(prefers-reduced-motion:no-preference){.sp-art .ring{transform-origin:50px 50px;animation:spR 1.4s cubic-bezier(.3,1.2,.4,1) both}.sp-art .core{transform-origin:50px 50px;animation:spC .6s 1s cubic-bezier(.3,1.6,.5,1) both}}
@keyframes spR{from{transform:rotate(-200deg);opacity:0}to{transform:none;opacity:1}}
@keyframes spC{from{transform:scale(0)}to{transform:none}}
.sp h1 .sp-nm{font-weight:inherit;color:inherit}

/* desenho técnico (mesmas regras das páginas de segmento) */
.bp{display:block;width:100%;height:100%;overflow:visible}
.bp text{font:500 9.5px 'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;fill:#16233D;fill-opacity:.78}
.bp .bp-tb text{font-size:9px}.bp .bp-tbk{fill:#0E6B58;fill-opacity:1}
.bp path,.bp circle,.bp rect{vector-effect:non-scaling-stroke}
.bp.arm .bp-f,.bp.arm .bp-l:not(.bp-flow){stroke-dasharray:1;stroke-dashoffset:1}
.bp.arm .bp-f{fill-opacity:0}
.bp.arm .bp-c,.bp.arm .bp-d,.bp.arm .bp-node,.bp.arm .bp-sh,.bp.arm .bp-tb,.bp.arm .bp-flow,.bp.arm .bp-scan{opacity:0}
.bp.on .bp-f,.bp.on .bp-l:not(.bp-flow){stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.45,0,.2,1) var(--d,0s),fill-opacity .7s ease calc(var(--d,0s) + .5s)}
.bp.on .bp-f{fill-opacity:1}
.bp.on .bp-c,.bp.on .bp-d,.bp.on .bp-node,.bp.on .bp-sh,.bp.on .bp-tb,.bp.on .bp-flow,.bp.on .bp-scan{opacity:1;transition:opacity .6s ease 1.3s}
.bp.on .bp-c:nth-of-type(2n){transition-delay:1.5s}
/* movimentos contínuos (só enquanto visível) */
.bp .bp-scan,.bp .bp-flow,.bp .bp-hit,.bp .bp-hit2,.bp .bp-node circle+circle,.bp .bp-pull,.bp .bp-tab,.bp .bp-feed,.bp .bp-seal{animation-play-state:paused}
.bp.run .bp-scan,.bp.run .bp-flow,.bp.run .bp-hit,.bp.run .bp-hit2,.bp.run .bp-node circle+circle,.bp.run .bp-pull,.bp.run .bp-tab,.bp.run .bp-feed{animation-play-state:running}
.bp .bp-scan{animation:bpScan 3.2s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes bpScan{to{transform:translate(var(--dx),var(--dy))}}
.bp .bp-flow{stroke-dasharray:3 4;animation:bpFlow 1.4s linear infinite}
@keyframes bpFlow{to{stroke-dashoffset:-14}}
.bp .bp-hit{animation:bpHit 3.2s ease-in-out infinite}
@keyframes bpHit{0%,40%{fill-opacity:.15}60%,100%{fill-opacity:1}}
.bp .bp-hit2{animation:bpHit2 2.6s ease-in-out infinite}
@keyframes bpHit2{0%,100%{stroke-opacity:1}50%{stroke-opacity:.35}}
.bp .bp-node circle+circle{transform-box:fill-box;transform-origin:center;animation:bpNode 2.4s ease-in-out infinite}
.bp .bp-node:nth-of-type(2) circle+circle{animation-delay:.4s}.bp .bp-node:nth-of-type(3) circle+circle{animation-delay:.8s}
@keyframes bpNode{0%,100%{transform:scale(1)}50%{transform:scale(1.6)}}
.bp .bp-pull{animation:bpPull 6s cubic-bezier(.65,0,.35,1) infinite}
@keyframes bpPull{0%,12%{transform:translate(var(--px),var(--py))}38%,88%{transform:none}100%{transform:translate(var(--px),var(--py))}}
.bp .bp-tab{animation:bpTab 3s ease-in-out infinite}
@keyframes bpTab{0%,100%{transform:none}50%{transform:translateY(-5px)}}
.bp .bp-feed{animation:bpFeed 5s cubic-bezier(.5,0,.5,1) infinite}
@keyframes bpFeed{0%{transform:none}70%,100%{transform:translateY(var(--fy))}}
@media (prefers-reduced-motion:reduce){.bp *{animation:none!important;transition:none!important}}
.bp.bp-n .bp-c,.bp.bp-n .bp-d,.bp.bp-n .bp-tb,.bp.bp-n>path{display:none}
.bp .bp-n{stroke:none}
.bp text.bp-nt{font:600 8.5px 'Geist Mono',ui-monospace,monospace;fill:#fff;fill-opacity:1;letter-spacing:0}
.bp .bp-x{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.z-card:hover .bp .bp-x,.bp:hover .bp-x{transform:translateY(-7px)}

.bp .bp-n{fill:#16233D}
