/* Newbridge brand layer: logo sizing and header/footer menus. */

/* ---------- Logo ---------- */
.nb-header .custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
.nb-header .custom-logo { width: auto; height: 76px; max-width: none; }
.nb-footer .custom-logo-link { display: inline-flex; line-height: 0; }
/* The site logo is navy; flip the footer copy light for the navy footer. */
.nb-footer .custom-logo { width: auto; height: 96px; max-width: none; filter: brightness(0) invert(1); opacity: .94; }

/* ---------- Menus ---------- */
.nb-header .nb-menu { gap: 36px; }
.nb-header .nb-menu a,
.nb-footer .nb-menu a {
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
.nb-header .nb-menu a { position: relative; display: inline-block; padding: 10px 0; color: #152F3B; }
.nb-header .nb-menu a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px;
  background: #B49B76; transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
.nb-header .nb-menu a:hover,
.nb-header .nb-menu a:focus-visible { text-decoration: none; }
/* Current page, or the section a project/listing page belongs to. */
.nb-header .nb-menu a:hover::after,
.nb-header .nb-menu a:focus-visible::after,
.nb-header .nb-menu .current-menu-item > a::after,
.nb-header .nb-menu .current-page-ancestor > a::after,
.nb-header .nb-menu .current-menu-ancestor > a::after { transform: scaleX(1); }

/* Contact: last item renders as a button. */
.nb-header .nb-menu > li:last-child > a { padding: 15px 24px; border: 1px solid #152F3B; transition: background .25s ease, color .25s ease; }
.nb-header .nb-menu > li:last-child > a::after { display: none; }
.nb-header .nb-menu > li:last-child > a:hover,
.nb-header .nb-menu > li.current-menu-item:last-child > a { background: #152F3B; color: #F6F4EF; }

.nb-footer .nb-menu { gap: 14px; }
.nb-footer .nb-menu a { color: rgba(246, 244, 239, .8); transition: color .2s ease; }
.nb-footer .nb-menu a:hover { color: #B49B76; text-decoration: none; }

@media (max-width: 1100px) {
  .nb-header .nb-menu { gap: 20px; }
  .nb-header .nb-menu a { letter-spacing: .12em; }
}
@media (min-width: 768px) and (max-width: 900px) {
  .nb-header-inner { gap: 20px; }
  .nb-header .custom-logo { height: 64px; }
  .nb-header .nb-menu { gap: 16px; }
  .nb-header .nb-menu a { font-size: 11px; letter-spacing: .1em; }
  .nb-header .nb-menu > li:last-child > a { padding: 13px 16px; }
}
@media (max-width: 767px) {
  .nb-header .custom-logo { height: 56px; }
  .nb-footer .custom-logo { height: 80px; }
  .nb-toggle {
    font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif; font-weight: 500; font-size: 12px;
    letter-spacing: .2em; text-transform: uppercase; color: #152F3B; cursor: pointer;
  }
  .nb-toggle span { font-size: 16px; letter-spacing: 0; }
  .nb-header .nb-menu { gap: 0; padding-top: 8px; }
  .nb-header .nb-menu a { display: block; padding: 18px 0; font-size: 13px; letter-spacing: .16em; border-bottom: 1px solid rgba(21, 47, 59, .1); }
  .nb-header .nb-menu a::after { display: none; }
  .nb-header .nb-menu .current-menu-item > a,
  .nb-header .nb-menu .current-page-ancestor > a,
  .nb-header .nb-menu .current-menu-ancestor > a { color: #B49B76; }
  .nb-header .nb-menu > li:last-child > a { margin-top: 20px; padding: 17px 24px; text-align: center; border: 1px solid #152F3B; }
  .nb-header .nb-menu > li.current-menu-item:last-child > a { color: #F6F4EF; }
}
