/* ------------------------------ */
/* RESET E TEMA GLOBAL            */
/* ------------------------------ */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  height:100vh;overflow-x:hidden;background:#0d0d0d;color:#fff;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
/* util */
.hidden{display:none!important}

/* ------------------------------ */
/* FUNDO COM BLUR DINÂMICO        */
/* ------------------------------ */
.blur-background{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.blur-circle{position:absolute;border-radius:50%;filter:blur(120px);opacity:.4}
.circle1,.circle2,.circle3{animation:float-slow 40s ease-in-out infinite}
body.speedup .circle1,body.speedup .circle2,body.speedup .circle3{animation:float-fast 8s ease-in-out infinite}
.circle1{width:300px;height:300px;background:#fff;top:10%;left:20%}
.circle2{width:400px;height:400px;background:#007bff;top:50%;left:60%}
.circle3{width:250px;height:250px;background:#ff4d4d;top:70%;left:10%}
@keyframes float-slow{0%,100%{transform:translate(0,0)}25%{transform:translate(30px,-60px)}50%{transform:translate(-40px,-40px)}75%{transform:translate(50px,20px)}}
@keyframes float-fast{0%,100%{transform:translate(0,0)}25%{transform:translate(30px,-60px)}50%{transform:translate(-40px,-40px)}75%{transform:translate(50px,20px)}}

/* ------------------------------ */
/* HEADER                         */
/* ------------------------------ */
.navbar{
  position:fixed;top:0;width:100%;height:60px;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(0,0,0,.1);z-index:999;
  border-bottom:1px solid rgba(255,255,255,.05)
}
.logo a{font-weight:bold;font-size:1.2rem;letter-spacing:.5px;color:inherit;text-decoration:none}
.nav-links{display:flex;gap:2rem}
.nav-links a{font-weight:300;color:inherit;text-decoration:none;padding:.4rem 1rem;border-radius:100px;transition:.3s}
.nav-links a:hover{background:rgba(255,255,255,.1)}
.menu-toggle{display:none;background:none;border:none;font-size:1.8rem;color:inherit;cursor:pointer}
@media (max-width:768px){
  .nav-links{
    display:none;position:absolute;top:60px;right:0;background:rgba(0,0,0,.9);
    flex-direction:column;gap:1.2rem;padding:1.5rem 2rem;width:100%;
    border-top:1px solid rgba(255,255,255,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
  }
  .nav-links.show{display:flex}
  .menu-toggle{display:block}
}

/* ------------------------------ */
/* INTRO                          */
/* ------------------------------ */
.intro{
  position:relative;z-index:2;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem
}
.intro h1{font-size:3rem;margin-bottom:1rem}
.intro p{font-size:1.2rem;margin-bottom:2rem;max-width:600px;opacity:.9}
.actions{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}
.actions a,.actions button{
  background:transparent;border:1px solid currentColor;color:inherit;padding:.6rem 1.2rem;border-radius:999px;text-decoration:none;
  font-size:1rem;cursor:pointer;transition:.3s
}
.actions a:hover,.actions button:hover{background:currentColor;color:#fff}

/* ------------------------------ */
/* FOOTER                         */
/* ------------------------------ */
.site-footer{background:#0d0d0d;color:#fff;padding:60px 30px 30px;text-align:center;border-top:1px solid rgba(255,255,255,.05)}
.footer-top h3{font-size:1.6rem;margin-bottom:10px}
.footer-top p{font-size:1rem;opacity:.7;margin-bottom:20px;max-width:600px;margin-inline:auto}
.cta-footer{display:inline-block;border:1px solid currentColor;color:inherit;padding:10px 24px;font-weight:500;text-decoration:none;border-radius:50px;transition:.3s}
.cta-footer:hover{background:currentColor;color:#fff}
.footer-links{margin:30px 0 15px;display:flex;justify-content:center;flex-wrap:wrap;gap:20px}
.footer-links a{color:inherit;text-decoration:none;font-weight:400;transition:opacity .2s;opacity:.8}
.footer-links a:hover{opacity:1}
.footer-bottom{font-size:.9rem;opacity:.5}

/* ------------------------------ */
/* MODAL GENÉRICO                 */
/* ------------------------------ */
.modal{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);background:rgba(0,0,0,0);pointer-events:none;opacity:0;
  transition:backdrop-filter .3s ease,background .3s ease,opacity .3s ease
}
.modal.show,.modal:not(.hidden){
  pointer-events:auto;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(0,0,0,.4);opacity:1
}
.modal.hidden{display:none!important}
.modal-content{
  background:#111;color:#fff;width:90%;max-width:800px;border-radius:30px;padding:30px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);transform:translateY(20px);animation:modal-in .4s ease forwards
}
@keyframes modal-in{to{transform:translateY(0)}}
.modal-close{position:absolute;top:20px;right:25px;background:none;border:none;font-size:1.5rem;color:inherit;cursor:pointer}
.modal-title{font-size:1.9rem;margin-bottom:10px}
.modal-description{font-size:1rem;opacity:.85;line-height:1.6}
.modal-tags{list-style:none;display:flex;gap:10px;margin-top:20px;padding:0}
.modal-tags li{background:#fff;color:#000;padding:6px 14px;border-radius:30px;font-size:.85rem}

/* ------------------------------ */
/* MODAL PDF (PERFORMANCE “APPLE”)*/
/* ------------------------------ */

/* Tamanho do ícone (mantido em :root para responsivo) */
:root{
  --icon-w: 220px;
  --icon-h: 72px;
  --icon-pad-x: 14px;
  --icon-pad-y: 10px;
}

#pdf-modal{
  position:fixed;inset:0;z-index:10000;display:none;align-items:flex-start;justify-content:center;
  padding:88px 20px 40px;
  /* Apenas escurece o fundo geral. SEM blur aqui. */
  background:rgba(0,0,0,.45);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  transition:opacity .35s ease;opacity:0;overflow:hidden;

  /* Posição base do painel (topo do painel escuro) */
  --panel-top: 12vh;

  /* Fallbacks (se o JS não medir) */
  --intro-h: 140px;
  --tags-h: 48px;

  /* Espaçamentos do conteúdo */
  --intro-gap: 14px;            /* h2 ↔ 1º parágrafo */
  --gap-subtitle-tags: 28px;    /* texto ↔ pílulas */
  --tags-gap: 14px;             /* pílula ↔ pílula */
  --after-tags-gap: 40px;       /* pílulas ↔ PDF */

  /* Lift fino do PDF (negativo sobe) */
  --pdf-lift: -64px;
}
#pdf-modal.show{display:flex;opacity:1}
#pdf-modal .modal-overlay{width:100%;display:flex;justify-content:center}

/* Container */
#pdf-modal .modal-box{
  position:relative;width:100%;max-width:980px;background:transparent;border:none;border-radius:24px;
  box-shadow:none;overflow:visible;transition:background .35s ease,box-shadow .35s ease,border-color .35s ease;
}

/* Painel escuro com blur — ÚNICO fundo blur do modal */
#pdf-modal .modal-box::before{
  content:"";position:absolute;left:0;right:0;top:var(--panel-top);bottom:0;
  background:rgba(15,15,15,.86);
  border:1px solid rgba(255,255,255,.08);
  border-top-left-radius:24px;border-top-right-radius:24px;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  -webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);
  z-index:0;pointer-events:none;
}

/* Botão voltar */
#voltar-pdf{
  position:fixed;top:18px;right:20px;z-index:10020;display:none;padding:.6rem 1.2rem;font-size:.9rem;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)
}
#voltar-pdf.show{display:inline-block}
#voltar-pdf:hover{background:rgba(255,255,255,.2)}

/* Ícone cápsula (agora absoluto e ancorado no painel) */
#pdf-modal .floating-icon{
  position:absolute;left:50%;transform:translateX(-50%);
  top: calc(var(--panel-top) - (var(--icon-h) + (var(--icon-pad-y) * 2)) - 12px);
  width:auto;height:auto;box-sizing:content-box;
  padding:var(--icon-pad-y) var(--icon-pad-x);
  border-radius:calc((var(--icon-h) + var(--icon-pad-y)*2)/2);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);
  display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 18px 60px rgba(32,161,255,.35));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  z-index:10010;opacity:0;transform-origin:center;will-change:transform,opacity;
  contain: layout paint;
}
#pdf-modal .floating-icon img{
  display:block;inline-size:var(--icon-w);block-size:var(--icon-h);object-fit:cover;
  border-radius:calc(var(--icon-h)/2);clip-path:inset(0 round calc(var(--icon-h)/2));
  -webkit-mask-image:-webkit-radial-gradient(white,white);
}
#pdf-modal.stage-intro .floating-icon{animation:icon-rise 1100ms cubic-bezier(.2,.8,.2,1) .1s both}
@keyframes icon-rise{0%{transform:translate(-50%,60vh) scale(1.25);opacity:0}55%{transform:translate(-50%,-8px) scale(1.05);opacity:1}100%{transform:translate(-50%,0) scale(1);opacity:1}}
#pdf-modal .floating-icon::after{
  content:"";position:absolute;inset:-2px;border-radius:inherit;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);
  mix-blend-mode:screen;transform:translateX(-130%);animation:glint 1.1s ease .35s both;pointer-events:none
}
@keyframes glint{to{transform:translateX(130%)}}

/* TEXTO INTRO — ancorado ao topo do painel */
#project-intro-text{
  position:absolute;left:50%;top:calc(var(--panel-top) + 16px);transform:translateX(-50%);
  max-width:min(90vw,860px);color:#fff;text-align:center;z-index:10009;
  padding:12px 18px;border-radius:16px;background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  opacity:0;will-change:transform,opacity;text-wrap:balance;
  display:grid;grid-auto-flow:row;row-gap:var(--intro-gap);
}
#pdf-modal.stage-text #project-intro-text,
#pdf-modal.stage-intro #project-intro-text{animation:text-up .55s ease .05s both}
@keyframes text-up{from{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
#project-intro-text h2{font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:700;letter-spacing:.2px;margin:0!important}
#project-intro-text p{font-size:clamp(.96rem,2vw,1.06rem);font-weight:300;opacity:.9;line-height:1.55;margin:0!important}

/* PÍLULAS — logo abaixo do texto */
#project-tags{
  position:absolute;left:50%;transform:translateX(-50%);
  top:calc(var(--panel-top) + var(--intro-h) + var(--gap-subtitle-tags));
  z-index:10009;display:flex;gap:var(--tags-gap);flex-wrap:wrap;justify-content:center;
  margin:0;list-style:none;padding:0;opacity:0;
}
#pdf-modal.stage-text #project-tags{animation:chips-in .45s ease .1s both}
#project-tags li{
  font-size:.85rem;font-weight:500;letter-spacing:.2px;
  padding:9px 16px;border-radius:999px;color:#fff;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  user-select:none;cursor:default;transition:transform .18s ease;
}
#project-tags li:hover{transform:scale(1.035)}
@keyframes chips-in{from{transform:translate(-50%,6px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* Esconde ícone/texto/pílulas ao rolar a leitura */
#pdf-modal.conceal-intro .floating-icon,
#pdf-modal.conceal-intro #project-intro-text,
#pdf-modal.conceal-intro #project-tags{
  opacity:0;transform:translateX(-50%) translateY(8px) scale(.98);
  transition:opacity .3s ease,transform .3s ease;pointer-events:none
}

/* PDF — sempre DEPOIS do texto + pílulas */
.pdf-wrapper{
  position:relative;margin:0 auto;width:100%;max-width:980px;height:80vh;border-radius:20px;overflow:hidden;
  background:transparent !important;box-shadow:0 4px 40px rgba(0,0,0,.4);
  opacity:0;transform:translateY(12px);will-change:transform,opacity;
  margin-top: calc(
    var(--panel-top) +
    var(--intro-h) +
    var(--gap-subtitle-tags) +
    var(--tags-h) +
    var(--after-tags-gap) +
    var(--pdf-lift)
  ) !important;
}
#pdf-frame{width:100%;height:100%;border:none;display:block}
.pdf-fade-bottom{position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.45));pointer-events:none}

/* Estados finais */
#pdf-modal.stage-content .modal-box{background:transparent !important;border:none !important;box-shadow:none !important}
#pdf-modal.stage-content .pdf-wrapper{opacity:1;transform:translateY(0);transition:transform .35s ease,opacity .35s ease}
#pdf-modal.stage-content.unlock-scroll{overflow-y:auto}
#pdf-modal.stage-content #voltar-pdf{display:inline-block}

/* Responsivo do ícone */
@media (max-width:960px){
  :root{ --icon-w:200px; --icon-h:76px; }
}
@media (max-width:560px){
  :root{ --icon-h:68px; }
}

/* Responsivo dos espaçamentos / painel */
@media (max-width:960px){
  #pdf-modal{ --panel-top: 10vh; --pdf-lift: -48px; }
}
@media (max-width:560px){
  #pdf-modal{
    --intro-gap: 12px;
    --gap-subtitle-tags: 24px;
    --tags-gap: 12px;
    --after-tags-gap: 36px;
    --panel-top: 9vh;
    --pdf-lift: -36px;
  }
}

@media (prefers-reduced-motion:reduce){
  #pdf-modal .floating-icon,#project-intro-text,#project-tags,.pdf-wrapper{animation:none!important;transition:none!important}
}

/* ------------------------------ */
/* CHATBOT FLUTUANTE              */
/* ------------------------------ */
.chatbot-widget{position:fixed;bottom:20px;right:20px;z-index:9999}
.chatbot-button{background:currentColor;color:#fff;border:none;border-radius:50%;width:56px;height:56px;font-size:24px;cursor:pointer}
.chatbot-box{position:absolute;bottom:70px;right:0;width:320px;background:#0d0d0d;color:#fff;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden;transition:.3s}
.chatbot-box.hidden{display:none}
.chat-header{background:#111;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}
.chat-messages{height:260px;overflow-y:auto;padding:16px}
.chat-message{margin-bottom:10px;font-size:.95rem;line-height:1.4}
.chat-message.bot{text-align:left;opacity:.8}
.chat-message.user{text-align:right;font-weight:500}
.chat-input-area{display:flex;border-top:1px solid rgba(255,255,255,.05);padding:10px}
.chat-input-area input{flex:1;padding:8px 12px;border:none;background:transparent;color:inherit;font-size:.9rem;outline:none}
.chat-input-area button{background:currentColor;color:#fff;border:none;padding:8px 12px;margin-left:8px;border-radius:6px;cursor:pointer;font-weight:500}

/* ------------------------------ */
/* PORTFÓLIO                      */
/* ------------------------------ */
.portfolio-section{position:relative;z-index:2;margin-top:-100px;padding:140px 2rem 100px;color:inherit;text-align:center}
.section-title{font-size:2rem;margin-bottom:40px;font-weight:bold}
.portfolio-columns{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}

/* COLUNA (fix completo) */
.portfolio-column{
  position:relative; isolation:isolate;
  flex:1;min-width:280px;max-width:320px;max-height:520px;

  overflow:hidden auto;
  scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;

  border-radius:20px; background-clip:padding-box;
  clip-path: inset(0 round 20px); will-change:clip-path;

  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);
  padding:1.5rem;box-shadow:0 4px 20px rgba(0,0,0,.3);
  transition:transform .3s ease,background .3s ease;
  z-index:0;
}
.portfolio-column::-webkit-scrollbar{display:none}
.portfolio-column:hover{transform:translateY(-4px);background:rgba(255,255,255,.08)}

/* Header sticky */
.portfolio-column>h3,
.portfolio-column .sticky-title{
  position:sticky;top:0;z-index:30;
  margin:0 -1.5rem 1rem -1.5rem;padding:14px 0;height:64px;
  display:flex;align-items:center;justify-content:center;text-align:center;

  background:rgba(0,0,0,.86);
  -webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%);
  border-radius:20px 20px 0 0; box-shadow:inset 0 -1px rgba(255,255,255,.08);

  font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;
  transform:translateZ(0); contain:paint;
}
.portfolio-column>h3+*,
.portfolio-column .sticky-title+*{margin-top:.5rem}

/* Cards */
.project-card{
  position:relative; z-index:10;
  margin-bottom:1.2rem;border-radius:20px;overflow:hidden;cursor:pointer;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  box-shadow:0 4px 16px rgba(0,0,0,.25);transition:transform .3s ease,box-shadow .3s ease,background .3s ease;
  padding:12px;text-align:center
}
.project-card:hover{transform:translateY(-2px) scale(1.035);box-shadow:0 8px 24px rgba(0,0,0,.3);background:rgba(255,255,255,.055)}
.project-card img{width:100%;display:block;border-radius:16px;transition:transform .3s ease}
.project-title{
  margin-top:8px;font-size:.95rem;font-weight:400;font-family:"Helvetica Neue",Inter,system-ui,-apple-system,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
  opacity:.85;text-align:center;letter-spacing:.2px
}

/* ------------------------------ */
/* RESPONSIVO                     */
/* ------------------------------ */
@media (max-width:960px){
  .portfolio-columns{flex-direction:column;align-items:center}
  .portfolio-section{margin-top:-80px;padding-top:120px}
  .portfolio-column{max-height:400px}
}
.logos-grid{
  position:absolute;bottom:80px;left:50%;transform:translateX(-50%);
  display:grid;grid-template-columns:repeat(5,1fr);gap:20px 8px;justify-items:center;align-items:center;
  max-width:780px;width:100%;padding:0 20px;opacity:.8
}
.logos-grid img{
  max-width:70px;max-height:30px;object-fit:contain;filter:brightness(0) invert(1);
  opacity:0;transform:translateY(20px);animation:fadeInUp 1.2s ease forwards;transition:transform .3s ease
}
.logos-grid img:hover{transform:scale(1.05)}
.logos-grid img:nth-child(1){animation-delay:0s}
.logos-grid img:nth-child(2){animation-delay:.1s}
.logos-grid img:nth-child(3){animation-delay:.2s}
.logos-grid img:nth-child(4){animation-delay:.3s}
.logos-grid img:nth-child(5){animation-delay:.4s}
.logos-grid img:nth-child(6){animation-delay:.5s}
.logos-grid img:nth-child(7){animation-delay:.6s}
.logos-grid img:nth-child(8){animation-delay:.7s}
.logos-grid img:nth-child(9){animation-delay:.8s}
.logos-grid img:nth-child(10){animation-delay:.9s}
@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}
@media (max-width:1024px){
  .logos-grid{grid-template-columns:repeat(5,1fr);gap:16px 6px;bottom:60px;max-width:740px}
  .logos-grid img{max-width:64px;max-height:28px}
  .actions{gap:1rem;flex-direction:row;justify-content:center;flex-wrap:wrap}
  .actions a,.actions button{padding:.5rem 1.2rem;font-size:.95rem}
}
@media (max-width:768px){
  .logos-grid{grid-template-columns:repeat(5,1fr);gap:14px 5px;bottom:48px;max-width:680px}
  .logos-grid img{max-width:54px;max-height:22px}
  .actions{gap:.9rem;flex-direction:row;justify-content:center;flex-wrap:wrap}
  .actions a,.actions button{padding:.5rem 1rem;font-size:.9rem}
  .intro h1{font-size:2rem}
  .intro p{font-size:1rem;max-width:90%}
}
@media (max-width:480px){
  .logos-grid{grid-template-columns:repeat(5,1fr);gap:10px 4px;bottom:36px;max-width:92%}
  .logos-grid img{max-width:48px;max-height:20px}
  .actions{gap:.8rem;flex-direction:row;justify-content:center;flex-wrap:wrap}
  .actions a,.actions button{padding:.45rem .9rem;font-size:.88rem}
  .intro{padding-top:80px}
  .intro h1{font-size:1.8rem}
  .intro p{font-size:.95rem;max-width:95%}
}

/* ===== PATCH 1 — Modal só aparece com .show ===== */
/* SUBSTITUA o bloco existente por este */
.modal{
  position: fixed; inset: 0;
  display: none;                    /* <— antes era 'flex' por padrão */
  align-items: center; justify-content: center;
  z-index: 10000;
  backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  background: rgba(0,0,0,0);
  pointer-events: none;
  opacity: 0;
  transition: backdrop-filter .3s ease, background .3s ease, opacity .3s ease;
}
.modal.show{
  display: flex !important;         /* <— só aqui ligamos o flex */
  pointer-events: auto;
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  background: rgba(0,0,0,.4);
  opacity: 1;
}
/* mantenha .modal.hidden caso você o use em algum fluxo */
.modal.hidden{ display: none !important; }

/* ===== PATCH 2 — Prioridade de camadas (chat acima de tudo) ===== */
#pdf-modal{ z-index: 100000 !important; }  /* modal do projeto */
.chatbot-widget{ z-index: 100001 !important; } /* chat sempre por cima */

/* ===== PATCH 3 — Clique garantido nos cards (sobre pseudo-elementos) ===== */
.project-card{ z-index: 40 !important; }       /* acima de overlays locais */
.portfolio-column .sticky-title{ z-index: 50 !important; }
/* se existir degradê ::after nas colunas, garanta que não intercepte cliques */
.portfolio-column::after{ pointer-events: none !important; }