.acmp-wrap{--acmp-navy:#274581;--acmp-gold:#c99969;--acmp-text:#172e52;--acmp-border:#e5ebf2;font-family:inherit;color:var(--acmp-text);max-width:1320px;margin:0 auto;padding:64px 28px;box-sizing:border-box}.acmp-wrap *{box-sizing:border-box}.acmp-wrap a{text-decoration:none}.acmp-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.acmp-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--acmp-gold);margin-bottom:10px}.acmp-heading h2,.acmp-archive-heading h1{margin:0;color:var(--acmp-navy);font-size:clamp(26px,3vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.18}.acmp-heading h2:before{content:'';display:inline-block;vertical-align:middle;width:40px;height:3px;background:var(--acmp-gold);margin-right:16px}.acmp-view-all,.acmp-mobile-all{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:800;color:var(--acmp-navy);border-bottom:2px solid var(--acmp-gold);padding:8px 0;white-space:nowrap;transition:color .25s}.acmp-view-all:hover,.acmp-mobile-all:hover{color:var(--acmp-gold)}.acmp-grid{display:grid;grid-template-columns:repeat(var(--acmp-cols,4),minmax(0,1fr));gap:22px}.acmp-card{min-width:0;background:#fff;border:1px solid var(--acmp-border);border-radius:13px;overflow:hidden;box-shadow:0 8px 25px rgba(26,56,105,.07);transition:transform .35s,box-shadow .35s,border-color .35s}.acmp-card:hover{transform:translateY(-7px);box-shadow:0 22px 44px rgba(26,56,105,.15);border-color:rgba(201,153,105,.5)}.acmp-card-click{appearance:none;display:block;width:100%;border:0;padding:0;margin:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.acmp-card-click:focus-visible{outline:3px solid var(--acmp-gold);outline-offset:-3px}.acmp-card-photo{display:block;position:relative;height:215px;overflow:hidden;background:#e9eef5}.acmp-card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.acmp-card:hover .acmp-card-image{transform:scale(1.075)}.acmp-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#17345f,#4e72ac);color:#fff;letter-spacing:.25em;font-weight:900}.acmp-category{position:absolute;left:14px;top:14px;border-radius:5px;background:rgba(255,255,255,.96);color:var(--acmp-navy);padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.05em;box-shadow:0 4px 14px rgba(0,0,0,.07)}.acmp-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 17px 20px;min-height:106px}.acmp-card-copy{display:flex;flex-direction:column;gap:9px;min-width:0}.acmp-card-title{font-size:16px;font-weight:800;color:var(--acmp-navy);line-height:1.35;transition:color .25s}.acmp-card:hover .acmp-card-title{color:var(--acmp-gold)}.acmp-card-location{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}.acmp-card-location svg{width:15px;height:15px;flex:none;color:var(--acmp-gold)}.acmp-card-arrow{flex:none;display:grid;place-items:center;width:37px;height:37px;border-radius:7px;background:var(--acmp-navy);color:#fff;transition:background .25s,transform .25s}.acmp-card:hover .acmp-card-arrow{background:var(--acmp-gold);transform:translateX(3px)}.acmp-mobile-all{display:none}.acmp-archive-heading{text-align:center;margin:0 auto 34px;max-width:680px}.acmp-archive-heading p{color:#64748b;line-height:1.7;margin:14px 0 0}.acmp-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:0 0 32px}.acmp-filters a{font-size:12px;font-weight:750;color:var(--acmp-navy);border:1px solid var(--acmp-border);border-radius:99px;padding:10px 17px;transition:all .2s}.acmp-filters a:hover,.acmp-filters a.is-active{background:var(--acmp-navy);border-color:var(--acmp-navy);color:#fff}.acmp-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:44px 0 0}.acmp-pagination a{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--acmp-border);border-radius:8px;color:var(--acmp-navy);font-weight:800}.acmp-pagination a:hover,.acmp-pagination a.is-current{background:var(--acmp-gold);border-color:var(--acmp-gold);color:#fff}.acmp-empty{grid-column:1/-1;padding:50px;text-align:center;background:#f6f8fb;border-radius:12px}.acmp-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:24px}.acmp-modal.is-open{display:flex}.acmp-modal-backdrop{position:absolute;inset:0;background:rgba(8,22,46,.78);backdrop-filter:blur(6px)}.acmp-modal-panel{position:relative;width:min(1080px,100%);max-height:min(90vh,1000px);overflow-y:auto;background:#fff;border-radius:17px;box-shadow:0 30px 90px rgba(0,0,0,.3);scrollbar-width:thin;animation:acmp-enter .3s ease both}@keyframes acmp-enter{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.acmp-modal-close{position:sticky;top:15px;float:right;margin:15px 15px -55px 0;z-index:3;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--acmp-navy);cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.16)}.acmp-modal-close:hover{background:var(--acmp-gold);color:#fff}.acmp-modal-body{clear:both}.acmp-detail-cover{height:350px;background:#edf1f7}.acmp-detail-cover img{width:100%;height:100%;object-fit:cover}.acmp-detail-content{padding:35px 44px 46px}.acmp-detail-content h2{color:var(--acmp-navy);font-size:clamp(25px,3vw,38px);line-height:1.2;margin:0 0 26px;font-weight:800}.acmp-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-block:1px solid var(--acmp-border);padding:22px 0;margin-bottom:26px}.acmp-detail-meta>div{display:flex;flex-direction:column;gap:7px}.acmp-detail-meta small{font-size:11px;color:#8b96a8;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.acmp-detail-meta strong{font-size:14px;color:var(--acmp-navy)}.acmp-detail-description{font-size:15px;line-height:1.85;color:#43536c;overflow-wrap:anywhere}.acmp-detail-content h3{margin:30px 0 15px;color:var(--acmp-navy)}.acmp-detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.acmp-detail-gallery img{display:block;width:100%;height:160px;object-fit:cover;border-radius:8px}.acmp-loading{text-align:center;padding:100px 20px;color:var(--acmp-navy);font-weight:700}body.acmp-modal-lock{overflow:hidden}@media(max-width:1050px){.acmp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.acmp-wrap{padding:40px 15px}.acmp-grid{grid-template-columns:1fr;gap:16px}.acmp-heading{align-items:start}.acmp-heading h2:before{width:22px;margin-right:9px}.acmp-view-all{display:none}.acmp-mobile-all{display:inline-flex;margin-top:22px}.acmp-card-photo{height:230px}.acmp-modal{padding:9px}.acmp-modal-panel{max-height:94vh;border-radius:12px}.acmp-detail-cover{height:220px}.acmp-detail-content{padding:25px 19px 30px}.acmp-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.acmp-detail-gallery{grid-template-columns:repeat(2,1fr)}.acmp-detail-gallery img{height:120px}}


/* v1.1: protect project-card typography from theme/Elementor button rules.
   Keep card white on both normal and hover states. */
.acmp-wrap .acmp-card,
.acmp-wrap .acmp-card:hover,
.acmp-wrap .acmp-card:focus-within {
  background:#ffffff !important;
  color:#172e52 !important;
}
.acmp-wrap .acmp-card button.acmp-card-click,
.acmp-wrap .acmp-card button.acmp-card-click:hover,
.acmp-wrap .acmp-card button.acmp-card-click:focus,
.acmp-wrap .acmp-card button.acmp-card-click:active {
  background:transparent !important;
  background-color:transparent !important;
  color:#172e52 !important;
  border:0 !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:0 !important;
}
.acmp-wrap .acmp-card .acmp-card-bottom,
.acmp-wrap .acmp-card:hover .acmp-card-bottom {
  background:#ffffff !important;
  background-color:#ffffff !important;
}
.acmp-wrap .acmp-card .acmp-card-title {
  display:block !important;
  color:#274581 !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:800 !important;
  font-size:16px !important;
  text-shadow:none !important;
}
.acmp-wrap .acmp-card:hover .acmp-card-title,
.acmp-wrap .acmp-card:focus-within .acmp-card-title {
  color:#c99969 !important;
}
.acmp-wrap .acmp-card .acmp-card-location,
.acmp-wrap .acmp-card:hover .acmp-card-location {
  color:#56657b !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
}
.acmp-wrap .acmp-card .acmp-card-arrow {
  background:#274581 !important;
  color:#fff !important;
}
.acmp-wrap .acmp-card:hover .acmp-card-arrow,
.acmp-wrap .acmp-card:focus-within .acmp-card-arrow {
  background:#c99969 !important;
  color:#fff !important;
}
.acmp-wrap .acmp-card .acmp-card-arrow svg,
.acmp-wrap .acmp-card:hover .acmp-card-arrow svg {
  color:#fff !important;
  stroke:#fff !important;
}

/* ACUMEN brand arrow: navy at rest, warm gold on hover */
.acmp-wrap .acmp-card .acmp-card-arrow,
.acmp-wrap .acmp-card button.acmp-card-click .acmp-card-arrow {background:#274581!important;background-color:#274581!important;color:#fff!important;border-color:#274581!important;transition:background-color .3s ease,transform .3s ease!important;}
.acmp-wrap .acmp-card:hover .acmp-card-arrow,
.acmp-wrap .acmp-card:focus-within .acmp-card-arrow,
.acmp-wrap .acmp-card button.acmp-card-click:hover .acmp-card-arrow,
.acmp-wrap .acmp-card button.acmp-card-click:focus-visible .acmp-card-arrow {background:#C99969!important;background-color:#C99969!important;border-color:#C99969!important;color:#fff!important;transform:translateX(3px)!important;}
.acmp-wrap .acmp-card .acmp-card-arrow svg,
.acmp-wrap .acmp-card:hover .acmp-card-arrow svg {stroke:#fff!important;color:#fff!important;fill:none!important;}

/* v1.3 - clearly framed title and uncropped modal photography */
.acmp-wrap .acmp-card .acmp-card-bottom,
.acmp-wrap .acmp-card:hover .acmp-card-bottom{
 background:#fff!important; padding:18px!important; align-items:center!important;
}
.acmp-wrap .acmp-card .acmp-card-copy{flex:1 1 auto!important;min-width:0!important;gap:10px!important}
.acmp-wrap .acmp-card .acmp-card-title{
 display:inline-block!important;align-self:flex-start!important;
 max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;
 background:#f1f5fb!important;border:1px solid #dbe5f2!important;
 border-left:4px solid #274581!important;border-radius:7px!important;
 padding:10px 13px!important;color:#274581!important;
 font-weight:800!important;font-size:16px!important;line-height:1.35!important;
 opacity:1!important;visibility:visible!important;text-shadow:none!important;
 transition:background .25s,color .25s,border-color .25s!important;
}
.acmp-wrap .acmp-card:hover .acmp-card-title,
.acmp-wrap .acmp-card:focus-within .acmp-card-title{
 background:#fff7ef!important;color:#a66a38!important;
 border-color:#e9c9a9!important;border-left-color:#c99969!important;
}
.acmp-wrap .acmp-card .acmp-card-location{color:#53637a!important;opacity:1!important}
/* Original aspect ratio: no crop, including unusually wide or tall photos. */
.acmp-modal .acmp-detail-cover{
 height:auto!important;min-height:0!important;max-height:none!important;
 background:#f3f6fa!important;display:flex!important;align-items:center!important;
 justify-content:center!important;overflow:visible!important;
}
.acmp-modal .acmp-detail-cover img{
 display:block!important;width:auto!important;max-width:100%!important;
 height:auto!important;max-height:68vh!important;
 object-fit:contain!important;object-position:center center!important;
 margin:0 auto!important;
}
.acmp-modal .acmp-detail-gallery img{
 object-fit:contain!important;background:#f3f6fa!important;
}
@media(max-width:640px){
 .acmp-modal .acmp-detail-cover img{max-height:55vh!important;}
 .acmp-wrap .acmp-card .acmp-card-title{font-size:15px!important;padding:9px 11px!important;}
}

/* v1.4: project photo spans the entire modal width, preserving original proportions */
.acmp-modal .acmp-modal-panel{width:min(1180px,calc(100vw - 32px))!important;max-width:1180px!important;}
.acmp-modal .acmp-detail-cover{display:block!important;width:100%!important;height:auto!important;max-height:none!important;overflow:hidden!important;background:#fff!important;}
.acmp-modal .acmp-detail-cover img{display:block!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;object-fit:initial!important;margin:0!important;border-radius:0!important;}
@media(max-width:640px){.acmp-modal .acmp-modal-panel{width:calc(100vw - 18px)!important}.acmp-modal .acmp-detail-cover img{width:100%!important;max-height:none!important;}}


/* v1.5 — balanced project photography: visible building in cards,
   controlled image height in popup, no stretching or forced crop in popup */
.acmp-wrap .acmp-card-photo {
  height: 235px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #e8edf5 !important;
}
.acmp-wrap .acmp-card-photo .acmp-card-image {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 78% !important;
}
.acmp-modal .acmp-modal-panel {
  width:min(920px, calc(100vw - 36px)) !important;
  max-width:920px !important;
  max-height:88vh !important;
  overflow-y:auto !important;
}
.acmp-modal .acmp-detail-cover {
  width:100% !important;
  height: min(340px, 42vh) !important;
  min-height:0 !important;
  max-height:340px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#edf2f8 !important;
}
.acmp-modal .acmp-detail-cover img {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}
@media(max-width:640px) {
 .acmp-wrap .acmp-card-photo {height:220px !important;}
 .acmp-modal .acmp-modal-panel {width:calc(100vw - 18px) !important;max-height:94vh !important;}
 .acmp-modal .acmp-detail-cover {height:min(245px, 35vh) !important;max-height:245px !important;}
}

/* More Projects: centered call to action beneath featured grid */
.acmp-wrap .acmp-more-wrap {display:flex;justify-content:center;align-items:center;margin:34px 0 12px}
.acmp-wrap .acmp-more-button,.acmp-wrap .acmp-more-button:visited {
 display:inline-flex!important;align-items:center;justify-content:center;gap:14px;
 padding:15px 30px!important;border-radius:10px!important;
 background:#274581!important;color:#fff!important;border:2px solid #274581!important;
 font-size:15px!important;font-weight:750!important;line-height:1.2!important;
 text-decoration:none!important;transition:background .25s ease,transform .25s ease,border-color .25s ease!important
}
.acmp-wrap .acmp-more-button:hover,.acmp-wrap .acmp-more-button:focus-visible {
 background:#c99969!important;border-color:#c99969!important;color:#fff!important;
 transform:translateY(-3px)
}
.acmp-wrap .acmp-more-button svg {width:18px;height:18px;stroke:currentColor}

/* v1.7: large responsive photo with no stretching. Portrait projects use
   a taller presentation, landscapes use a wide presentation. */
.acmp-modal .acmp-modal-panel { width:min(960px,calc(100vw - 32px))!important; max-width:960px!important; }
.acmp-modal .acmp-detail-cover {height:440px!important;max-height:55vh!important;min-height:0!important;display:flex!important;justify-content:center!important;align-items:center!important;overflow:hidden!important;background:#e9eef5!important;}
.acmp-modal .acmp-detail-cover img {height:100%!important;width:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;}
.acmp-modal .acmp-detail-cover:has(img.acmp-portrait) {height:min(530px,65vh)!important;max-height:65vh!important;background:#e9eef5!important;}
.acmp-modal .acmp-detail-cover img.acmp-portrait {width:auto!important;height:100%!important;max-width:100%!important;object-fit:contain!important;}
.acmp-wrap .acmp-more-wrap {display:flex!important;justify-content:center!important;align-items:center!important;margin:36px 0 16px!important;}
.acmp-wrap .acmp-more-button {display:inline-flex!important;align-items:center!important;gap:12px!important;background:#274581!important;color:#fff!important;border:2px solid #274581!important;border-radius:10px!important;padding:15px 32px!important;text-decoration:none!important;font-weight:800!important;transition:all .25s!important;}
.acmp-wrap .acmp-more-button:hover {background:#c99969!important;border-color:#c99969!important;color:#fff!important;transform:translateY(-3px)!important;}
.acmp-wrap .acmp-more-button svg {width:18px;height:18px;stroke:currentColor;}
@media(max-width:640px){.acmp-modal .acmp-detail-cover{height:300px!important;max-height:42vh!important}.acmp-modal .acmp-detail-cover:has(img.acmp-portrait){height:min(400px,55vh)!important;max-height:55vh!important}}


/* v1.9: show every popup hero image edge-to-edge, including portrait photos.
   The popup scrolls vertically when the uncropped image is tall. */
.acmp-modal .acmp-modal-panel {
 width:min(1040px,calc(100vw - 24px))!important;
 max-width:1040px!important;
 max-height:90vh!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
}
.acmp-modal .acmp-detail-cover,
.acmp-modal .acmp-detail-cover:has(img.acmp-portrait) {
 display:block!important;
 width:100%!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 overflow:visible!important;
 background:#fff!important;
 padding:0!important;
}
.acmp-modal .acmp-detail-cover img,
.acmp-modal .acmp-detail-cover img.acmp-portrait {
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 height:auto!important;
 max-height:none!important;
 object-fit:fill!important;
 margin:0!important;
 border-radius:0!important;
}
@media(max-width:640px){
 .acmp-modal .acmp-modal-panel{width:calc(100vw - 12px)!important;max-height:94vh!important}
 .acmp-modal .acmp-detail-cover,
 .acmp-modal .acmp-detail-cover:has(img.acmp-portrait){height:auto!important;max-height:none!important}
 .acmp-modal .acmp-detail-cover img,
 .acmp-modal .acmp-detail-cover img.acmp-portrait{width:100%!important;height:auto!important;max-height:none!important}
}

