/* Shared project listing layout. Existing portfolio classes and filters are retained. */
.projects-v2 { background: #f8f7f3; }
.projects-v2 .page-title-layout1 {
  position: relative; min-height: 577px; padding: 190px 0 110px;
  background: linear-gradient(180deg,#222325 35%,#101113 100%); overflow: hidden;
}
.projects-v2 .page-title-layout1 > .projects-hero-image { position: absolute; inset: 0; opacity: .12; }
.projects-v2 .page-title-layout1 > .projects-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.projects-v2 .page-title-layout1 > .container { position: relative; z-index: 1; }
.projects-v2 .projects-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; color: #d3b373; background: rgba(17,18,21,.6); border: 1px solid rgba(197,160,89,.12); border-radius: 30px; letter-spacing: .08em; }
.projects-v2 .projects-badge::before { content: ''; width: 6px; height: 6px; flex: none; border-radius: 50%; background: currentColor; }
.projects-v2 .pagetitle-heading { margin: 24px 0; color: #fff; }
.projects-v2 .breadcrumb-item { color: #bcbec2; font: 400 var(--type-label)/1.5 var(--font-primary); letter-spacing: .08em; text-transform: uppercase; }
.projects-v2 .breadcrumb-item a { color: #bcbec2; }
.projects-v2 .breadcrumb-item.active, .projects-v2 .breadcrumb-item + .breadcrumb-item::before { color: #c5a059; }
.projects-v2 .projects-intro { max-width: 720px; margin: 28px auto 0; color: #b5b6ba; }
.projects-v2 .portfolio-layout2 { padding: 100px 0 112px; }
.projects-v2 .portfolio-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 32px; }
.projects-v2 .portfolio-heading h2 { margin: 12px 0 0; color: #111827; }
.projects-v2 .portfolio-heading > p { max-width: 430px; margin: 0; color: #626773; }
.projects-v2 .portfolio-filter { gap: 8px; margin: 0 0 32px; }
.projects-v2 .portfolio-filter li { margin: 0; }
.projects-v2 .portfolio-filter .filter { padding: 9px 18px; border: 1px solid #e1ddd3; border-radius: 13px; background: transparent; color: #555962; font: 500 var(--type-label)/1.5 var(--font-primary); }
.projects-v2 .portfolio-filter .filter::after, .projects-v2 .portfolio-filter .filter::before { display: none; }
.projects-v2 .portfolio-filter .filter:hover, .projects-v2 .portfolio-filter .filter.active, .projects-v2 .portfolio-filter .mixitup-control-active { background: #17191d; border-color: #17191d; color: #fff; }
.projects-v2 #filtered-items-wrap { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin: 0; }
.projects-v2 #filtered-items-wrap > .mix { width: auto; max-width: none; min-width: 0; padding: 0; margin: 0; }
.projects-v2 .portfolio-item { display: flex; flex-direction: column; height: 100%; margin: 0; border: 1px solid #e3e2de; border-radius: 13px; overflow: hidden; background: #fff; box-shadow: 0 2px 3px rgba(17,24,39,.04); }
.projects-v2 .portfolio-img { position: relative; flex: none; aspect-ratio: 1.24; overflow: hidden; background: #1c2028; border-radius: 0; }
.projects-v2 .portfolio-img > img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.projects-v2 .portfolio-img-right > img { object-position: right center; }
.projects-v2 .portfolio-img-left > img { object-position: left center; }
.projects-v2 .portfolio-status { position: absolute; top: 18px; left: 16px; z-index: 3; padding: 4px 12px; border-radius: 13px; border: 1px solid rgba(197,160,89,.18); background: rgba(12,14,17,.9); color: #fff; font: 500 10px/1.3 var(--font-primary); letter-spacing: .04em; text-transform: uppercase; }
.projects-v2 .portfolio-status.is-ongoing { color: #60d4ad; border-color: rgba(96,212,173,.15); }
.projects-v2 .portfolio-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 48px 16px 24px; background: rgba(13,17,24,.55); text-align: center; opacity: 1; visibility: visible; transform: none; }
.projects-v2 .portfolio-overlay :is(h3,h4,h5,p) { margin: 0; color: #fff; }
.projects-v2 .portfolio-overlay .type-card-title { font-size: var(--type-card); letter-spacing: .03em; }
.projects-v2 .portfolio-overlay .type-small { font-size: var(--type-small); }
.projects-v2 .portfolio-overlay p.type-body { font: 400 var(--type-label)/1.5 var(--font-primary); color: #d5bd8b; }
.projects-v2 .portfolio-body { display: flex; flex-direction: column; align-items: stretch; flex: 1; padding: 26px 24px 22px; gap: 12px; position: static; background: #fff; }
.projects-v2 .portfolio-body .portfolio-title { margin: 0; font: 500 18px/1.45 var(--font-secondary); color: #111215; overflow-wrap: anywhere; }
.projects-v2 .portfolio-body .portfolio-title a { color: inherit; }
.projects-v2 .portfolio-body .portfolio-title a:hover { color: #997a36; }
.projects-v2 .portfolio-location { min-width: 0; gap: 8px !important; }
.projects-v2 .portfolio-location img { width: 14px; height: 18px; object-fit: contain; flex: none; }
.projects-v2 .portfolio-body .card-desc { color: #666b73; font: 400 var(--type-label)/1.5 var(--font-primary); }
.projects-v2 .joint-venture { color: #777; font: 400 var(--type-label)/1.5 var(--font-primary); margin: 0; }
.projects-v2 .portfolio-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 20px; border-top: 1px solid #f0f0ee; }
.projects-v2 .portfolio-caption { color: #82858a; font: 300 var(--type-label)/1.5 var(--font-primary); }
.projects-v2 .portfolio-actions .btn-more { display: inline-flex; align-items: center; gap: 7px; min-width: 0; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none; color: #111215; font: 500 var(--type-label)/1.5 var(--font-primary); }
.projects-v2 .portfolio-actions .btn-more:hover { color: #997a36; }
.projects-v2 .portfolio-actions svg { width: 14px; height: 14px; margin: 0; }
.projects-v2 main :is(a,button):focus-visible { outline: 2px solid #b58a3c; outline-offset: 4px; }
.projects-v2 footer.footer { margin-top: 0; }
@media (max-width: 1199px) {
  .projects-v2 #filtered-items-wrap { gap: 24px; }
  .projects-v2 .portfolio-body { padding: 22px 18px; }
  .projects-v2 .portfolio-heading > p { max-width: 350px; }
}
@media (max-width: 991px) {
  .projects-v2 .page-title-layout1 { min-height: 500px; padding: 160px 0 80px; }
  .projects-v2 #filtered-items-wrap { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .projects-v2 .portfolio-layout2 { padding: 72px 0; }
  .projects-v2 .portfolio-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
  .projects-v2 .portfolio-heading > p { max-width: 600px; }
}
@media (max-width: 575px) {
  .projects-v2 .page-title-layout1 { min-height: 460px; padding: 140px 0 64px; }
  .projects-v2 .pagetitle-heading { overflow-wrap: anywhere; }
  .projects-v2 #filtered-items-wrap { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .projects-v2 .portfolio-layout2 { padding: 56px 0; }
  .projects-v2 .portfolio-body { padding: 24px; }
  .projects-v2 .portfolio-heading { margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .projects-v2 .portfolio-item, .projects-v2 .portfolio-img img { transition: none; }
}

/* Reset the legacy horizontal-card and hover-only action behavior. */
.projects-v2 .portfolio-layout2 .portfolio-item .portfolio-title,
.projects-v2 .portfolio-layout2 .portfolio-item .portfolio-actions { flex: none; width: 100%; }
.projects-v2 .portfolio-layout2 .portfolio-item .portfolio-actions { margin-top: auto; }
.projects-v2 .portfolio-layout2 .portfolio-item .btn-more { position: static; opacity: 1; visibility: visible; transform: none; }
.projects-v2 .portfolio-layout2 .portfolio-item .portfolio-img img { transform: none; }
.projects-v2 .portfolio-location { margin: 0 0 8px; }

.projects-v2 .portfolio-location img { filter: brightness(0) saturate(100%) invert(65%) sepia(33%) saturate(607%) hue-rotate(1deg) brightness(91%) contrast(86%); }
