
  .portfolio-section{padding:110px 0 120px;}
  .portfolio-head{text-align:center;max-width:640px;margin:0 auto 60px;}
  .portfolio-head .eyebrow{justify-content:center;}
  .portfolio-head h2{font-size:clamp(28px,3.6vw,42px);line-height:1.1;}
  .portfolio-head p{margin-top:18px;font-size:17px;color:var(--text-body);font-weight:400;}

  .portfolio-masonry{columns:4;column-gap:20px;}
  .gallery-item{
    position:relative;overflow:hidden;cursor:pointer;break-inside:avoid;margin-bottom:20px;
    background:linear-gradient(135deg,#efece4,#e2ddd0);
  }
  .gallery-item img{width:100%;height:auto;display:block;transition:transform .45s ease;}
  .gallery-item:hover img{transform:scale(1.045);}
  .gallery-item::before,.gallery-item::after{
    content:"";position:absolute;width:18px;height:18px;border:1px solid rgba(255,255,255,.75);z-index:2;pointer-events:none;
  }
  .gallery-item::before{top:12px;left:12px;border-right:none;border-bottom:none;}
  .gallery-item::after{bottom:12px;right:12px;border-left:none;border-top:none;}

  @media (max-width:1200px){.portfolio-masonry{columns:3;}}
  @media (max-width:860px){.portfolio-masonry{columns:2;}}
  @media (max-width:560px){.portfolio-masonry{columns:1;}.portfolio-section{padding:64px 0 70px;}.portfolio-head{margin-bottom:36px;}}

  .portfolio-pagination{
    display:flex;justify-content:center;align-items:center;gap:10px;
    margin-top:54px;flex-wrap:wrap;
  }
  .portfolio-pagination button{
    font-family:var(--font-mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase;
    min-width:42px;height:42px;padding:0 16px;
    border:1px solid var(--line);background:transparent;color:var(--text-body);
    cursor:pointer;border-radius:999px;transition:background .2s ease,color .2s ease,border-color .2s ease;
  }
  .portfolio-pagination button:hover:not(:disabled):not(.active){border-color:var(--red);color:var(--ink);}
  .portfolio-pagination button.active{background:var(--ink);border-color:var(--ink);color:#fff;cursor:default;}
  .portfolio-pagination button:disabled{opacity:.35;cursor:not-allowed;}
  .portfolio-pagination .pp-num{padding:0;width:42px;}
  @media (max-width:480px){
    .portfolio-pagination{gap:8px;margin-top:40px;}
    .portfolio-pagination button{min-width:38px;height:38px;padding:0 12px;font-size:12px;}
    .portfolio-pagination .pp-num{width:38px;}
  }

  .lightbox{
    position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;
    background:rgba(12,12,13,.94);padding:40px;
    -webkit-user-select:none;-moz-user-select:none;user-select:none;
  }
  .lightbox img{-webkit-user-drag:none;}
  .lightbox.open{display:flex;}
  .lightbox-img-wrap{position:relative;max-width:min(1100px,92vw);max-height:88vh;}
  .lightbox img{display:block;max-width:100%;max-height:88vh;width:auto;height:auto;margin:0 auto;}

  .lightbox-prev,.lightbox-next{
    position:fixed;top:50%;transform:translateY(-50%);z-index:1000;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;
    width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .2s ease;font-size:16px;
  }
  .lightbox-prev{left:24px;}
  .lightbox-next{right:24px;}
  .lightbox-close{
    position:fixed;top:20px;right:20px;z-index:1000;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;
    width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .2s ease;font-size:16px;
  }
  .lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,.2);}
  .lightbox-counter{
    position:fixed;bottom:24px;left:0;right:0;text-align:center;z-index:1000;
    font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.7);
  }
  @media (max-width:760px){
    .lightbox{padding:16px;}
    .lightbox-close{top:12px;right:12px;width:40px;height:40px;}
    .lightbox-prev,.lightbox-next{top:auto;bottom:16px;transform:none;width:40px;height:40px;}
    .lightbox-prev{left:16px;}
    .lightbox-next{right:16px;}
    .lightbox-counter{bottom:26px;font-size:11px;}
  }
