/* Edward Portfolio Grid — inspired by the user's approved premium dark portfolio cards. */
/* Scoped to .edpf-portfolio; intentionally does not modify Experience Stack. */
.edpf-portfolio {
  display:block;width:100%;max-width:var(--edpf-max,1400px);margin:0 auto;
  padding:0;background:transparent!important;
  color:var(--edpf-heading,#F5F2EC);
  font-family:var(--edpf-body-font,"Manrope",Arial,sans-serif);
}
.edpf-portfolio *, .edpf-portfolio *::before,.edpf-portfolio *::after {box-sizing:border-box;}
.edpf-portfolio .edpf-filters {
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  column-gap:19px;row-gap:11px;margin:0 0 28px;padding:0;background:transparent!important;
}
.edpf-portfolio .edpf-filter {
  appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;
  min-width:115px;min-height:36px;padding:7px 18px;white-space:nowrap;
  border:1px solid var(--edpf-pill,#34424A);border-radius:999px;
  background:transparent!important;color:var(--edpf-filter-text,#F5F2EC)!important;
  font-family:var(--edpf-body-font);font-size:11px;font-weight:500;line-height:1.2;
  text-transform:none;letter-spacing:0;box-shadow:none;cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.edpf-portfolio .edpf-filter:hover,.edpf-portfolio .edpf-filter.is-active {
  border-color:var(--edpf-accent,#D1A36C)!important;
  color:var(--edpf-accent,#D1A36C)!important;background:transparent!important;
}
.edpf-portfolio .edpf-filter:focus-visible,.edpf-portfolio .edpf-case-link:focus-visible {
  outline:2px solid var(--edpf-accent,#D1A36C);outline-offset:4px;
}
.edpf-portfolio .edpf-grid {
  display:grid;grid-template-columns:repeat(var(--edpf-cols,3),minmax(0,1fr));
  gap:var(--edpf-gap,18px);align-items:stretch;background:transparent!important;
}
.edpf-portfolio .edpf-card {
  display:flex;min-width:0;flex-direction:column;
  overflow:hidden;position:relative;border:1px solid var(--edpf-border,#A17A51);
  border-radius:var(--edpf-radius,7px);
  background:linear-gradient(180deg,var(--edpf-bg1,#071720) 0%,var(--edpf-bg2,#0B1820) 100%)!important;
  color:var(--edpf-heading,#F5F2EC);margin:0;
  box-shadow:0 10px 25px rgba(0,0,0,.14);
  transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease;
}
.edpf-portfolio .edpf-card[hidden] {display:none!important;}
.edpf-portfolio .edpf-card:hover {
  transform:translateY(-3px);box-shadow:0 18px 35px rgba(0,0,0,.21);
  border-color:var(--edpf-accent,#D1A36C);
}
.edpf-portfolio .edpf-card-image {
  flex:0 0 var(--edpf-image-h,200px);height:var(--edpf-image-h,200px);
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(ellipse at 70% 25%,rgba(212,163,101,.27),transparent 58%),linear-gradient(115deg,#1D3039,#19262D 58%,#2C241E);
}
.edpf-portfolio .edpf-project-image {
  position:absolute!important;inset:0;width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover!important;object-position:var(--edpf-focus,center center)!important;
  display:block;margin:0;border-radius:0;transition:transform .5s ease;
}
.edpf-portfolio .edpf-card:hover .edpf-project-image {transform:scale(1.035);}
.edpf-portfolio .edpf-card-image::after {
  position:absolute;inset:0;content:"";z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(3,12,18,.05),rgba(3,12,18,.74));
  opacity:var(--edpf-overlay,.30);
}
.edpf-portfolio .edpf-image-placeholder {
  display:flex;flex-direction:column;align-items:center;gap:6px;
  max-width:85%;text-align:center;color:#F4D7A5;font-family:var(--edpf-title-font);
  font-size:clamp(22px,2vw,34px);line-height:1.05;
}
.edpf-portfolio .edpf-image-placeholder small {
  color:#BFC6C8;font:500 10px/1.2 var(--edpf-body-font);
  letter-spacing:1.8px;
}
.edpf-portfolio .edpf-overlay-logo {
  position:absolute!important;z-index:2;left:20px;bottom:16px;
  display:block;width:auto!important;max-width:65%!important;
  height:45px!important;object-fit:contain!important;object-position:left center;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
.edpf-portfolio .edpf-card-body {
  flex:1 1 auto;min-height:var(--edpf-content-h,285px);
  display:flex;align-items:flex-start;flex-direction:column;
  padding:18px var(--edpf-pad,22px) 20px;
  background:transparent!important;
}
.edpf-portfolio .edpf-category {
  display:inline-flex;align-items:center;border:1px solid var(--edpf-accent,#D1A36C);
  color:var(--edpf-accent,#D1A36C)!important;border-radius:999px;
  padding:5px 11px 4px;font:600 var(--edpf-cat-size,10px)/1.15 var(--edpf-body-font);
  letter-spacing:.55px;text-transform:uppercase;margin:0 0 12px;
}
.edpf-portfolio .edpf-card-title {
  font:500 var(--edpf-title-size,31px)/1.04 var(--edpf-title-font,"Cormorant Garamond",Georgia,serif)!important;
  letter-spacing:-.4px;color:var(--edpf-heading,#F5F2EC)!important;
  text-transform:none!important;margin:0 0 8px!important;padding:0;
}
.edpf-portfolio .edpf-card-desc {
  font:400 var(--edpf-body-size,13px)/1.55 var(--edpf-body-font,"Manrope",Arial,sans-serif)!important;
  color:var(--edpf-description,#CBD0D1)!important;
  margin:0 0 16px!important;padding:0;
}
.edpf-portfolio .edpf-metrics {
  width:100%;display:flex;gap:0;margin-top:auto;padding-top:4px;margin-bottom:18px;
  background:transparent!important;
}
.edpf-portfolio .edpf-metric {
  flex:1 1 0;min-width:0;padding:0 13px 0 0;
}
.edpf-portfolio .edpf-metric+.edpf-metric {
  border-left:1px solid rgba(227,210,180,.30);padding-left:15px;padding-right:0;
}
.edpf-portfolio .edpf-metric-top {
  display:flex;align-items:center;gap:9px;color:var(--edpf-heading,#F5F2EC);
  white-space:nowrap;
}
.edpf-portfolio .edpf-metric-top strong {
  font:500 var(--edpf-num-size,29px)/1 var(--edpf-title-font,"Cormorant Garamond",Georgia,serif);
  letter-spacing:-.5px;color:var(--edpf-heading,#F5F2EC);
}
.edpf-portfolio .edpf-metric-icon {
  flex:0 0 24px;width:24px;height:24px;display:block;
  color:var(--edpf-accent,#D1A36C);stroke:currentColor;
}
.edpf-portfolio .edpf-metric-label {
  display:block;font:400 var(--edpf-label-size,11px)/1.45 var(--edpf-body-font);
  color:var(--edpf-muted,#BDC3C6)!important;margin:6px 0 0 32px;
}
.edpf-portfolio .edpf-case-link {
  margin-top:auto;display:inline-flex;align-items:center;gap:12px;
  font:600 var(--edpf-link-size,12px)/1.2 var(--edpf-body-font);
  text-decoration:none!important;color:var(--edpf-accent,#D1A36C)!important;
  padding:5px 0 0;background:transparent!important;border:0!important;
  transition:gap .22s ease;
}
.edpf-portfolio .edpf-case-link svg {
  width:17px;height:17px;flex:0 0 17px;
}
.edpf-portfolio .edpf-case-link:hover {gap:17px;color:var(--edpf-heading)!important;}
.edpf-portfolio .edpf-empty {
  font:400 14px/1.6 var(--edpf-body-font);color:var(--edpf-muted);text-align:center;
  margin:30px auto;background:transparent!important;
}
.edpf-portfolio .edpf-empty[hidden] {display:none!important;}
@media(max-width:1100px) {
  .edpf-portfolio .edpf-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .edpf-portfolio .edpf-filter {min-width:105px;}
}
@media(max-width:767px) {
  .edpf-portfolio .edpf-grid {grid-template-columns:1fr;}
  .edpf-portfolio .edpf-filters {justify-content:flex-start;gap:8px;margin-bottom:20px;}
  .edpf-portfolio .edpf-filter {min-width:0;font-size:10px;min-height:33px;padding:7px 13px;}
  .edpf-portfolio .edpf-card-image {height:215px;flex-basis:215px;}
  .edpf-portfolio .edpf-card-body {min-height:250px;}
  .edpf-portfolio .edpf-card-title {font-size:clamp(27px,8vw,var(--edpf-title-size,31px))!important;}
}
@media(prefers-reduced-motion:reduce) {
  .edpf-portfolio .edpf-card,.edpf-portfolio .edpf-project-image,.edpf-portfolio .edpf-case-link {transition:none!important;}
}
