/* ============================================================
   Projects page + project detail pages (2026-11-05). UI only.
   Follows the About / service pages: dark solid panels, red accents,
   left-aligned 17px text, one content width. Delete this file's <link>
   in includes/header.php to go back to the previous look.
=============================================================*/

/* ---------- Shared project card (Projects page and Related Posts) ---------- */
body.page-id-1073 #site .projects-masonry .projects-items,
body.single-nproject #site .projects-related .projects-related-wrap {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px;
  width: auto !important; height: auto !important; margin: 0 !important;
}
body.single-nproject #site .projects-related .projects-related-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.page-id-1073 #site .projects-masonry .project,
body.single-nproject #site .projects-related .project {
  position: static !important; left: auto !important; top: auto !important; transform: none !important;
  float: none !important; flex: none !important; width: auto !important; max-width: none !important; height: auto !important;
  margin: 0 !important; padding: 0 !important; opacity: 1 !important;
}
body.page-id-1073 #site .projects-masonry .project-inner,
body.single-nproject #site .projects-related .project-inner {
  position: relative; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: hidden; background: #161a20; box-shadow: none !important; border: 0 !important;
}
body.page-id-1073 #site .projects-masonry .project-thumbnail,
body.single-nproject #site .projects-related .project-thumbnail,
body.page-id-1073 #site .projects-masonry .project-inner:hover .project-thumbnail,
body.single-nproject #site .projects-related .project-inner:hover .project-thumbnail {
  position: relative; z-index: 1; margin: 0 !important; padding: 0 !important; overflow: hidden; transform: none !important; box-shadow: none !important; background: #161a20; transition: none;
}
body.page-id-1073 #site .projects-masonry .project-thumbnail img,
body.single-nproject #site .projects-related .project-thumbnail img {
  display: block; width: 100% !important; height: auto !important; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 0 !important; filter: none !important; opacity: 1 !important; transform: none; transition: transform .6s ease;
}
body.single-nproject #site .projects-related .project-thumbnail img { aspect-ratio: 16 / 9; }
body.page-id-1073 #site .projects-masonry .project-inner:hover .project-thumbnail img,
body.single-nproject #site .projects-related .project-inner:hover .project-thumbnail img { transform: scale(1.05); }

/* Text inside the card */
body.page-id-1073 #site .projects-masonry .project-title,
body.single-nproject #site .projects-related .project-title { margin: 0; color: #fff !important; font-size: 24px !important; font-weight: 500; line-height: 1.2 !important; text-align: left; }
body.page-id-1073 #site .projects-masonry .project-summary,
body.single-nproject #site .projects-related .project-summary { margin: 12px 0 0; color: rgba(255,255,255,.72) !important; font-size: 14px; line-height: 1.45; }
body.page-id-1073 #site .projects-masonry .project-summary p,
body.single-nproject #site .projects-related .project-summary p { margin: 0; color: inherit !important; font-size: inherit !important; text-align: left; }
body.page-id-1073 #site .projects-masonry .project-info-list,
body.single-nproject #site .projects-related .project-info-list {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 16px 0 0 !important; padding: 0 !important; width: auto !important;
}
body.page-id-1073 #site .projects-masonry .project-info-list .item,
body.single-nproject #site .projects-related .project-info-list .item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; flex: none !important; }
body.page-id-1073 #site .projects-masonry .project-info-list h6,
body.single-nproject #site .projects-related .project-info-list h6 { margin: 0 0 3px !important; color: #ff5a60 !important; opacity: 1 !important; font-size: 11px !important; line-height: 1.25 !important; letter-spacing: 1px; }
body.page-id-1073 #site .projects-masonry .project-info-list p,
body.single-nproject #site .projects-related .project-info-list p { margin: 0 !important; color: #fff !important; font-size: 14px !important; line-height: 1.35 !important; text-align: left !important; }

@media (min-width: 1025px) {
  /* The panel sits on the photo: title on a gradient, details on hover */
  body.page-id-1073 #site .projects-masonry .project-info,
  body.single-nproject #site .projects-related .project-info {
    position: absolute; inset: 0; z-index: 2; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; width: auto; height: auto;
    padding: 28px 84px 28px 28px !important; overflow: hidden; color: #fff;
    background: linear-gradient(to top, rgba(10,12,16,.88) 0, rgba(10,12,16,.45) 28%, rgba(10,12,16,0) 58%) !important;
  }
  body.page-id-1073 #site .projects-masonry .project-info::after,
  body.single-nproject #site .projects-related .project-info::after {
    content: ""; position: absolute; inset: 0; z-index: -1; display: block; width: auto; height: auto; background: #161a20 !important; opacity: .97; transition: opacity .35s ease;
  }
  body.page-id-1073 #site .projects-masonry .project-readmore,
  body.single-nproject #site .projects-related .project-readmore { position: static; margin: 0; }
  body.page-id-1073 #site .projects-masonry .project-readmore .button,
  body.single-nproject #site .projects-related .project-readmore .button {
    position: absolute; inset: 0; z-index: 3; display: block; width: 100%; height: 100%; padding: 0; overflow: hidden; border: 0; border-radius: 0; color: #fff; background: none !important; box-shadow: none; text-indent: -9999px;
  }
  /* Red arrow tile, same as the Contact us / Get directions accent */
  body.page-id-1073 #site .projects-masonry .project-readmore .button::after,
  body.single-nproject #site .projects-related .project-readmore .button::after {
    content: ""; position: absolute; left: auto; right: 0; top: auto; bottom: 0; width: 56px; height: 56px; text-indent: 0;
    background: #BD2026 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
    transition: background-color .25s ease, background-position .25s ease;
  }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-readmore .button::after,
  body.single-nproject #site .projects-related .project-inner:hover .project-readmore .button::after { transform: none; background-color: #d42a31; background-position: calc(50% + 4px) center; }
}

/* With a mouse the details stay folded until the card is hovered or focused */
@media (min-width: 1025px) and (hover: hover) {
  body.page-id-1073 #site .projects-masonry .project-info::after,
  body.single-nproject #site .projects-related .project-info::after { opacity: 0; }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-info::after,
  body.page-id-1073 #site .projects-masonry .project-inner:focus-within .project-info::after,
  body.single-nproject #site .projects-related .project-inner:hover .project-info::after,
  body.single-nproject #site .projects-related .project-inner:focus-within .project-info::after { opacity: .97; }
  body.page-id-1073 #site .projects-masonry .project-summary,
  body.page-id-1073 #site .projects-masonry .project-info-list,
  body.single-nproject #site .projects-related .project-summary,
  body.single-nproject #site .projects-related .project-info-list { max-height: 0; margin-top: 0 !important; overflow: hidden; opacity: 0; transition: max-height .4s ease, opacity .3s ease, margin .4s ease; }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-summary,
  body.page-id-1073 #site .projects-masonry .project-inner:focus-within .project-summary,
  body.single-nproject #site .projects-related .project-inner:hover .project-summary,
  body.single-nproject #site .projects-related .project-inner:focus-within .project-summary { max-height: 80px; margin-top: 12px !important; opacity: 1; }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-info-list,
  body.page-id-1073 #site .projects-masonry .project-inner:focus-within .project-info-list,
  body.single-nproject #site .projects-related .project-inner:hover .project-info-list,
  body.single-nproject #site .projects-related .project-inner:focus-within .project-info-list { max-height: 600px; margin-top: 16px !important; opacity: 1; }
}

/* Two cards across where three would be too small for the longer projects */
@media (min-width: 1025px) and (max-width: 1799px) {
  body.page-id-1073 #site .projects-masonry .projects-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 16 / 10; }
}

/* Tablet and phone: photo, then the text under it */
@media (max-width: 1024px) {
  body.page-id-1073 #site .projects-masonry .projects-items,
  body.single-nproject #site .projects-related .projects-related-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  body.page-id-1073 #site .projects-masonry .project-inner,
  body.single-nproject #site .projects-related .project-inner { display: flex !important; flex-direction: column; height: 100% !important; }
  body.page-id-1073 #site .projects-masonry .project-info,
  body.single-nproject #site .projects-related .project-info { position: static; flex: 1 1 auto; display: flex; flex-direction: column; width: auto !important; padding: 22px !important; color: #fff; background: #161a20 !important; }
  body.page-id-1073 #site .projects-masonry .project-info-inner,
  body.single-nproject #site .projects-related .project-info-inner { flex: 1 1 auto; display: flex; flex-direction: column; padding: 0 !important; }
  body.page-id-1073 #site .projects-masonry .project-info::after,
  body.single-nproject #site .projects-related .project-info::after { display: none; }
  body.page-id-1073 #site .projects-masonry .project-title,
  body.single-nproject #site .projects-related .project-title { font-size: 21px !important; }
  body.page-id-1073 #site .projects-masonry .project-readmore,
  body.single-nproject #site .projects-related .project-readmore { margin: auto 0 0 !important; padding: 18px 0 0 !important; }
  body.page-id-1073 #site .projects-masonry .project-readmore .button,
  body.single-nproject #site .projects-related .project-readmore .button {
    display: inline-block; width: auto !important; padding: 12px 22px !important; border: 0; border-radius: 0 !important; color: #fff !important; background: #BD2026 !important; font-size: 14px !important; line-height: 1.2 !important; text-transform: uppercase;
  }
}
@media (max-width: 767px) {
  body.page-id-1073 #site .projects-masonry .projects-items,
  body.single-nproject #site .projects-related .projects-related-wrap { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Projects page: intro row ---------- */
body.page-id-1073 #site .vc_custom_1712923743213 { padding-top: 72px !important; padding-bottom: 48px !important; }
body.page-id-1073 #site .vc_custom_1712923743213 .row-inner { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: start !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-1073 #site .vc_custom_1712923743213 .wpb_column { float: none !important; width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; }
body.page-id-1073 #site .vc_custom_1712923743213 .vc_column-inner { padding: 0 !important; }
body.page-id-1073 #site .vc_custom_1712923743213 .vc_empty_space { display: none; }
body.page-id-1073 #site .vc_custom_1712923743213 .wpb_wrapper > div:first-child:not(.wpb_text_column) { color: #111 !important; font-size: 32px !important; font-weight: 500; line-height: 1.2 !important; text-align: left !important; }
body.page-id-1073 #site .vc_custom_1712923743213 .wpb_text_column { margin: 0 !important; }
body.page-id-1073 #site .vc_custom_1712923743213 p,
body.page-id-1073 #site .vc_custom_1712923743213 p span { margin: 0; color: #333 !important; font-size: 17px !important; line-height: 1.7 !important; text-align: left !important; }
body.page-id-1073 #site .vc_custom_1582337266966 { padding-top: 0 !important; padding-bottom: 72px !important; }
body.page-id-1073 #site .vc_custom_1582337266966 .row-inner { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-1073 #site .vc_custom_1582337266966 .wpb_column,
body.page-id-1073 #site .vc_custom_1582337266966 .vc_column-inner { float: none !important; width: auto !important; max-width: none !important; padding: 0 !important; }
@media (max-width: 1040px) {
  body.page-id-1073 #site .vc_custom_1712923743213 .row-inner { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.page-id-1073 #site .vc_custom_1712923743213 { padding-top: 56px !important; padding-bottom: 36px !important; }
}
@media (max-width: 767px) {
  body.page-id-1073 #site .vc_custom_1712923743213 .wpb_wrapper > div:first-child:not(.wpb_text_column) { font-size: 26px !important; }
}

/* ---------- Project detail page ---------- */
body.single-nproject #site .content-body-inner { padding-top: 72px; padding-bottom: 72px; }
body.single-nproject #site .main-content .project-inner { display: grid !important; grid-template-columns: 360px minmax(0, 1fr); gap: 56px; align-items: start; margin: 0; }
/* Facts: dark solid panel, as on the About page */
body.single-nproject #site .main-content .project-info-list {
  position: sticky; top: 104px; display: block !important; width: auto !important; margin: 0 !important; padding: 12px 32px !important; background: #161a20;
}
body.single-nproject #site .main-content .project-info-list .item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 18px 0 !important; border-bottom: 1px solid rgba(255,255,255,.12); }
body.single-nproject #site .main-content .project-info-list .item:last-child { border-bottom: 0; }
body.single-nproject #site .main-content .project-info-list h6 { margin: 0 0 6px !important; color: #ff5a60 !important; opacity: 1 !important; font-size: 12px !important; line-height: 1.3 !important; letter-spacing: 1px; }
body.single-nproject #site .main-content .project-info-list p { margin: 0 !important; color: #fff !important; font-size: 17px !important; line-height: 1.45 !important; text-align: left !important; }
/* Photo: never stretched, never taller than a screen */
body.single-nproject #site .main-content .project-content { min-width: 0; overflow: visible; }
body.single-nproject #site .main-content .project-header,
body.single-nproject #site .main-content .project-thumbnail { margin: 0 !important; padding: 0 !important; }
body.single-nproject #site .main-content .project-thumbnail img { display: block; width: 100% !important; height: auto !important; max-height: 760px; object-fit: cover; border-radius: 0 !important; }
/* Text: same type as the service pages */
body.single-nproject #site .main-content .project-detail { margin: 0; color: #333; }
body.single-nproject #site .main-content .project-detail h2 { margin: 48px 0 16px; color: #111; font-size: 32px !important; font-weight: 500; line-height: 1.2 !important; text-align: left; }
body.single-nproject #site .main-content .project-detail h2::after { display: none; }
body.single-nproject #site .main-content .project-detail h3 { margin: 32px 0 12px; color: #111; font-size: 24px !important; font-weight: 500; line-height: 1.25 !important; }
body.single-nproject #site .main-content .project-detail p,
body.single-nproject #site .main-content .project-detail li { margin: 0 0 16px; color: #333 !important; font-size: 17px !important; line-height: 1.7 !important; text-align: left !important; }
body.single-nproject #site .main-content .project-detail p:last-child { margin-bottom: 0; }
body.single-nproject #site .main-content .project-detail strong { color: #111; }
body.single-nproject #site .project-gallery:not(:has(.project-media-item)) { display: none; }
/* Related posts */
body.single-nproject #site .projects-related { margin: 72px 0 0 !important; padding: 0 !important; }
body.single-nproject #site .projects-related::after { display: none !important; }
body.single-nproject #site .projects-related .projects-related-title { margin: 0 0 28px !important; padding: 0 !important; color: #111; font-size: 32px !important; font-weight: 500; line-height: 1.2 !important; text-align: left; }
body.single-nproject #site .projects-related .projects-related-title::before,
body.single-nproject #site .projects-related .projects-related-title::after { display: none !important; }
@media (max-width: 1040px) {
  body.single-nproject #site .content-body-inner { padding-top: 56px; padding-bottom: 56px; }
  body.single-nproject #site .main-content .project-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body.single-nproject #site .main-content .project-info-list { position: static; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; order: 2; }
  body.single-nproject #site .main-content .project-info-list .item:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
  body.single-nproject #site .main-content .project-content { order: 1; }
  body.single-nproject #site .projects-related { margin-top: 56px !important; }
}
@media (max-width: 767px) {
  body.single-nproject #site .main-content .project-info-list { display: block !important; padding: 8px 20px !important; }
  body.single-nproject #site .main-content .project-info-list .item:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid rgba(255,255,255,.12); }
  body.single-nproject #site .main-content .project-detail h2 { margin-top: 36px; font-size: 26px !important; }
}

/* Projects page: sections sit exactly on the content width (no builder gutters) */
body.page-id-1073 #site .vc_custom_1712923743213,
body.page-id-1073 #site .vc_custom_1582337266966 { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
body.page-id-1073 #site .vc_custom_1712923743213 > .vc_row,
body.page-id-1073 #site .vc_custom_1582337266966 > .vc_row { margin-left: 0 !important; margin-right: 0 !important; }
/* Small laptops: square cards so the longest projects fit when opened */
@media (min-width: 1025px) and (max-width: 1320px) {
  body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 1 / 1; }
}

/* Older tablet/phone rules in custom.css forced cards to 50% wide with padding and a border */
body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project,
body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:last-child {
  flex: none !important; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; float: none !important;
}
body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items { width: auto !important; margin: 0 !important; }
/* One weight for every heading on these pages, at every screen size */
body.page-id-1073 #site .projects-masonry .project-title,
body.single-nproject #site .projects-related .project-title,
body.single-nproject #site .projects-related .projects-related-title,
body.single-nproject #site .main-content .project-detail h2,
body.page-id-1073 #site .vc_custom_1712923743213 .wpb_wrapper > div:first-child:not(.wpb_text_column) { font-weight: 500 !important; }
/* Laptops: a little more height so every project fits when opened */
@media (min-width: 1321px) and (max-width: 1500px) {
  body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 4 / 3; }
}
/* Three across: the last card takes the free space, so the last row has no empty slot */
@media (min-width: 1800px) {
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:last-child:nth-child(3n+2) { grid-column: span 2; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-inner,
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail { height: 100% !important; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail img { position: absolute; inset: 0; height: 100% !important; aspect-ratio: auto; }
}

/* Same content edges as the home page: 55px from the screen edge, 35px on phones */
body.page-id-1073 #site .content-body-inner.wrap,
body.page-id-1073 #site .content-header-inner.wrap,
body.single-nproject #site .content-body-inner.wrap,
body.single-nproject #site .content-header-inner.wrap {
  width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 55px !important; padding-right: 55px !important; box-sizing: border-box !important;
}
@media (max-width: 767px) {
  body.page-id-1073 #site .content-body-inner.wrap,
  body.page-id-1073 #site .content-header-inner.wrap,
  body.single-nproject #site .content-body-inner.wrap,
  body.single-nproject #site .content-header-inner.wrap { padding-left: 35px !important; padding-right: 35px !important; }
}
/* With the wider page: three cards from 1600px, four on very wide screens */
@media (min-width: 1600px) and (max-width: 1799px) {
  body.page-id-1073 #site .projects-masonry .projects-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 5 / 4; }
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:last-child:nth-child(3n+2) { grid-column: span 2; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-inner,
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail { height: 100% !important; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail img { position: absolute; inset: 0; height: 100% !important; aspect-ratio: auto; }
}
@media (min-width: 2200px) {
  body.page-id-1073 #site .projects-masonry .projects-items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:last-child:nth-child(3n+2) { grid-column: auto; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail img { position: static; height: auto !important; aspect-ratio: 5 / 4; }
}

/* Intro row fills the width on very wide screens too */
body.page-id-1073 #site .vc_custom_1712923743213 .row-inner { flex: 1 1 100% !important; width: 100% !important; }

/* Projects page: always three cards across on desktop and laptop */
@media (min-width: 1025px) {
  body.page-id-1073 #site .projects-masonry .projects-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 5 / 4; }
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:last-child:nth-child(3n+2) { grid-column: span 2; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-inner,
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail { height: 100% !important; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail img { position: absolute; inset: 0; height: 100% !important; aspect-ratio: auto; }
}

/* Three across on laptops: taller cards and a tighter open panel, so every detail fits with no text cut off */
@media (min-width: 1200px) and (max-width: 1799px) {
  body.page-id-1073 #site .projects-masonry .project-title { font-size: 20px !important; }
  body.page-id-1073 #site .projects-masonry .project-info-list { gap: 8px 14px; }
  body.page-id-1073 #site .projects-masonry .project-info-list p { font-size: 13px !important; line-height: 1.3 !important; }
  body.page-id-1073 #site .projects-masonry .project-info-list h6 { font-size: 10px !important; letter-spacing: .5px; }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-info,
  body.page-id-1073 #site .projects-masonry .project-inner:focus-within .project-info { padding: 20px !important; }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-readmore .button::after,
  body.page-id-1073 #site .projects-masonry .project-inner:focus-within .project-readmore .button::after { opacity: 0; }
}
@media (min-width: 1200px) and (max-width: 1799px) { body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 1 / 1; } }
@media (min-width: 1200px) and (max-width: 1500px) { body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 5 / 6; } }
/* Very small laptops: two across, three would be too narrow to read */
@media (min-width: 1025px) and (max-width: 1199px) {
  body.page-id-1073 #site .projects-masonry .projects-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:last-child:nth-child(3n+2) { grid-column: auto; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail img { position: static; height: auto !important; }
  body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 1 / 1 !important; }
}

@media (min-width: 1200px) and (max-width: 1279px) { body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 2 / 3; } }
@media (min-width: 1025px) and (max-width: 1199px) {
  body.page-id-1073 #site .projects-masonry .project-thumbnail img { aspect-ratio: 4 / 5 !important; }
  body.page-id-1073 #site .projects-masonry .project-title { font-size: 20px !important; }
  body.page-id-1073 #site .projects-masonry .project-info-list { gap: 8px 14px; }
  body.page-id-1073 #site .projects-masonry .project-info-list p { font-size: 13px !important; line-height: 1.3 !important; }
  body.page-id-1073 #site .projects-masonry .project-info-list h6 { font-size: 10px !important; letter-spacing: .5px; }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-info,
  body.page-id-1073 #site .projects-masonry .project-inner:focus-within .project-info { padding: 20px !important; }
  body.page-id-1073 #site .projects-masonry .project-inner:hover .project-readmore .button::after,
  body.page-id-1073 #site .projects-masonry .project-inner:focus-within .project-readmore .button::after { opacity: 0; }
}

/* Last row: the final two cards share it equally at a shape close to the photos' own, so nothing is cropped hard and no slot is empty */
@media (min-width: 1200px) {
  body.page-id-1073 #site .projects-masonry .projects-items { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project { grid-column: span 2; }
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:nth-last-child(2):nth-child(3n+1),
  body.page-id-1073 #site .projects-shortcode.projects-masonry .projects-items .project:last-child:nth-child(3n+2) { grid-column: span 3; }
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-inner,
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail { height: auto !important; }
  body.page-id-1073 #site .projects-masonry .project:nth-last-child(2):nth-child(3n+1) .project-thumbnail img,
  body.page-id-1073 #site .projects-masonry .project:last-child:nth-child(3n+2) .project-thumbnail img { position: static; height: auto !important; aspect-ratio: 3 / 2; }
}
