.portfolio-tabs { position: relative; }
.portfolio-tabs .w-tab-pane { scroll-margin-top: 11rem; }
.portfolio-tabs .tabs-menu { scroll-margin-top: 6rem; }
.portfolio-tabs [hidden] { display: none !important; }
.portfolio-tabs .w-tab-link:focus-visible,
.portfolio-tabs .square-cards:focus-visible {
  outline: 2px solid var(--color--verde-convallaria);
  outline-offset: 3px;
}
/* A filter change must never reveal a card still hidden by an entrance animation.
   Child image/button hover effects keep their existing Webflow bindings. */
.portfolio-tabs .square-cards { opacity: 1 !important; transform: none !important; }
.portfolio-tabs .w-tab-link[aria-selected="true"],
html:not(.portfolio-enhanced) .portfolio-tabs:not(:has(.w-tab-pane:target)) a[href="#tutti"] {
  border-color: var(--color--green-1);
  color: var(--color--verde-convallaria);
}
/* Real hash links still select content before JS runs and when JS is disabled. */
html:not(.portfolio-enhanced) .portfolio-tabs:has(.w-tab-pane:target) .w-tab-pane { display: none; }
html:not(.portfolio-enhanced) .portfolio-tabs:has(.w-tab-pane:target) .w-tab-pane:target { display: block; }
.portfolio-empty { padding-block: 3rem; }
.portfolio-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.portfolio-skip {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 10000;
  padding: .75rem 1rem;
  background: #123c36;
  color: #fff;
  transform: translateY(-200%);
}
.portfolio-skip:focus { transform: translateY(0); }
