/* Portfolio4 / Dark Filter Grid layout — selected work only, no hero/footer/testimonial/form */
.wda-ap-portfolio_filter_grid{
  --wda-p4-bg: var(--wda-ap-secondary, #0a0a0a);
  --wda-p4-card-bg: color-mix(in srgb, var(--wda-p4-bg) 86%, #ffffff 14%);
  --wda-p4-white: #ffffff;
  padding:5rem 0 7rem;
  background:var(--wda-p4-bg);
  color:var(--wda-p4-white);
}
@media(min-width:1024px){.wda-ap-portfolio_filter_grid{padding:7rem 0 8rem}}
.wda-p4-inner{max-width:120rem}
.wda-ap-portfolio_filter_grid .wda-ap-header{margin-bottom:3rem}
.wda-ap-portfolio_filter_grid .wda-ap-eyebrow{color:var(--wda-ap-primary)}
.wda-ap-portfolio_filter_grid .wda-ap-heading{color:var(--wda-p4-white)}
.wda-ap-portfolio_filter_grid .wda-ap-heading-muted{color:var(--wda-p4-white)}
.wda-ap-portfolio_filter_grid .wda-ap-heading-accent{color:var(--wda-ap-primary)}
.wda-ap-portfolio_filter_grid .wda-ap-description{color:rgba(255,255,255,.45)}
.wda-ap-portfolio_filter_grid .wda-ap-header-cta{color:var(--wda-p4-white)}
.wda-ap-portfolio_filter_grid .wda-ap-header-cta:hover{color:var(--wda-ap-primary)}
.wda-p4-layout{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){
  .wda-p4-layout.has-sidebar{grid-template-columns:minmax(160px,200px) 1fr;gap:3rem}
  .wda-p4-layout.no-sidebar{grid-template-columns:1fr}
}
.wda-p4-filter-sidebar.wda-ap-filters{margin:0;display:flex;flex-wrap:wrap;gap:.65rem;align-self:start}
@media(min-width:1024px){
  .wda-p4-filter-sidebar.wda-ap-filters{position:sticky;top:7rem;flex-direction:column;align-items:stretch;flex-wrap:nowrap}
}
.wda-p4-filter.wda-ap-filter{
  border:0;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.52);
  border-radius:999px;
  padding:.78rem 1.18rem;
  text-align:left;
  font-family:"Figtree",ui-sans-serif,system-ui,sans-serif;
  font-size:.88rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  transition:background-color .25s ease,color .25s ease,transform .25s ease;
}
.wda-p4-filter.wda-ap-filter:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateX(2px)}
.wda-p4-filter.wda-ap-filter.is-active{background:var(--wda-ap-primary);color:#fff}
.wda-p4-grid.wda-ap-grid{grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.wda-p4-grid.wda-ap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wda-p4-card.wda-ap-card{
  display:block;
  position:relative;
  overflow:hidden;
  min-height:var(--wda-ap-card-height,20rem);
  height:var(--wda-ap-card-height,20rem);
  background:var(--wda-p4-card-bg);
  border:0;
  border-radius:1rem;
  box-shadow:none;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transform:none;
  transition:opacity .25s ease, transform .35s ease, box-shadow .35s ease;
}
@media(min-width:1024px){.wda-p4-card.wda-ap-card{--wda-ap-card-height:20rem}}
.wda-p4-card.wda-ap-card:hover{box-shadow:0 28px 70px rgba(0,0,0,.28);transform:translateY(-2px)}
.wda-p4-card.wda-ap-card.is-filtered-out{display:none!important}
.wda-p4-card-image.wda-ap-card-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .75s cubic-bezier(.16,1,.3,1),filter .35s ease;
}
.wda-p4-card:hover .wda-p4-card-image{transform:scale(1.05)}
.wda-p4-card-gradient.wda-ap-card-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(10,10,10,.96) 0%,rgba(10,10,10,.62) 42%,rgba(10,10,10,.12) 100%);
  pointer-events:none;
}
.wda-p4-hover-overlay.wda-ap-hover-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem;
  background:color-mix(in srgb,var(--wda-ap-primary) 82%,transparent);
  opacity:0;
  transition:opacity .45s ease;
  pointer-events:none;
  text-align:center;
}
.wda-p4-card:hover .wda-p4-hover-overlay,
.wda-p4-card:focus-within .wda-p4-hover-overlay{opacity:1}
.wda-p4-hover-stat.wda-ap-hover-result{
  font-family:"Syne",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(1.6rem,3vw,2.65rem);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:800;
  color:#fff;
  text-transform:none;
  max-width:90%;
}
.wda-p4-card-content.wda-ap-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  padding:1.5rem;
  color:#fff;
  pointer-events:none;
}
@media(min-width:1024px){.wda-p4-card-content.wda-ap-card-content{padding:1.75rem}}
.wda-p4-card-tag.wda-ap-card-category{
  display:block;
  margin:0 0 .55rem;
  font-family:"Figtree",ui-sans-serif,system-ui,sans-serif;
  font-size:.75rem;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--wda-ap-primary);
}
.wda-p4-card-title.wda-ap-card-title{
  margin:0;
  font-family:"Syne",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(1.25rem,2vw,1.75rem);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:800;
  color:#fff;
  text-transform:uppercase;
}
.wda-p4-arrow.wda-ap-card-arrow{
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:2.5rem;
  height:2.5rem;
  border-radius:999px;
  border:1px solid var(--wda-ap-arrow-border,rgba(255,255,255,.28));
  background:var(--wda-ap-arrow-bg,rgba(255,255,255,.14));
  color:var(--wda-ap-arrow-color,#fff);
  pointer-events:none;
  transition:background-color .3s ease,color .3s ease,border-color .3s ease;
}
.wda-p4-arrow svg{width:1.05rem;height:1.05rem;transition:transform .3s ease;stroke:currentColor}.wda-p4-arrow svg path{stroke:currentColor}
.wda-p4-card:hover .wda-p4-arrow{background:var(--wda-ap-arrow-hover-bg,#fff);border-color:var(--wda-ap-arrow-hover-border,var(--wda-ap-arrow-hover-bg,#fff));color:var(--wda-ap-arrow-hover-color,var(--wda-ap-primary))}
.wda-p4-card:hover .wda-p4-arrow svg{transform:translate(.12rem,-.12rem)}
.wda-p4-widget .wda-ap-empty{color:rgba(255,255,255,.55);background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
@media(max-width:767px){
  .wda-ap-portfolio_filter_grid{padding:4rem 0 5rem}
  .wda-p4-card.wda-ap-card{height:auto;min-height:19rem}
  .wda-p4-card-content.wda-ap-card-content{padding:1.25rem;align-items:flex-end}
  .wda-p4-arrow.wda-ap-card-arrow{width:2.25rem;height:2.25rem}
}
