/* Trabalhos: abas por categoria + lightbox */
.wtabs{margin-top:clamp(30px,4vw,46px)}
.wtabs-nav{display:flex;flex-wrap:wrap;gap:8px 28px;border-bottom:1px solid var(--line)}
.wtab{background:none;border:0;cursor:pointer;padding:14px 0 15px;position:relative;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);display:inline-flex;align-items:baseline;gap:9px;transition:color .3s}
.wtab sup{font-size:.6rem;letter-spacing:.05em;color:var(--signal-deep)}
.wtab::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:var(--signal);transition:right .35s}
.wtab:hover{color:var(--navy)}
.wtab.is-active{color:var(--ink)}
.wtab.is-active::after{right:0}
.wtab:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
.wpanel{padding-top:clamp(22px,3vw,34px);animation:wfade .5s ease}
.wpanel[hidden]{display:none}
@keyframes wfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wpanel-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.wpanel-head p{font-family:var(--display);font-size:clamp(1.1rem,2vw,1.4rem);max-width:56ch;line-height:1.3;color:var(--ink)}
.wpanel-head span{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(12px,1.6vw,20px)}
.wcard{position:relative;margin:0;aspect-ratio:16/10;background:radial-gradient(120% 130% at 50% 0%,var(--mist-2),var(--mist));border:1px solid var(--line);overflow:hidden;cursor:zoom-in;padding:0;display:flex;align-items:center;justify-content:center;transition:transform .35s,box-shadow .35s,border-color .35s}
.wcard img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s}
.wcard:hover{transform:translateY(-4px);border-color:var(--signal);box-shadow:0 18px 38px rgba(12,30,43,.12)}
.wcard:hover img{transform:scale(1.03)}
.wcard:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.wcard figcaption{position:absolute;left:0;bottom:0;max-width:92%;background:linear-gradient(90deg,rgba(6,30,40,.7),rgba(6,30,40,.3));backdrop-filter:blur(5px);padding:8px 14px 9px;border-left:2.5px solid var(--signal);font-family:var(--display);font-size:.95rem;color:#F2F7F9;line-height:1.16;text-align:left;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.wcard:hover figcaption,.wcard:focus-visible figcaption{opacity:1;transform:none}
@media (hover:none){.wcard figcaption{opacity:1;transform:none}}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(6,20,28,.92);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px)}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:78vh;object-fit:contain;background:var(--paper)}
.lb-cap{margin-top:16px;text-align:center;font-family:var(--display);color:#F2F7F9;font-size:1.1rem}
.lb-cap small{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);margin-bottom:4px}
.lb button{position:absolute;width:46px;height:46px;border:1px solid var(--line-d);background:rgba(6,30,40,.5);color:#EAF2F5;font-size:1.5rem;cursor:pointer;border-radius:50%;line-height:1;transition:background .3s}
.lb button:hover{background:var(--signal-deep)}
.lb-x{top:18px;right:18px}.lb-p{left:18px;top:50%}.lb-n{right:18px;top:50%}
@media (max-width:560px){.wtabs-nav{gap:4px 20px}.lb-p,.lb-n{top:auto;bottom:18px}}
/* atalhos no menu superior */
.nav-item{position:relative;display:inline-block}
.nav-item i{font-style:normal;font-size:.7em;margin-left:2px}
.nav-sub{position:absolute;top:100%;left:-14px;min-width:190px;padding:14px 0 8px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .25s,visibility .25s}
.nav-sub::before{content:"";position:absolute;inset:8px 0 0;background:rgba(241,244,246,.97);backdrop-filter:blur(12px);border:1px solid var(--line);z-index:-1}
.nav-sub a{padding:10px 18px}
.nav-sub a::after{display:none}
.nav-sub a:hover{color:var(--signal-deep)}
.nav-item:hover .nav-sub,.nav-item:focus-within .nav-sub{opacity:1;visibility:visible;transform:none}
.wtabs{scroll-margin-top:140px}

/* ===== refinamentos ===== */
section[id],header[id]{scroll-margin-top:72px}
/* galeria em mosaico: respeita a proporção real de cada imagem */
.wgrid{display:block;columns:3 280px;column-gap:clamp(12px,1.6vw,20px)}
.wcard{display:block;width:100%;aspect-ratio:auto;margin:0 0 clamp(12px,1.6vw,20px);break-inside:avoid;background:var(--mist)}
.wcard img{display:block;width:100%;height:auto;max-height:none}
.wcard::after{content:"+";position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgba(6,30,40,.55);color:#fff;font:400 1.1rem/30px var(--mono);text-align:center;opacity:0;transition:opacity .3s}
.wcard:hover::after,.wcard:focus-visible::after{opacity:1}
.wtabs-nav{position:sticky;top:60px;z-index:20;background:rgba(241,244,246,.92);backdrop-filter:blur(10px)}
/* CTA de contato */
.cta{display:inline-flex;align-items:center;gap:12px;margin-top:30px;padding:16px 26px;background:var(--navy);color:#F2F7F9;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;transition:background .3s,transform .3s}
.cta:hover{background:var(--signal-deep);transform:translateY(-2px)}
.cta:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.contact p.cta{opacity:1}
/* menu mobile rolável em vez de escondido */
@media (max-width:900px){.nav-tag{display:none}}
@media (max-width:680px){
  .nav{flex-wrap:wrap;gap:8px;padding-block:10px}
  .nav-links{display:flex;gap:20px;font-size:.66rem;width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:4px;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-item .nav-sub,.nav-item i{display:none}
  .wtabs-nav{top:92px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .wtab{white-space:nowrap}
  .hero{padding-top:128px}
}

.nav-links{align-items:center}
.nav-item{display:inline-flex;align-items:center;line-height:inherit}
.nav-links a{display:inline-block;line-height:1.2}
@media (max-width:680px){
  .nav-links{justify-content:space-between;gap:12px}
  .nav-item>a{display:inline-block;padding:4px 0}
  .nav-item>a i,.nav-item i{display:none!important}
  .nav-sub{display:none!important}
}