.work-showcase{ padding-top:clamp(44px,7vw,88px); scroll-margin-top:calc(var(--header-h) + 14px); }
.work-intro{
  display:flex; align-items:flex-end; justify-content:space-between; gap:32px;
  margin-bottom:34px;
}
.work-intro > div:first-child{ max-width:760px; }
.work-intro h2{ margin:8px 0 12px; font-size:clamp(28px,4vw,42px); }
.work-intro p{ max-width:690px; font-size:16px; }
.work-count{
  flex:none; display:grid; justify-items:center; gap:2px; min-width:128px;
  padding:16px 20px; border:1px solid var(--border); border-radius:var(--r-lg);
  background:linear-gradient(145deg,#fff,#F2F8FC);
}
.work-count strong{ color:var(--sky); font-size:34px; line-height:1.1; }
.work-count span{ color:var(--text-2); font-size:12px; }
.work-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; margin-bottom:12px;
}
.work-toolbar .work-filters{ margin:0; }
.work-search{
  display:flex; align-items:center; gap:10px; width:min(100%,300px);
  padding:0 14px; border:1px solid var(--border); border-radius:var(--r-pill);
  background:#fff; color:var(--text-2);
}
.work-search:focus-within{ border-color:var(--sky); box-shadow:0 0 0 3px rgba(16,128,192,.12); }
.work-search svg{ width:18px; height:18px; flex:none; }
.work-search input{
  width:100%; min-width:0; height:42px; border:0; outline:0;
  background:transparent; color:var(--text); font:inherit; font-size:13px;
}
.work-search input:focus-visible{ outline:0; }
.work-search .sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.work-results{ min-height:24px; margin:0 0 14px; color:var(--text-2); font-size:13px; }
.work-projects{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.project-card{
  min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:var(--r-lg);
  background:#fff; box-shadow:0 8px 28px rgba(5,20,34,.055);
  transition:transform var(--d-med) var(--e-out),box-shadow var(--d-med) var(--e-out),border-color var(--d-fast);
}
.project-card:hover{ transform:translateY(-5px); border-color:rgba(16,128,192,.35); box-shadow:0 18px 42px rgba(5,20,34,.12); }
.project-card__image{
  display:block; width:100%; aspect-ratio:16/10; object-fit:cover;
  object-position:center 22%; background:#EAF2F7;
}
.project-card__content{ padding:20px 22px 22px; }
.project-card__meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.project-card__type{
  display:inline-flex; align-items:center; min-height:26px; padding:3px 10px;
  border-radius:var(--r-pill); background:#E8F3FB; color:var(--navy);
  font-size:11px; font-weight:600;
}
.project-card__number{ color:var(--text-2); font-size:12px; direction:ltr; }
.project-card h3{ margin:12px 0 7px; font-size:20px; }
.project-card__summary{ min-height:3.2em; margin-bottom:16px; color:var(--text-2); font-size:14px; }
.project-card__footer{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.project-card__tags{ display:flex; flex-wrap:wrap; gap:6px; }
.project-card__tags span{
  padding:4px 9px; border:1px solid var(--border); border-radius:var(--r-pill);
  color:var(--text-2); font-size:11px;
}
.project-card__open{
  display:inline-flex; align-items:center; gap:7px; flex:none; padding:8px 12px;
  border:0; border-radius:var(--r-pill); background:var(--navy); color:#fff;
  font:inherit; font-size:12px; font-weight:600; cursor:pointer;
  transition:background var(--d-fast),transform var(--d-fast);
}
.project-card__open:hover{ background:var(--sky); transform:translateY(-1px); }
.project-card__open svg{ width:15px; height:15px; }
.project-empty{ grid-column:1/-1; padding:40px 20px; border:1px dashed var(--border); border-radius:var(--r-lg); text-align:center; color:var(--text-2); }
.work-noscript{ padding:20px; text-align:center; }

.work-project-dialog{ padding:18px; }
.work-project-dialog .lightbox__box{
  width:min(1120px,100%); max-width:1120px; max-height:92vh;
  padding:0; overflow:auto;
}
.work-project-dialog .lightbox__close{
  z-index:2; top:12px; inset-inline-end:12px; box-shadow:0 3px 14px rgba(0,0,0,.12);
}
.project-detail{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.project-detail__visual{ min-width:0; padding:22px; background:#F2F7FA; }
.project-detail__main-image{
  display:block; width:100%; height:min(57vh,520px); object-fit:contain;
  border-radius:var(--r-md); background:#E6EEF3;
}
.project-gallery{ display:flex; gap:9px; overflow-x:auto; padding:14px 2px 4px; }
.project-gallery__thumb{
  flex:none; width:78px; height:58px; overflow:hidden; padding:0;
  border:2px solid transparent; border-radius:9px; background:#fff; cursor:pointer;
}
.project-gallery__thumb[aria-pressed="true"]{ border-color:var(--sky); }
.project-gallery__thumb img{ display:block; width:100%; height:100%; object-fit:cover; }
.project-detail__content{ padding:38px clamp(22px,4vw,48px); }
.project-detail__eyebrow{ color:var(--sky); font-size:13px; font-weight:700; }
.project-detail__content h2{ margin:6px 48px 10px 0; font-size:clamp(25px,3vw,34px); }
[dir="rtl"] .project-detail__content h2{ margin-right:0; margin-left:48px; }
.project-detail__summary{ margin-bottom:22px; color:var(--text-2); }
.project-detail__section{ margin-top:20px; }
.project-detail__section h3{ margin-bottom:9px; font-size:16px; }
.project-detail__section ul{ display:grid; gap:7px; padding-inline-start:20px; color:var(--text-2); font-size:14px; }
.project-detail__section li::marker{ color:var(--sky); }
.project-tech-list{ display:flex; flex-wrap:wrap; gap:7px; }
.project-tech-list span{ padding:5px 10px; border:1px solid var(--border); border-radius:var(--r-pill); font-size:12px; }
.project-detail__note{ padding:12px 14px; border-inline-start:3px solid var(--sky); border-radius:8px; background:#F2F8FC; color:var(--text-2); font-size:13px; }
.project-detail__actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.project-detail__actions .btn{ min-height:42px; }

@media (max-width:900px){
  .work-projects{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .project-detail{ grid-template-columns:1fr; }
  .project-detail__visual{ padding:18px; }
  .project-detail__main-image{ height:min(42vh,380px); }
  .project-detail__content{ padding-top:25px; }
}
@media (max-width:639px){
  .work-intro{ align-items:flex-start; gap:15px; }
  .work-count{ min-width:86px; padding:11px 10px; }
  .work-count strong{ font-size:27px; }
  .work-count span{ text-align:center; font-size:10px; }
  .work-toolbar{ align-items:stretch; flex-direction:column; gap:12px; }
  .work-toolbar .work-filters{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  .work-filters button{ flex:none; padding-inline:14px; }
  .work-search{ width:100%; }
  .work-projects{ grid-template-columns:1fr; gap:16px; }
  .project-card__image{ aspect-ratio:16/9; }
  .project-card__content{ padding:17px; }
  .project-card__summary{ min-height:0; }
  .project-card__footer{ align-items:flex-end; }
  .work-project-dialog{ padding:8px; }
  .work-project-dialog .lightbox__box{ max-height:94vh; border-radius:14px; }
  .project-detail__visual{ padding:12px; }
  .project-detail__main-image{ height:34vh; min-height:190px; }
  .project-gallery__thumb{ width:66px; height:50px; }
  .project-detail__content{ padding:20px 18px 26px; }
}
@media (prefers-reduced-motion:reduce){
  .project-card,.project-card__open{ transition:none; }
}
