:root{--fundo:#17120F;--fundo2:#1E1813;--carta:#241C17;--elev:#2C221B;--branco:#FFFFFF;--creme:#F3EAD8;--ouro:#C9A05C;--ouro-alto:#E2C289;--ouro-baixo:#8A6730;--fraco:#A07757;--linha:rgba(201,160,92,.22);--linha2:rgba(201,160,92,.4);--serif:'Playfair Display',Georgia,serif;--sans:'Jost','Avenir Next',sans-serif;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--fundo);color:var(--creme);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;
 background-image:radial-gradient(900px 420px at 78% -80px,rgba(201,160,92,.14),transparent 70%),radial-gradient(700px 500px at -10% 110%,rgba(138,103,48,.12),transparent 65%)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;background-image:var(--wm,none);opacity:.05;z-index:50}
::selection{background:var(--ouro-baixo);color:var(--branco)}
a{color:var(--ouro-alto);text-decoration:none;border-bottom:1px solid rgba(226,194,137,.35)}a:hover{border-color:var(--ouro-alto)}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--ouro-alto);outline-offset:3px;border-radius:6px}
.noselect,.noselect *{-webkit-user-select:none;user-select:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* marca */
.marca{font:500 1.5rem/1 var(--serif);letter-spacing:.46em;color:var(--ouro);padding-left:.46em;text-align:center}
.marca .logo{display:block;width:88px;height:auto;margin:0 auto 14px;padding:0}.menu-m .marca .logo{display:inline-block;width:30px;margin:0 8px 0 0;vertical-align:middle}
.marca small{display:block;font:500 .66rem/1 var(--sans);letter-spacing:.34em;color:var(--fraco);margin-top:10px;text-transform:uppercase}
.fio{height:1px;background:linear-gradient(90deg,transparent,var(--ouro),transparent);border:0;margin:22px 0}
/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;border:0;border-radius:10px;font-weight:600;letter-spacing:.03em;background:linear-gradient(135deg,var(--ouro-alto),var(--ouro));color:var(--fundo);transition:filter .15s,transform .15s;border-bottom:0}
.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn.ok{background:var(--branco)}
.btn.sec{background:transparent;color:var(--ouro-alto);border:1px solid var(--linha2)}.btn.sec:hover{background:rgba(201,160,92,.08);filter:none}
.btn.mini{min-height:36px;padding:0 14px;font-size:.88rem;border-radius:8px}
/* entrada */
.entrada{min-height:100vh;display:grid;place-items:center;padding:28px 16px}
.cartao{width:min(440px,100%);background:linear-gradient(180deg,rgba(44,34,27,.82),rgba(30,24,19,.88));border:1px solid var(--linha);border-radius:20px;padding:36px 32px 30px;box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(226,194,137,.12);backdrop-filter:blur(14px)}
.cartao h1{font:400 1.9rem/1.2 var(--serif);color:var(--branco);margin:.2em 0 .3em;text-align:center}
.cartao p.sub{color:var(--fraco);text-align:center;font-size:.95rem;margin:0 0 20px}
.abas{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linha);border-radius:10px;padding:4px;margin-bottom:22px;gap:4px}
.abas button{background:transparent;border:0;border-radius:7px;min-height:40px;color:var(--fraco);font-weight:500}.abas button[aria-selected=true]{background:var(--ouro);color:var(--fundo);font-weight:600}
label{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);margin:14px 0 6px}
input[type=email],input[type=password],input[type=text],input[type=search]{width:100%;background:var(--fundo);border:1px solid var(--linha);border-radius:10px;color:var(--branco);padding:12px 14px;font:inherit;min-height:48px}
input:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(201,160,92,.18)}
.campo{position:relative}.campo button{position:absolute;right:6px;top:6px;min-height:36px;background:transparent;border:0;color:var(--ouro-alto);font-size:.82rem;padding:0 10px}
.erro{background:rgba(255,255,255,.06);border:1px solid var(--linha2);border-left:3px solid var(--branco);border-radius:8px;padding:10px 12px;margin-top:14px;font-size:.92rem;color:var(--branco)}
.dica{font-size:.84rem;color:var(--fraco);margin-top:8px}
.cartao .btn{width:100%;margin-top:22px}
.rodape-mini{text-align:center;color:var(--ouro-baixo);font-size:.76rem;margin-top:22px;letter-spacing:.06em}
/* portal */
.layout{display:grid;grid-template-columns:312px 1fr;min-height:100vh}
.lado{position:sticky;top:0;height:100vh;overflow:auto;background:rgba(18,14,11,.92);border-right:1px solid var(--linha);padding:26px 18px 90px;scrollbar-width:thin;scrollbar-color:var(--ouro-baixo) transparent}
.busca{position:relative;margin:18px 0 8px}.busca input{padding-left:38px;min-height:42px;font-size:.92rem}.busca svg{position:absolute;left:12px;top:12px;width:18px;height:18px;stroke:var(--ouro);fill:none;stroke-width:1.6}
.grupo{margin-top:22px}.grupo h3{font:500 .68rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);margin:0 0 8px 8px}
.nav{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-left:2px solid transparent;border-radius:0 10px 10px 0;padding:9px 10px;color:var(--creme);transition:background .15s}
.nav:hover{background:rgba(201,160,92,.07)}.nav[aria-current=page]{background:rgba(201,160,92,.12);border-left-color:var(--ouro)}
.nav .n{font:500 .8rem var(--serif);color:var(--ouro-baixo);min-width:22px}.nav[aria-current=page] .n{color:var(--ouro-alto)}
.nav .t{flex:1;font-size:.94rem;line-height:1.3}.nav .p{font-size:.72rem;color:var(--fraco)}
.nav.trava{opacity:.55}
.conta{position:fixed;left:0;bottom:0;width:312px;background:var(--fundo2);border-top:1px solid var(--linha);border-right:1px solid var(--linha);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;color:var(--fraco);z-index:5}
.conta b{display:block;color:var(--creme);font-weight:500}
.principal{padding:44px clamp(18px,4vw,64px) 110px;max-width:1080px;width:100%}
.menu-m{display:none}
.cab .kick{font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ouro)}
.cab h1{font:400 clamp(2.1rem,5vw,3.3rem)/1.12 var(--serif);color:var(--branco);margin:.18em 0 .1em}
.cab .subt{font:italic 400 1.25rem/1.4 var(--serif);color:var(--ouro-alto);margin:0}
.cab .desc{max-width:62ch;color:var(--creme);opacity:.92;margin:16px 0 0}
.tag{display:inline-block;border:1px solid var(--linha2);border-radius:999px;padding:2px 12px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro-alto);margin-right:6px}
.tag.cheio{background:var(--ouro);color:var(--fundo);border-color:var(--ouro);font-weight:600}.tag.branco{color:var(--branco);border-color:rgba(255,255,255,.5)}
.resultado{margin:26px 0;padding:20px 24px;background:var(--fundo2);border:1px solid var(--linha);border-radius:var(--r);border-left:3px solid var(--ouro)}
.resultado h4{margin:0 0 8px;font:500 .72rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ouro)}
.resultado ul{margin:0;padding:0;list-style:none}.resultado li{padding:5px 0 5px 24px;position:relative}.resultado li::before{content:"";position:absolute;left:2px;top:15px;width:10px;height:1px;background:var(--ouro)}
.abas-pg{display:flex;gap:4px;border-bottom:1px solid var(--linha);margin:30px 0 22px;overflow:auto}
.abas-pg button{background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 18px;color:var(--fraco);font-weight:500;white-space:nowrap}
.abas-pg button[aria-selected=true]{color:var(--branco);border-bottom-color:var(--ouro)}
.abas-pg .c{color:var(--ouro);font-size:.82rem;margin-left:6px}
.cartao2{background:var(--carta);border:1px solid var(--linha);border-radius:var(--r);padding:18px 20px;margin:12px 0;transition:border-color .2s,box-shadow .2s,transform .2s}
.cartao2:hover{border-color:var(--linha2);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.card-pg{display:flex;flex-direction:column;gap:6px;text-align:left;background:linear-gradient(180deg,var(--carta),var(--fundo2));border:1px solid var(--linha);border-radius:var(--r);padding:20px;min-height:178px;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}
.card-pg:hover{transform:translateY(-3px);border-color:var(--linha2);box-shadow:0 14px 36px rgba(0,0,0,.45),0 0 0 1px rgba(201,160,92,.08)}
.card-pg .num{font:400 2rem/1 var(--serif);color:var(--ouro);opacity:.9}.card-pg h3{font:400 1.2rem/1.25 var(--serif);color:var(--branco);margin:.1em 0}
.card-pg p{margin:0;color:var(--fraco);font-size:.9rem;flex:1}.card-pg .meta{font-size:.78rem;color:var(--ouro-baixo);letter-spacing:.04em}
.barra{height:3px;background:rgba(201,160,92,.15);border-radius:3px;overflow:hidden;margin-top:6px}.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--ouro-baixo),var(--ouro-alto));width:0;transition:width .5s}
.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:stretch;margin:26px 0 8px}
.hero .box{background:var(--carta);border:1px solid var(--linha);border-radius:18px;padding:26px}
.hero .grande{font:400 3rem/1 var(--serif);color:var(--branco)}
.secao{margin:44px 0 6px}.secao h2{font:400 1.7rem/1.2 var(--serif);color:var(--branco);margin:0}.secao p{margin:.3em 0 16px;color:var(--fraco)}
.passo{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--linha)}.passo:last-child{border:0}
.passo .o{width:36px;height:36px;border-radius:50%;border:1px solid var(--ouro);display:grid;place-items:center;font:500 1rem var(--serif);color:var(--ouro-alto)}
.passo h4{margin:2px 0 4px;font:400 1.15rem var(--serif);color:var(--branco)}.passo p{margin:0}
.skill{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.skill h4{margin:0 0 2px;font:500 1.02rem var(--sans);color:var(--branco);letter-spacing:.01em}.skill p{margin:0;color:var(--creme);opacity:.85;font-size:.94rem}
.skill .acoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.chk{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--fraco);cursor:pointer}
.chk input{appearance:none;width:20px;height:20px;border:1px solid var(--linha2);border-radius:50%;background:var(--fundo);display:grid;place-items:center;cursor:pointer;margin:0}
.chk input:checked{background:var(--ouro);border-color:var(--ouro)}.chk input:checked::after{content:"✓";color:var(--fundo);font-size:.8rem;font-weight:700}
details.pr{background:var(--carta);border:1px solid var(--linha);border-radius:var(--r);margin:12px 0;overflow:hidden}
details.pr[open]{border-color:var(--linha2)}details.pr summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;align-items:center;gap:14px}
details.pr summary::-webkit-details-marker{display:none}details.pr summary .tt{flex:1}details.pr summary h4{margin:0;font:400 1.12rem/1.3 var(--serif);color:var(--branco)}
details.pr summary small{display:block;color:var(--fraco);font-size:.82rem;margin-top:2px}details.pr summary .seta{color:var(--ouro);transition:transform .2s}details.pr[open] summary .seta{transform:rotate(90deg)}
.pr .corpo{padding:0 20px 20px;border-top:1px solid var(--linha)}.pr .li{margin:12px 0 0;font-size:.93rem}.pr .li b{color:var(--ouro-alto);font-weight:500}
pre{background:var(--fundo2);border:1px solid var(--linha);border-radius:10px;padding:16px;white-space:pre-wrap;word-break:break-word;font:400 14.5px/1.65 var(--sans);color:var(--creme);margin:14px 0}
code,.cmd{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;background:var(--fundo2);border:1px solid var(--linha);border-radius:6px;padding:2px 7px;color:var(--ouro-alto);word-break:break-all}
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.chip{border:1px solid var(--linha);background:transparent;border-radius:999px;padding:7px 15px;font-size:.88rem;color:var(--creme)}.chip[aria-pressed=true]{background:var(--ouro);color:var(--fundo);border-color:var(--ouro);font-weight:600}
.cmdl{display:flex;gap:10px;align-items:flex-start;margin:6px 0}.cmdl .cmd{flex:1;display:block;padding:8px 10px}
.aviso{font-size:.88rem;color:var(--fraco);border-left:2px solid var(--ouro-baixo);padding:2px 0 2px 14px;margin:16px 0}
.bloq{text-align:center;max-width:560px;margin:14vh auto;padding:0 16px}.bloq .grande{font:400 4.5rem/1 var(--serif);color:var(--ouro)}
.bloq h1{font:400 2.2rem var(--serif);color:var(--branco);margin:.3em 0}
.vazio{color:var(--fraco);padding:30px;text-align:center;border:1px dashed var(--linha);border-radius:var(--r)}
.wm{position:fixed;left:312px;right:0;bottom:0;background:rgba(30,24,19,.94);border-top:1px solid var(--linha);text-align:center;font-size:.74rem;color:var(--ouro-baixo);padding:6px;letter-spacing:.05em;z-index:6}
@media(max-width:900px){.layout{grid-template-columns:1fr}.lado{position:fixed;left:0;top:0;width:min(340px,88vw);z-index:20;background:#120E0B;transform:translateX(-102%);transition:transform .25s}.lado.aberto{transform:none;box-shadow:0 0 60px rgba(0,0,0,.7)}
 .conta{width:min(340px,88vw);transform:translateX(-102%);transition:transform .25s}.lado.aberto+.conta{transform:none}.wm{left:0}
 .menu-m{display:flex;position:sticky;top:0;z-index:15;align-items:center;gap:14px;background:rgba(23,18,15,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha);padding:10px 16px}
 .menu-m button{background:transparent;border:1px solid var(--linha2);border-radius:8px;min-height:42px;padding:0 14px;color:var(--ouro-alto)}.menu-m .marca{font-size:1.1rem;text-align:left;padding:0}
 .hero{grid-template-columns:1fr}.skill{grid-template-columns:1fr}.skill .acoes{justify-content:flex-start}.principal{padding-top:26px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.lado,.conta,.wm,.menu-m{display:none}.layout{display:block}body{background:#fff;color:#000}}

.principal:focus,.principal:focus-visible{outline:none}
.chk{text-transform:none;letter-spacing:0;margin:0;color:var(--fraco);font-size:.86rem}
