/* PitchPro Solutions Ltd — portfolio.css */

/* PORTFOLIO PAGE ADDITIONS */
  .filter-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:8px;}
  .filter-btn{
    background:var(--neutral-light);color:var(--navy);font-size:13.5px;font-weight:600;
    padding:9px 18px;border-radius:999px;border:none;cursor:pointer;transition:background .15s ease, color .15s ease;
    font-family:'Inter',sans-serif;
  }
  .filter-btn.active, .filter-btn:hover{background:var(--teal);color:#fff;}
  .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media (max-width:900px){ .work-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .work-grid{grid-template-columns:1fr;} }
  .work-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease, transform .2s ease;}
  .work-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
  .work-cat{
    display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    color:var(--teal-dark);background:var(--teal-tint);padding:4px 11px;border-radius:999px;margin-bottom:12px;
  }
  .work-body{padding:24px;}
  .work-body h3{font-size:17px;margin-bottom:8px;}
  .work-body p{font-size:14px;color:var(--text-muted);margin:0 0 10px;}
  .work-stars{color:var(--teal-dark);font-size:14px;letter-spacing:1px;margin-bottom:10px;}
  .work-quote{font-size:13.5px;font-style:italic;color:var(--text);border-left:2px solid var(--teal);padding-left:12px;margin:12px 0 0;}
  .work-client{font-size:12.5px;color:var(--text-muted);font-weight:600;margin-top:10px;}

  /* REVIEW GALLERY */
  .review-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media (max-width:900px){ .review-gallery{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:600px){ .review-gallery{grid-template-columns:repeat(2,1fr);} }
  .review-thumb{
    border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:1px solid var(--border);
    box-shadow:var(--shadow-sm);transition:transform .2s ease, box-shadow .2s ease;background:#fff;
  }
  .review-thumb:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
  .review-thumb img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}

  /* LIGHTBOX */
  .lightbox{display:none;position:fixed;inset:0;background:rgba(8,20,40,0.88);z-index:400;align-items:center;justify-content:center;padding:24px;}
  .lightbox.open{display:flex;}
  .lightbox img{max-width:90vw;max-height:88vh;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);}
  .lightbox-close{position:absolute;top:24px;right:28px;color:#fff;font-size:32px;cursor:pointer;background:none;border:none;line-height:1;}

  /* VIDEO SECTION */
  .video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media (max-width:900px){ .video-grid{grid-template-columns:1fr;} }
  .video-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
  .video-card video{width:100%;display:block;background:#000;aspect-ratio:9/16;object-fit:cover;max-height:520px;}
  .video-card.wide video{aspect-ratio:16/9;max-height:none;object-fit:contain;background:#0B1F3D;}
  .video-caption{padding:18px 20px;}
  .video-caption h3{font-size:15.5px;margin-bottom:4px;}
  .video-caption p{font-size:13.5px;color:var(--text-muted);margin:0;}