/* Medeiros Internacional · tema Cyber (roxo escuro) */
:root{--bg:#07050F;--bg2:#0D0920;--panel:#120C26;--panel2:#1A1236;--line:rgba(167,139,250,.22);--line2:rgba(167,139,250,.45);--tx:#F1EDFF;--mut:#B7B0D6;--dim:#8C85B0;--pu:#8B5CF6;--neon:#A78BFA;--lil:#C4B5FD;--mag:#E879F9;--cy:#67E8F9;--ok:#34D399;--bad:#F87171;--warn:#FBBF24;--e:cubic-bezier(.2,.7,.1,1);--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--disp:"Space Grotesk",Inter,system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}html,body{overflow-x:clip}
body{font:400 16px/1.6 var(--disp);color:var(--tx);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;position:relative}
body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(900px 600px at 85% -10%,rgba(139,92,246,.30),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(232,121,249,.16),transparent 60%),var(--bg)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(167,139,250,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%)}
img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--cy);outline-offset:3px;border-radius:8px}
::selection{background:var(--pu);color:#fff}
[hidden]{display:none!important}
em{font-style:normal;background:linear-gradient(90deg,var(--lil),var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent}
h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.05;letter-spacing:-.02em}
.kick{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--neon)}
.kick:before{content:"> ";color:var(--mag)}
.lang{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}
.lang button,.lang a{border:0;background:none;border-radius:8px;padding:.35rem .75rem;font-family:var(--mono);font-weight:700;font-size:.76rem;color:var(--mut);text-decoration:none}
.lang button[aria-pressed="true"],.lang a[aria-current]{background:var(--pu);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%;padding:1rem 1.4rem;border-radius:12px;border:0;background:linear-gradient(135deg,var(--pu),#6D28D9);color:#fff;font-weight:700;letter-spacing:.01em;box-shadow:0 0 0 1px rgba(196,181,253,.35) inset,0 14px 34px -14px rgba(139,92,246,.9);transition:transform .2s var(--e),box-shadow .2s;text-decoration:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(196,181,253,.6) inset,0 18px 40px -12px rgba(139,92,246,1)}
.btn.g,.btn.ghost{background:transparent;color:var(--lil);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn.g:hover,.btn.ghost:hover{background:rgba(139,92,246,.12)}
a.btn{text-decoration:none}
.msg{font-size:.88rem;margin-top:.7rem;min-height:1.2em}.msg.ok{color:var(--ok)}.msg.er{color:var(--bad)}
/* hub */
.hub .wrap{width:min(600px,92%);margin:auto;padding:1.2rem 0 2.5rem;display:flex;flex-direction:column;align-items:center}
.hub .hbar{width:100%;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.78rem;color:var(--dim)}
.hub .hbar b{color:var(--lil);font-weight:700}
.hub .top{text-align:center;margin:1.6rem 0 1.6rem}
.hub .av{width:112px;height:112px;margin:0 auto 1.1rem;border-radius:50%;padding:3px;background:conic-gradient(from 0deg,var(--pu),var(--mag),var(--cy),var(--pu));box-shadow:0 0 40px -6px rgba(139,92,246,.9);animation:spin 8s linear infinite}
.hub .av img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--bg);animation:spin 8s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.hub h1{font-size:clamp(2.1rem,8vw,3rem);margin:.6rem 0 .7rem}
.hub .sub{color:var(--mut);max-width:470px;margin:auto}
.hub .next{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.1rem;font-family:var(--mono);font-size:.78rem;padding:.5rem .85rem;border-radius:10px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--lil)}
.hub .next:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pul 1.6s infinite}
@keyframes pul{50%{opacity:.35}}
.links{width:100%;display:grid;gap:.75rem}
.card{display:flex;align-items:center;gap:1rem;text-decoration:none;background:linear-gradient(180deg,rgba(26,18,54,.92),rgba(18,12,38,.92));border-radius:16px;padding:.95rem 1rem;box-shadow:inset 0 0 0 1px var(--line);transition:transform .25s var(--e),box-shadow .25s;opacity:0;animation:in .6s var(--e) forwards;animation-delay:var(--d);position:relative;overflow:hidden}
@keyframes in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--line2),0 18px 40px -22px rgba(139,92,246,.9)}
.card.hot{background:linear-gradient(135deg,#2A1263,#14092E 60%);box-shadow:inset 0 0 0 1.5px rgba(196,181,253,.55),0 0 40px -12px rgba(139,92,246,.9)}
.card.hot:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(196,181,253,.18) 50%,transparent 70%);transform:translateX(-100%);animation:shine 3.6s ease-in-out infinite}
@keyframes shine{60%,100%{transform:translateX(100%)}}
.card .cv{width:54px;height:auto;border-radius:6px;flex:none;box-shadow:0 8px 16px -8px rgba(0,0,0,.9)}
.card .ic{width:54px;height:54px;border-radius:14px;background:rgba(139,92,246,.16);box-shadow:inset 0 0 0 1px var(--line2);display:grid;place-items:center;flex:none}
.card .ic svg{width:26px;height:26px;fill:none;stroke:var(--lil);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card .tx{flex:1;min-width:0;display:flex;flex-direction:column}
.card small{font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--neon)}
.card b{font-size:1.18rem;line-height:1.2;margin:.15rem 0 .2rem}
.card .tx span{font-size:.88rem;color:var(--mut);line-height:1.4}
.card .go{font-family:var(--mono);font-size:1.1rem;color:var(--lil)}
.foot{text-align:center;margin-top:2rem;font-size:.84rem;color:var(--dim)}
.foot .soc{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:.4rem;font-family:var(--mono);font-size:.8rem}
.foot a{color:var(--lil);text-underline-offset:3px}
/* páginas internas */
.nl header.bar{position:sticky;top:0;z-index:20;background:rgba(7,5,15,.72);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);border-bottom:1px solid var(--line)}
.nl .bar .in{width:min(1080px,92%);margin:auto;height:60px;display:flex;align-items:center;gap:1rem}
.nl .bar .brand{margin-right:auto;text-decoration:none;font-family:var(--mono);font-weight:700;font-size:.92rem;letter-spacing:.04em;white-space:nowrap}
.nl .bar .brand i{font-style:normal;color:var(--neon)}
.nl .bar a.hl{white-space:nowrap;font-family:var(--mono);font-size:.8rem;font-weight:700;text-decoration:none;color:var(--lil)}
.nl .w{width:min(1080px,92%);margin:auto}
.nl section{padding:4.5rem 0}
.nl .hero{padding:3.5rem 0 3rem;display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}
.nl .hero h1{font-size:clamp(2.3rem,5.4vw,4rem);margin:.7rem 0 1rem}
.nl .lead{font-size:1.06rem;color:var(--mut);max-width:560px}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}.chips span{font-family:var(--mono);font-size:.74rem;padding:.4rem .7rem;border-radius:8px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--lil)}
.form{background:var(--panel);border-radius:18px;padding:1.4rem;box-shadow:inset 0 0 0 1px var(--line),0 24px 50px -36px rgba(0,0,0,.9);margin-top:1.2rem;max-width:560px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.form label{display:block;font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:.6rem 0 .3rem}
.form input,.form select{width:100%;font:inherit;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--tx)}
.form input:focus,.form select:focus{border-color:var(--neon);outline:none;box-shadow:0 0 0 3px rgba(139,92,246,.25)}
.form .ck{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--mut);margin:.9rem 0}
.form .ck input{width:auto;margin-top:.25rem;accent-color:var(--pu)}
.form label.ck{text-transform:none;letter-spacing:0;font-weight:400;font-family:var(--disp);font-size:.84rem;line-height:1.45}.form .ck a{color:var(--lil)}
.mail{background:var(--panel);border-radius:18px;box-shadow:inset 0 0 0 1px var(--line2),0 30px 60px -30px rgba(139,92,246,.6);overflow:hidden}
.mail .mh{padding:.9rem 1.1rem;border-bottom:1px solid var(--line);font-size:.78rem;color:var(--mut)}
.mail .mh b{display:block;color:var(--tx);font-size:.92rem}
.mail .mb{padding:1.1rem}
.mail .it{padding:.7rem 0;border-bottom:1px dashed var(--line)}.mail .it:last-child{border:0}
.mail .it small{font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--neon)}
.mail .it p{font-size:1.02rem;line-height:1.3}
.secs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.sec{background:var(--panel);border-radius:16px;padding:1.4rem;box-shadow:inset 0 0 0 1px var(--line)}
.sec .n{font-family:var(--mono);font-size:1.2rem;font-weight:700;color:var(--mag)}
.sec h3{font-size:1.3rem;margin:.4rem 0 .4rem}.sec p{font-size:.92rem;color:var(--mut)}
.c{text-align:center}.c .lead{margin:auto}
h2{font-size:clamp(1.9rem,4.4vw,3rem);margin:.5rem 0 .7rem}
.auth{display:grid;grid-template-columns:.4fr 1.6fr;gap:2rem;align-items:center;background:var(--panel);border-radius:20px;padding:2rem;box-shadow:inset 0 0 0 1px var(--line)}
.auth img{width:100%;border-radius:50%;aspect-ratio:1;object-fit:cover;box-shadow:0 0 0 3px var(--pu)}
.auth ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.auth li{font-family:var(--mono);font-size:.74rem;padding:.4rem .7rem;border-radius:8px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line)}
.cal{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.cal div{border-top:2px solid var(--pu);padding-top:.8rem}.cal b{font-family:var(--mono);font-size:1.2rem;display:block;color:var(--lil)}.cal span{font-size:.9rem;color:var(--mut)}
.faq{max-width:780px;margin:auto}
details{border-bottom:1px solid var(--line);padding:1rem 0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-weight:700;font-size:1.08rem}
summary::-webkit-details-marker{display:none}summary:after{content:"+";font-family:var(--mono);color:var(--neon)}details[open] summary:after{content:"–"}
details p{color:var(--mut);margin-top:.4rem}
.nl footer{border-top:1px solid var(--line);padding:2rem 0 3rem;text-align:center;font-size:.85rem;color:var(--dim)}
.nl footer a{color:var(--lil)}
.nl main p a,.nl main li a{color:var(--lil)}
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--e),transform .7s var(--e)}.rv.on{opacity:1;transform:none}
@media (max-width:860px){.nl .hero{grid-template-columns:1fr}.mail{max-width:540px}.secs,.cal{grid-template-columns:1fr}.auth{grid-template-columns:1fr;text-align:center}.auth img{max-width:140px;margin:auto}.auth ul{justify-content:center}}
@media (max-width:520px){.form .row{grid-template-columns:1fr}.nl section{padding:3.2rem 0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.card{opacity:1}.rv{opacity:1;transform:none}}
/* hub v4: seções, cards que abrem e diagnóstico */
.hub .jump{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-top:1rem}
.hub .jump a{font-family:var(--mono);font-size:.74rem;font-weight:700;text-decoration:none;color:var(--lil);padding:.45rem .8rem;border-radius:999px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line2);transition:background .2s}
.hub .jump a:hover{background:rgba(139,92,246,.22)}
.hub .sect{width:100%;display:flex;align-items:center;gap:.6rem;margin:1.1rem 0 .1rem;font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--neon);scroll-margin-top:12px}
.hub .sect:before{content:">";color:var(--mag)}.hub .sect:after{content:"";flex:1;height:1px;background:var(--line)}
.hub .sect:first-child{margin-top:0}
button.card{width:100%;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.card .go.pl{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line2);font-size:1rem;flex:none}
.item{display:grid;scroll-margin-top:12px}
.item.open>.card{border-radius:16px 16px 0 0}
.pnl{background:rgba(13,9,32,.96);border-radius:0 0 16px 16px;box-shadow:inset 0 0 0 1px var(--line);border-top:1px dashed var(--line2);padding:1rem 1rem 1.1rem;animation:in .35s var(--e)}
.pnl ul{list-style:none;display:grid;gap:.4rem;margin-bottom:1rem}
.pnl li{font-size:.92rem;color:var(--mut);line-height:1.4;padding-left:1.1rem;position:relative}
.pnl li:before{content:"▸";position:absolute;left:0;color:var(--neon)}
.pnl .pn{font-size:.78rem;color:var(--dim);margin-top:.6rem;font-family:var(--mono)}
.pnl .bl a{display:flex;flex-direction:column;gap:.1rem;padding:.65rem 0;border-bottom:1px dashed var(--line);text-decoration:none;font-weight:700;line-height:1.3}
.pnl .bl a:hover{color:var(--lil)}
.pnl .lv{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;font-weight:700}.pnl .lv.l0{color:var(--bad)}.pnl .lv.l1{color:var(--warn)}
.pnl .more{display:inline-block;margin-top:.8rem;font-family:var(--mono);font-size:.8rem;color:var(--cy);text-decoration:none}
.btn.sm{width:auto;padding:.7rem 1.1rem;font-size:.9rem}
.dq .prog{display:flex;gap:4px;margin-bottom:.9rem}.dq .prog i{flex:1;height:4px;border-radius:2px;background:rgba(167,139,250,.18)}.dq .prog i.on{background:linear-gradient(90deg,var(--pu),var(--mag))}
.dq .qn{font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--neon)}
.dq .qt{font-size:1.15rem;font-weight:700;margin:.35rem 0 .7rem;line-height:1.25}
.dq .opts{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.dq .opt{text-align:left;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--panel);border-radius:10px;padding:.7rem .8rem;font-size:.88rem;display:flex;gap:.55rem;align-items:center;line-height:1.3}
.dq .opt:hover{box-shadow:inset 0 0 0 1px var(--neon)}.dq .opt[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--cy);background:rgba(103,232,249,.08)}
.dq .bx{width:16px;height:16px;border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--dim);flex:none;display:grid;place-items:center;font-size:.65rem;color:var(--bg)}
.dq .opt[aria-pressed=true] .bx{background:var(--cy);box-shadow:none}.dq .opt[aria-pressed=true] .bx:after{content:"✓"}
.dq label{display:block;font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:.6rem 0 .3rem}
.dq input:not([type=checkbox]){width:100%;font:inherit;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--tx)}
.dq input:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px rgba(139,92,246,.25)}
.dq label.ok{display:flex;gap:.55rem;align-items:flex-start;text-transform:none;letter-spacing:0;font-family:var(--disp);font-weight:400;font-size:.82rem;line-height:1.4;margin-top:.8rem}
.dq label.ok input{margin-top:.2rem;accent-color:var(--pu)}.dq label.ok a{color:var(--lil)}
.dq .err{font-size:.82rem;color:var(--bad);min-height:1.1em;margin-top:.4rem}
.dq .nv{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem}
.dq .lk{background:none;border:0;color:var(--dim);font-family:var(--mono);font-size:.78rem;text-decoration:underline;text-underline-offset:3px}
.dq .lvb{display:inline-block;font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;border-radius:6px;color:var(--bg)}
.dq .rs{margin:.8rem 0 1rem}.dq .rs li{padding:.6rem .8rem .6rem 1.9rem;border-radius:10px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column}
.dq .rs li:before{left:.8rem;top:.6rem}.dq .rs b{color:var(--tx)}.dq .rs small{font-family:var(--mono);font-size:.68rem;color:var(--neon);letter-spacing:.06em}
.dq .nv .pn{margin:0;text-align:right}
.foot .lim{font-size:.74rem;margin-top:.5rem;max-width:480px;margin-left:auto;margin-right:auto}
@media (max-width:440px){.dq .opts{grid-template-columns:1fr}}
/* empresas: serviços dentro do card */
.pnl #dxgo{margin-bottom:.4rem}
.pnl .dq{margin:.2rem 0 .6rem;padding:.9rem;border-radius:12px;background:rgba(7,5,15,.6);box-shadow:inset 0 0 0 1px var(--line2);scroll-margin-top:12px}
.pnl .svh{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--dim);margin:.9rem 0 .5rem;text-align:center}
.sv+.sv{margin-top:.45rem}
.svb{width:100%;display:flex;align-items:center;gap:.75rem;border:0;text-align:left;background:var(--panel);border-radius:12px;padding:.6rem .75rem;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}
.svb:hover,.svb[aria-expanded=true]{box-shadow:inset 0 0 0 1px var(--neon)}
.svb .ic{width:38px;height:38px;border-radius:10px;background:rgba(139,92,246,.16);box-shadow:inset 0 0 0 1px var(--line2);display:grid;place-items:center;flex:none}
.svb .ic svg{width:20px;height:20px;fill:none;stroke:var(--lil);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svb .tx{flex:1;min-width:0;display:flex;flex-direction:column}.svb small{font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--neon)}
.svb b{font-size:1rem;line-height:1.25}.svb .pl{font-family:var(--mono);color:var(--lil);width:24px;text-align:center}
.svp{padding:.75rem .4rem .4rem}.svp>p{font-size:.9rem;color:var(--mut);margin-bottom:.6rem}.svp ul{margin-bottom:.8rem}
.pnl .pn a{color:var(--lil)}
