/* Site overrides on top of the Webflow CSS (plan 007). Loaded last on every page. */

/* Homepage "Recent projects": 5 per row. The Webflow layout used fixed 214px
   floats + 17px margins, which needs 1155px but the container is ~1140px, so
   the 5th card always wrapped. Below 992px the section is hidden by Webflow. */
@media screen and (min-width: 992px) {
  .hprwcolllist.w-dyn-items {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 17px;
  }
  .hprwcolllist.w-clearfix::before,
  .hprwcolllist.w-clearfix::after { content: none; }
  .hprwcollitem { float: none; width: auto; margin-right: 0; }
  .hprecentrw { width: 100%; }
  .hprecentrwimage { display: block; width: 100%; height: auto; aspect-ratio: 215 / 200; object-fit: cover; }
}

/* Portfolio: square thumbnails, centre-cropped from the banner image. */
.prtrwimg { aspect-ratio: 1 / 1; }
.prtrwimg .prtimg { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Meet the Team (plan 010): four to a row, square photos, flat cards. */
.teamgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 30px; padding: 40px 0 10px; }
@media screen and (max-width: 991px) { .teamgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 24px; } }
@media screen and (max-width: 479px) { .teamgrid { grid-template-columns: 1fr; } }
.teamcard { min-width: 0; }
.teamphoto { aspect-ratio: 1 / 1; overflow: hidden; background: #111; }
.teamphoto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.teamphoto-empty { background: linear-gradient(135deg, #1a1a1a, #0d0d0d); }
.teamname { font-family: "Lexend Deca", sans-serif; font-size: 18px; font-weight: 500; margin: 22px 0 2px; color: #fff; }
.teamrole { font-family: "Lexend Deca", sans-serif; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #9a9a9a; margin-bottom: 12px; }
.teamblurb { font-family: "Lexend Deca", sans-serif; font-size: 13px; line-height: 1.6; color: #d6d6d6; margin: 0; }
.teamlinks { display: flex; gap: 14px; margin-top: 12px; }
.teamlink { font-family: "Lexend Deca", sans-serif; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #fff; text-decoration: none; border-bottom: 1px solid #fff; padding-bottom: 2px; }
.teamlink:hover { color: #50c1e7; border-color: #50c1e7; }
.teamjoin { padding-top: 40px; }
.teamjointext { font-family: "Lexend Deca", sans-serif; font-size: 16px; line-height: 1.6; color: #fff; }
.teamjointext:empty, .teamjointext:empty + a { display: none; }
