.swp-portfolio-pro{--swp-accent:#d6ff3f;--swp-ink:#101010;--swp-surface:#f5f5f2;--swp-radius-pill:999px;--swp-ease:var(--swp-ease);background:var(--swp-surface);color:var(--swp-ink);min-height:70vh}.swp-portfolio-hero{background:#0b0b0b;color:#fff;padding:clamp(7rem,12vw,11rem) 0 clamp(4rem,7vw,7rem);overflow:hidden;position:relative}.swp-portfolio-hero:after{content:"";position:absolute;inset:auto -12vw -25vw auto;width:55vw;height:55vw;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 6vw rgba(255,255,255,.025),0 0 0 12vw rgba(255,255,255,.018)}.swp-portfolio-hero-inner{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(3rem,8vw,9rem);align-items:end;position:relative;z-index:1}.swp-portfolio-hero h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(4rem,8.8vw,8.5rem);line-height:.9;letter-spacing:-.032em;margin:.35rem 0 1.8rem;max-width:1050px}.swp-portfolio-hero h1 span{display:block;color:var(--swp-accent);line-height:.91;margin-top:.075em}.swp-portfolio-lead{max-width:750px;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.75;color:#b8b8b8}.swp-portfolio-stats{display:grid;gap:1rem}.swp-portfolio-stats div{border-top:1px solid #333;padding:1.1rem 0;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.swp-portfolio-stats strong{font:800 clamp(2rem,4vw,3.4rem)/1 "Barlow Condensed",sans-serif;color:var(--swp-accent)}.swp-portfolio-stats span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#aaa;text-align:right}.swp-portfolio-browser{padding:clamp(3rem,6vw,6rem) 0 7rem}.swp-portfolio-toolbar{display:grid;grid-template-columns:1fr minmax(280px,390px);gap:1.5rem;align-items:center;margin-bottom:2.25rem}.swp-filter-chips{display:flex;gap:.65rem;flex-wrap:wrap}.swp-filter-chips button{appearance:none;border:1px solid #d2d2cc;background:#fff;color:#181818;border-radius:var(--swp-radius-pill);padding:.8rem 1.05rem;font:700 .77rem/1 "Manrope",sans-serif;cursor:pointer;transition:.25s ease}.swp-filter-chips button:hover,.swp-filter-chips button.is-active{background:#111;color:#fff;border-color:#111;transform:translateY(-2px)}.swp-live-search{height:54px;background:#fff;border:1px solid #d8d8d2;border-radius:var(--swp-radius-pill);display:flex;align-items:center;padding:0 1rem;box-shadow:0 8px 35px rgba(0,0,0,.04)}.swp-live-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.swp-live-search input{border:0;outline:0;background:transparent;width:100%;height:100%;padding:0 .75rem;font:500 .9rem "Manrope",sans-serif}.swp-live-search button{border:0;background:#111;color:#fff;width:25px;height:25px;border-radius:50%;display:none;place-items:center;cursor:pointer}.swp-live-search button.is-visible{display:grid}.swp-results-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;color:#777;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.swp-results-head strong{color:#111}.swp-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);min-height:260px}.swp-portfolio-card{background:#fff;opacity:0;transform:translateY(22px);transition:opacity .55s ease var(--delay,0ms),transform .55s ease var(--delay,0ms),box-shadow .3s ease}.swp-portfolio-card.is-visible{opacity:1;transform:none}.swp-portfolio-card:hover{box-shadow:0 25px 70px rgba(0,0,0,.12)}.swp-portfolio-card>a{color:inherit;text-decoration:none;display:block}.swp-portfolio-card-media{aspect-ratio:4/3;overflow:hidden;position:relative;background:#ddd}.swp-portfolio-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--swp-ease)}.swp-portfolio-card:hover img{transform:scale(1.06)}.swp-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.86));display:flex;align-items:flex-end;justify-content:space-between;padding:1.35rem;color:#fff;opacity:0;transition:.35s ease}.swp-portfolio-card:hover .swp-card-overlay{opacity:1}.swp-card-overlay span{font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.swp-card-overlay i{font-style:normal;font-size:1.5rem}.swp-card-badge{position:absolute;z-index:2;top:1rem;left:1rem;background:var(--swp-accent);color:#111;padding:.55rem .7rem;border-radius:var(--swp-radius-pill);font-size:.68rem;font-weight:900;letter-spacing:.08em}.swp-portfolio-card-body{padding:1.3rem 1.35rem 1.45rem}.swp-card-service{margin:0 0 .55rem;color:#777;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.swp-portfolio-card h2{font:800 clamp(1.55rem,2.1vw,2rem)/1 "Barlow Condensed",sans-serif;text-transform:uppercase;margin:0}.swp-card-client{margin:.55rem 0 0;color:#666;font-size:.84rem}.swp-card-meta{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #ecece7;margin-top:1.1rem;padding-top:1rem;color:#6c6c6c;font-size:.75rem}.swp-portfolio-actions{text-align:center;padding-top:3rem}.swp-load-more{border:0;background:#111;color:#fff;border-radius:var(--swp-radius-pill);padding:1rem 1.35rem 1rem 1.6rem;font-weight:800;cursor:pointer;display:inline-flex;gap:1.2rem;align-items:center;transition:.25s ease}.swp-load-more:hover{background:var(--swp-accent);color:#111;transform:translateY(-2px)}.swp-load-more i{font-style:normal;font-size:1.2rem}.swp-portfolio-empty{grid-column:1/-1;padding:5rem 1rem;text-align:center;background:#fff}.swp-portfolio-empty strong{font:800 2.4rem "Barlow Condensed",sans-serif;text-transform:uppercase}.swp-portfolio-empty p{color:#777}.swp-portfolio-pro.is-loading .swp-portfolio-grid{opacity:.48;pointer-events:none;transition:opacity .2s}.swp-portfolio-pro.is-loading .swp-load-more{pointer-events:none;opacity:.6}@media(max-width:980px){.swp-portfolio-hero-inner,.swp-portfolio-toolbar{grid-template-columns:1fr}.swp-portfolio-stats{grid-template-columns:repeat(3,1fr)}.swp-portfolio-stats div{display:block}.swp-portfolio-stats span{display:block;text-align:left;margin-top:.35rem}.swp-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.swp-portfolio-hero{padding-top:7rem}.swp-portfolio-hero h1{font-size:clamp(3.6rem,18vw,5.5rem)}.swp-portfolio-stats{grid-template-columns:1fr}.swp-portfolio-stats div{display:flex}.swp-portfolio-stats span{text-align:right}.swp-portfolio-grid{grid-template-columns:1fr}.swp-filter-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:.5rem;margin-right:-1rem}.swp-filter-chips button{white-space:nowrap}.swp-results-head{align-items:flex-start;gap:1rem}.swp-card-overlay{opacity:1;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.8))}}
@media(prefers-reduced-motion:reduce){.swp-portfolio-card,.swp-portfolio-card-media img,.swp-filter-chips button,.swp-load-more{transition:none!important}}


/* v5.4.1 — typography and interaction polish */
.swp-filter-chips button:focus-visible,
.swp-live-search input:focus-visible,
.swp-live-search button:focus-visible,
.swp-load-more:focus-visible,
.swp-portfolio-card > a:focus-visible{
  outline:3px solid var(--swp-accent);
  outline-offset:4px;
}
@media(max-width:980px){
  .swp-portfolio-hero h1{line-height:.91;}
  .swp-portfolio-hero h1 span{line-height:.93;margin-top:.09em;}
}
@media(max-width:640px){
  .swp-portfolio-hero h1{line-height:.93;letter-spacing:-.025em;}
  .swp-portfolio-hero h1 span{line-height:.95;margin-top:.1em;}
}
@media(prefers-reduced-motion:reduce){
  .swp-portfolio-card,
  .swp-portfolio-card-media img,
  .swp-card-overlay,
  .swp-filter-chips button,
  .swp-load-more{transition:none!important;}
}
