/* PDP R11 - Architecturally curved photo cards. R10 cut polygon replaced with obvious asymmetric sweeping arcs. */
/* Keep image content central and nearly unobstructed; move text overlays into caption. */
.project-card {
  display:flex;
  flex-direction:column;
  height:100%;
  border:0;
  background:transparent;
  overflow:visible;
  box-shadow:none;
  transition:none;
}
.project-card:hover {transform:none;box-shadow:none;}
.project-frame {
  position:relative;
  padding:10px 18px 15px 10px;
  isolation:isolate;
  flex:0 0 auto;
}
html[dir="rtl"] .project-frame {padding:10px 10px 15px 18px;}
.project-frame::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:22px 4px 2px 22px;
  background:linear-gradient(143deg, #d7e6fa 0%, #ebf3fc 85%);
  border:1px solid #b5cce7;
  border-radius:20px 135px 20px 135px;
  clip-path:none;
  box-shadow:0 12px 23px rgba(18,65,127,.1);
}
.project-frame::after {
  content:"";
  position:absolute;
  z-index:2;
  inset:auto 1px 16px auto;
  width:6px;height:72px;
  border-radius:12px;
  background:linear-gradient(180deg,#ffd580 0%,#f39200 75%);
  transform:none;
  box-shadow:0 8px 15px rgba(243,146,0,.25);
}
.project-art {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  aspect-ratio:1.64;
  padding:0;
  margin:0;
  border:0;
  clip-path:none;
  border-radius:20px 135px 20px 135px;
  box-shadow:0 10px 28px rgba(9,45,93,.16);
  transform:translateZ(0);
  background-color:#1a3564;
}
.project-card:nth-child(2n) .project-art,
.project-card:nth-child(2n) .project-frame::before{
  border-radius:135px 20px 135px 20px;
}
.project-art::before {display:none;}
.project-art::after{
  content:"";
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(3,24,54,.11) 0%,transparent 52%,rgba(3,24,54,.1) 100%);
  pointer-events:none;
}
.project-art .project-photo {
  position:absolute;
  inset:0;
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  border-radius:inherit;
  transform:scale(1.002);
  filter:none;
  transition:transform .7s cubic-bezier(.21,.72,.21,.99);
}
.project-card:hover .project-photo {transform:scale(1.05);filter:none;}
.project-frame-label {
  position:absolute;
  z-index:3;
  top:34px;
  inset-inline-start:30px;
  padding:9px 14px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(25,65,137,.11);
  color:#173f82;
  border-radius:999px;
  font:800 11px/1.3 Inter,Arial,sans-serif;
  letter-spacing:.09em;
  direction:ltr;
  text-shadow:none;
  box-shadow:0 8px 18px rgba(3,24,54,.12);
}
.project-caption {
  position:relative;
  z-index:4;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  margin-top:2px;
  margin-inline-start:26px;
  width:calc(100% - 56px);
  min-height:178px;
  padding:18px 24px 16px;
  border:1px solid #d7e3f3;
  border-inline-start:4px solid var(--orange);
  border-radius:14px 62px 14px 62px;
  background:linear-gradient(120deg,#fff 0%,#f3f8ff 100%);
  box-shadow:0 10px 26px rgba(13,47,95,.10);
  transition:transform .3s,box-shadow .3s,background .3s;
}
.project-card:nth-child(2n) .project-caption {border-radius:62px 14px 62px 14px;}
.project-caption::before{display:none;}
.project-caption-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:12px;color:#2f5592;
}
.project-caption-meta>span:first-child {min-width:0;}
.project-counter {
  display:grid;
  place-items:center;
  flex:0 0 39px;
  width:39px;height:39px;
  border-radius:50%;
  border:1px solid #bfd3ef;
  background:#e8f1fe;
  color:#194189;
  font:800 18px/1 Inter,Arial,sans-serif;
}
.project-caption h3{
  margin-top:4px;
  color:var(--navy);
  font-size:21px;
  font-weight:750;
  line-height:1.55;
}
.project-credit {margin-top:8px;font-size:11px;line-height:1.5;color:#6b7e98;}
.project-open {margin-top:auto;padding-top:11px;padding-bottom:0;border:0;font-size:14px;}
.project-open b{display:grid;place-items:center;width:29px;height:29px;background:#e2eaf7;border-radius:50%;}
.project-card:hover .project-caption{transform:translateY(-3px);box-shadow:0 17px 32px rgba(13,47,95,.14);background:#fff;}
.project-card:hover .project-frame::before{background:#d2e3fa;}
.featured .project-card:nth-child(2n){padding-top:0;}
.projects-grid{align-items:stretch;}
/* Give the large project-image on detail pages matching but simpler sculpture. */
.detail-cover{overflow:hidden;border-radius:25px 120px 25px 120px;clip-path:none;}
.detail-cover img{border-radius:25px 120px 25px 120px;clip-path:none;}
@media(max-width:1000px){
 .project-art{aspect-ratio:1.52;border-radius:18px 92px 18px 92px;}
 .project-card:nth-child(2n) .project-art{border-radius:92px 18px 92px 18px;}
 .project-frame::before{border-radius:18px 92px 18px 92px;}
 .project-card:nth-child(2n) .project-frame::before{border-radius:92px 18px 92px 18px;}
 .project-caption{border-radius:12px 45px 12px 45px;}
 .project-card:nth-child(2n) .project-caption{border-radius:45px 12px 45px 12px;}
}
@media(max-width:650px){
 .project-frame{padding:8px 12px 13px 8px;}
 html[dir="rtl"] .project-frame{padding:8px 8px 13px 12px;}
 .project-frame::before{inset:16px 1px 2px 15px;border-radius:15px 78px 15px 78px;}
 .project-card:nth-child(2n) .project-frame::before{border-radius:78px 15px 78px 15px;}
 .project-art{aspect-ratio:1.47;border-radius:15px 78px 15px 78px;}
 .project-card:nth-child(2n) .project-art{border-radius:78px 15px 78px 15px;}
 .project-frame::after{height:52px;width:5px;bottom:12px;}
 .project-frame-label{top:23px;inset-inline-start:22px;font-size:10px;padding:7px 10px;}
 .project-caption{min-height:167px;width:calc(100% - 35px);margin-top:0;margin-inline-start:18px;padding:17px 18px 16px;border-radius:12px 42px 12px 42px;}
 .project-card:nth-child(2n) .project-caption{border-radius:42px 12px 42px 12px;}
 .project-counter{width:34px;height:34px;flex-basis:34px;font-size:16px;}
 .project-caption h3{font-size:19px;line-height:1.6;}
 .project-credit{font-size:10px;}
 .detail-cover,.detail-cover img{border-radius:15px 70px 15px 70px;}
}
@media(prefers-reduced-motion:reduce){.project-photo,.project-caption{transition:none!important;}}


/* R12: remove overlay PDP labels from project photos */
.project-frame-label,.project-art .art-label{display:none !important;}
