/* Aestraz: o mesmo céu, preto, Inter e violeta do site da Orbitaz; o globo azul é só da marca. */
:root{--bg:#000;--surface:#16161a;--surface-high:#222228;--border:#2c2c33;--text:#fff;--dim:#a0a0ab;--ai:#8b5cf6;--ai-soft:rgba(139,92,246,.18);--accent:#ff3d6e;--ok:#34d399;--globo:#002776;--font:Inter,-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.55;padding-block:0 80px;padding-inline:16px;position:relative;-webkit-font-smoothing:antialiased}
#stars{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1040px;margin:0 auto;padding:14px 0;background:rgba(0,0,0,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.2px;color:var(--text);text-decoration:none}
.brand img{width:30px;height:30px}
.brand .sub{color:var(--dim);font-weight:500}
.brand .sub::before{content:"/";margin-right:10px;color:var(--border)}
.top nav{display:flex;gap:18px;flex-wrap:wrap}
.top nav a{color:var(--dim);text-decoration:none;font-size:14px;font-weight:500}
.top nav a:hover,.top nav a:focus-visible,.top nav a[aria-current]{color:var(--text)}
.top nav a[aria-current]{font-weight:700}
.ghost{border:1px solid var(--border);padding:8px 16px;border-radius:999px;font-weight:600;font-size:14px;color:var(--text);background:rgba(0,0,0,.3);text-decoration:none;white-space:nowrap}
.ghost:hover{border-color:var(--dim)}
.fill{background:var(--ai);color:#000;border-color:var(--ai)}
.fill:hover{background:#9d74ff;border-color:#9d74ff}
main{max-width:760px;margin:0 auto}
.hero{padding:72px 0 40px}
.eyebrow{color:var(--ai);font-weight:700;font-size:13px;letter-spacing:.6px;text-transform:uppercase;margin:0 0 12px}
h1,h2{margin:0 0 16px;line-height:1.08;letter-spacing:-.6px;font-weight:800;text-wrap:balance}
h1{font-size:clamp(34px,6.5vw,60px)}h2{font-size:clamp(26px,4.2vw,38px)}
h3{font-size:20px;font-weight:700;margin:0 0 6px;letter-spacing:-.2px}
.lead{color:var(--dim);font-size:clamp(17px,2vw,20px);margin:0}
.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--dim);font-size:14px;margin-top:20px}
.meta span{border:1px solid var(--border);border-radius:999px;padding:5px 12px;background:rgba(22,22,26,.85)}
section{padding:40px 0;border-top:1px solid var(--border)}
p{margin:0 0 14px}
.card{background:rgba(22,22,26,.88);border:1px solid var(--border);border-radius:18px;padding:22px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.card p{color:var(--dim);margin:0}
.big{font-size:40px;font-weight:800;letter-spacing:-1.5px;line-height:1;margin:0 0 8px}
.big.bad{color:var(--accent)}
.tbl{overflow-x:auto;margin:18px 0;border:1px solid var(--border);border-radius:16px;background:rgba(22,22,26,.88)}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
th,td{text-align:left;padding:12px 16px;vertical-align:top;border-top:1px solid var(--border)}
th{color:var(--dim);font-weight:600;font-size:13px;letter-spacing:.4px;text-transform:uppercase;border-top:0}
td b{font-weight:700}
.points{list-style:none;padding:0;margin:14px 0}
.points li{position:relative;padding-left:22px;margin:0 0 10px;color:var(--text)}
.points li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--ai)}
.highlight{background:var(--ai-soft);border:1px solid rgba(139,92,246,.4);border-radius:18px;padding:24px;margin:18px 0}
.highlight .big{color:var(--text)}
.note{color:var(--dim);font-size:14px}
.steps{list-style:none;padding:0;margin:14px 0;counter-reset:s}
.steps li{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--border);counter-increment:s}
.steps li::before{content:counter(s);flex:none;width:30px;height:30px;border-radius:50%;background:var(--ai);color:#000;font-weight:800;font-size:14px;display:grid;place-items:center}
.steps li:first-child{border-top:0}
.todo{list-style:none;padding:0;margin:14px 0}
.todo li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--border)}
.todo li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border:1.5px solid var(--dim);border-radius:5px}
a{color:var(--ai)}
footer{max-width:760px;margin:40px auto 0;color:var(--dim);font-size:14px;border-top:1px solid var(--border);padding-top:24px;display:flex;flex-wrap:wrap;gap:8px 18px}
footer a{color:var(--dim)}
:focus-visible{outline:2px solid var(--ai);outline-offset:3px}
/* índice */
.hero.marca{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:88px}
.hero.marca img{width:112px;height:112px;margin-bottom:18px;filter:drop-shadow(0 0 40px rgba(139,92,246,.35))}
.acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.produto{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:rgba(22,22,26,.88);border:1px solid var(--border);border-radius:18px;padding:22px;color:inherit;text-decoration:none}
.produto:hover{border-color:var(--dim)}
.produto svg{width:44px;height:44px}
.produto p{color:var(--dim);margin:0}
.produto .tag{display:inline-block;margin-top:10px;font-size:13px;color:var(--ai);font-weight:600}
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.docs a{display:block;color:inherit;text-decoration:none;background:rgba(22,22,26,.88);border:1px solid var(--border);border-radius:18px;padding:22px}
.docs a:hover{border-color:var(--ai)}
.docs a p{color:var(--dim);margin:0}
.docs a h3{margin-bottom:8px}
.docs a .eyebrow{margin-bottom:8px}
@media (max-width:640px){.top{flex-wrap:wrap;padding-bottom:10px}.brand .sub{display:none}.top nav{width:100%;flex-wrap:nowrap;overflow-x:auto;gap:16px;scrollbar-width:none}.top nav a{white-space:nowrap}.top .ghost{display:none}.produto{grid-template-columns:1fr}}
/* apresentação da Orbitaz: os 12 slides do deck, um por seção, em coluna larga */
main.deck{max-width:1040px}
.slide{padding:64px 0;border-top:1px solid var(--border)}
.slide:first-child{border-top:0}
.slide .n{color:var(--dim);font-size:13px;font-weight:600;letter-spacing:.4px;margin:0 0 18px}
.slide h2{font-size:clamp(30px,5vw,56px);letter-spacing:-1.5px;max-width:860px}
.slide .lead{max-width:760px}
.slide ul.points li{font-size:18px}
.duas{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.duas.inv{grid-template-columns:auto 1fr}
.phones{display:flex;gap:18px;justify-content:center}
.phone{width:220px;max-width:42vw;aspect-ratio:300/649;object-fit:cover;border-radius:30px;border:3px solid #3a3a44;background:#000}
.phone.g{width:260px}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:22px 0}
.g4 .card .num{font-size:52px;font-weight:800;color:var(--ai);line-height:1;margin:0 0 10px}
.card.pref{border:2px solid var(--ai)}
.card .preco{color:var(--text);font-weight:700;font-size:19px;margin-top:12px}
.capa{padding:96px 0 72px;border-top:0}
.capa h1{font-size:clamp(44px,9vw,110px);letter-spacing:-3px;line-height:1.02}
.capa .rodape{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--dim);margin-top:40px}
.fim{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.fim h2{font-size:clamp(34px,6vw,72px);letter-spacing:-2.5px}
.wordmark{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:700;margin-bottom:26px}
.wordmark svg{width:44px;height:44px}
.link{color:var(--ai);font-weight:600;font-size:19px;text-decoration:none}
@media (max-width:760px){.duas,.duas.inv,.fim{grid-template-columns:1fr}.phones{order:2}}
/* ---- animações, as mesmas do site da Orbitaz ---- */
:root{--phone-w:clamp(170px,min(20vw,36svh),240px);--phone-h:calc(var(--phone-w) * 844 / 390)}
.stage{display:flex;gap:18px;justify-content:center;align-items:center;perspective:1400px;perspective-origin:50% 45%;min-width:0;padding:24px 0}
.phone{position:relative;width:var(--phone-w);height:var(--phone-h);flex:none;transform-style:preserve-3d;will-change:transform;max-width:44vw;aspect-ratio:auto;border:0;border-radius:0;background:none}
.phone.big{--phone-w:clamp(200px,min(24vw,42svh),280px)}
.frame{position:absolute;inset:0;border-radius:calc(var(--phone-w) * 0.16);background:#0b0b0f;border:2px solid #3a3a44;box-shadow:0 0 0 5px #141418,0 0 0 6px #33333c,0 40px 80px rgba(0,0,0,.6),0 0 60px var(--ai-soft);transform-style:preserve-3d;transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) translateZ(var(--lz)) scale(var(--ls));transition:transform .12s linear,--lz .45s cubic-bezier(.2,.8,.2,1),--ls .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;overflow:hidden}
.phone.resting .frame,.phone.resting .shine{transition:transform .6s cubic-bezier(.2,.8,.2,1),--lz .45s cubic-bezier(.2,.8,.2,1),--ls .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,--shine .45s}
@property --lz{syntax:'<length>';inherits:true;initial-value:0px}
@property --ls{syntax:'<number>';inherits:true;initial-value:1}
@property --shine{syntax:'<number>';inherits:true;initial-value:0.16}
.phone.lift{z-index:10;--lz:90px;--ls:1.03;--shine:0.28}
.phone.lift .frame{box-shadow:0 0 0 5px #141418,0 0 0 6px #33333c,0 60px 100px rgba(0,0,0,.7),0 0 90px var(--ai-soft)}
.btn.side{position:absolute;width:3px;background:#3a3a44;border-radius:2px;z-index:5}
.btn.vol1{left:-8px;top:22%;height:7%}.btn.vol2{left:-8px;top:31%;height:7%}.btn.power{right:-8px;top:26%;height:11%}
.screen{position:absolute;inset:calc(var(--phone-w) * 0.026);border-radius:calc(var(--phone-w) * 0.135);overflow:hidden;background:#000}
.screen img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;background:linear-gradient(calc(115deg + var(--ty,0deg) * 1.5),rgba(255,255,255,var(--shine,0.16)) 0%,rgba(255,255,255,.03) 30%,rgba(255,255,255,0) 55%);mix-blend-mode:screen;transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) translateZ(calc(var(--lz) + 1px)) scale(var(--ls));transition:transform .12s linear,--lz .45s cubic-bezier(.2,.8,.2,1),--ls .45s cubic-bezier(.2,.8,.2,1),--shine .45s}
.flutua{animation:flutua 4.8s ease-in-out infinite}
@keyframes flutua{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-3deg)}}
.ghost,.docs a,.produto,.card{transition:transform .2s,border-color .2s,filter .2s}
.ghost:hover{transform:translateY(-1px)}
.docs a:hover,.produto:hover{transform:translateY(-2px)}
.hint-move{color:var(--dim);font-size:13px;margin-top:10px}
@media (max-width:760px){.stage{padding:12px 0}}
@media (prefers-reduced-motion:reduce){.phone{transform:none!important}.frame,.shine{transform:none!important;transition:none}.flutua{animation:none}.js-reveal{opacity:1!important;transform:none!important}}
/* página /registro: checklist guardado no navegador */
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--surface-high);padding:1px 6px;border-radius:6px}
.grupo{margin:28px 0 8px;font-size:17px;color:var(--ai)}
.check{list-style:none;padding:0;margin:0}
.check li{border-top:1px solid var(--border)}
.check li:first-child{border-top:0}
.check label{display:flex;gap:14px;padding:14px 0;cursor:pointer;align-items:flex-start}
.check input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin-top:2px;border:1.5px solid var(--dim);border-radius:7px;background:rgba(22,22,26,.85);cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s}
.check input::after{content:"";width:6px;height:11px;border:solid #000;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0;transition:opacity .15s}
.check input:checked{background:var(--ai);border-color:var(--ai)}
.check input:checked::after{opacity:1}
.check li.feito span{color:var(--dim)}
.check li.feito b{text-decoration:line-through;text-decoration-color:var(--ai)}
.progresso{display:flex;align-items:center;gap:14px;margin:18px 0 8px;color:var(--dim);font-size:14px;font-variant-numeric:tabular-nums}
.progresso .track{flex:1;height:8px;border-radius:999px;background:var(--surface-high);overflow:hidden}
.progresso .fill{display:block;height:100%;width:0;background:var(--ai);border-radius:999px;transition:width .4s cubic-bezier(.2,.8,.2,1)}
button.ghost{font:inherit;cursor:pointer}
/* página /custos */
.grafico{margin:18px 0;padding:16px 8px 8px;border:1px solid var(--border);border-radius:16px;background:rgba(22,22,26,.88)}
.grafico svg{display:block;overflow:visible}
#tabela-custos{min-width:820px}
#tabela-custos td:not(:first-child),#tabela-custos th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
