/* Custom overrides — applied AFTER sam-rosen-v41.webflow.css */

/* "Sam Rosen" wordmark in nav must not wrap */
.nav-brand-logo {
  white-space: nowrap;
  width: auto !important;
}

/* Below 991px the template drops the desktop hover transition and renders
   the second .services-image inline next to the first — hide the duplicate. */
@media (max-width: 991px) {
  .services-image-wrapper .services-image + .services-image {
    display: none;
  }
}


/* Give every project-item that lacks a Webflow w-node-* grid-area rule a sensible default span. */
.project-item {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

/* The first item inside a featured section spans the full row */
.section-featured-project .project-item {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

/* Project card image wrapper: give it a background + intrinsic aspect so logos sit nicely.
   Override Webflow's height:100% so aspect-ratio actually drives height. */
.project-card-image-wrapper {
  background: #f1f1f1;
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Logo PNGs (transparent BG) display large and centered with breathing room.
   Padding uses % so it scales with card width — keeps logo proportions consistent
   from desktop down to narrow mobile. */
.project-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 12%;
  box-sizing: border-box;
  flex: none;
}

/* On a featured (full-width) card, give logos a larger inner padding */
.section-featured-project .project-card-image {
  padding: 16%;
}

/* Wordmark logos (very wide aspect, like TWO THIRTY 9:1) need less horizontal
   padding so the type stays legible — otherwise it gets squeezed to nothing. */
.project-card-image--wordmark {
  padding: 8% 6% !important;
}

/* Project detail pages: featured image — keep big, contained for logos, cover for photos */
.featured-image {
  width: 100%;
  background: #f1f1f1;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

/* Below-the-fold gallery images: full-width, same aspect as featured */
.project-images-wrapper {
  width: 100%;
}

/* Each gallery item spans full 12-column grid (Webflow IDs are missing) */
.project-images-wrapper .project-images-item {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

.project-images-wrapper .project-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  background: #f1f1f1;
}

/* When a logo (PNG with transparent BG) lands as a gallery image, contain not cover */
.project-images-wrapper .project-image[src$="_Logo.png"],
.project-images-wrapper .project-image[src*="indigo"],
.project-images-wrapper .project-image[src*="valo"],
.project-images-wrapper .project-image[src*="hines"],
.project-images-wrapper .project-image[src*="lasalle"] {
  object-fit: contain;
  padding: 3rem;
  box-sizing: border-box;
}

/* Next-project teaser image */
.next-project-card .project-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

/* Mobile: keep each footer row on a single line */
@media (max-width: 767px) {
  .grid.grid-footer {
    flex-flow: row nowrap !important;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
  }
  .footer-menu {
    flex-flow: row !important;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: .75rem 1rem;
  }
  .social-group.social-group-footer {
    align-items: center !important;
  }

  /* Bottom fixed-nav: keep all links on a single line, hide the unused hamburger */
  .fixed-nav {
    flex-flow: row !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    min-height: 0 !important;
  }
  .fixed-nav-links-wrapper {
    width: auto !important;
    overflow: visible !important;
  }
  .fixed-nav-links {
    flex-flow: row !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    height: auto !important;
  }
  .fixed-nav-button {
    width: auto !important;
    padding: .5rem .65rem !important;
    font-size: .8rem;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .fixed-nav-menu-button {
    display: none !important;
  }
  .fixed-nav-wrapper {
    padding-left: .75rem;
    padding-right: .75rem;
  }
}
