/* Supplied Amati artwork, displayed over the original light backgrounds.
   Frames hide only the PNGs' transparent margins; the originals stay intact. */
header .brand {
  position: relative;
  width: 220px;
  aspect-ratio: 376 / 129;
  overflow: hidden;
}
header .brand-logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 106.382979%;
  max-width: none;
  height: auto;
  transform: translate(-3.25%, -18%);
}
footer {
  grid-template-columns: 160px minmax(0, 1.2fr) minmax(0, 1fr) auto;
}
footer .brand {
  position: relative;
  width: 160px;
  aspect-ratio: 1724 / 1380;
  overflow: hidden;
}
footer .brand-logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 116.009281%;
  max-width: none;
  height: auto;
  transform: translate(-6.9%, -15%);
}
/* Keep company pages to the left of a dedicated contact column. */
footer.amati-footer {
  grid-template-columns: 160px minmax(200px, 1.2fr) minmax(135px, .8fr) minmax(190px, 1fr) auto;
  grid-template-areas: "brand office pages contact top";
  align-items: start;
  gap: 30px clamp(20px, 2.1vw, 30px);
}
footer.amati-footer > .brand { grid-area: brand; }
footer.amati-footer > p { grid-area: office; margin: 0; }
footer.amati-footer .footer-page-links { grid-area: pages; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
footer.amati-footer .footer-contact-links { grid-area: contact; border-left: 1px solid var(--line); padding-left: 24px; }
footer.amati-footer .back-top { grid-area: top; }
.branded-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
}
.tree-accent {
  display: block;
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  aspect-ratio: 1218 / 1587;
  overflow: hidden;
  opacity: .85;
  pointer-events: none;
}
.tree-accent img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 164.203612%;
  max-width: none;
  height: auto;
  transform: translate(-19.55%, -10.35%);
}

@media (max-width: 1000px) {
  header .brand { width: 196px; }
  footer { grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr); }
  footer .brand { width: 140px; }
}
@media (max-width: 1100px) {
  footer.amati-footer {
    grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "brand office office" "brand pages contact" ". . top";
    gap: 25px;
  }
  footer.amati-footer .brand { width: 140px; }
}
@media (max-width: 900px) {
  header .menu {
    display: flex;
    align-items: center;
    gap: 16px;
    background: none;
    border: 1px solid #bac5b9;
    padding: 8px 12px;
    color: var(--ink);
    font-size: 12px;
  }
  header nav {
    display: none;
    position: absolute;
    top: 108px;
    left: 0;
    right: 0;
    padding: 22px 6% 28px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    align-items: stretch;
    gap: 13px;
  }
  header nav.open { display: flex; flex-direction: column; }
  header .nav-cta { justify-content: space-between; }
}
@media (max-width: 700px) {
  header .brand { width: 190px; }
  header nav {
    top: 93px;
  }
  footer { grid-template-columns: 120px minmax(0, 1fr); gap: 25px; }
  footer .brand { width: 120px; }
  footer.amati-footer {
    grid-template-columns: 120px minmax(0, 1fr);
    grid-template-areas: "brand office" "pages pages" "contact contact" "top top";
  }
  footer.amati-footer .brand { width: 120px; }
  footer.amati-footer .footer-page-links { flex-direction: row; flex-wrap: wrap; gap: 8px 24px; border-top: 1px solid var(--line); padding-top: 18px; }
  footer.amati-footer .footer-contact-links { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 18px; }
  .branded-eyebrow { gap: 12px; }
  .tree-accent { flex-basis: 20px; width: 20px; }
}
@media (max-width: 380px) {
  header .brand { width: 164px; }
  footer { grid-template-columns: 105px minmax(0, 1fr); gap: 20px; }
  footer .brand { width: 105px; }
  footer.amati-footer { grid-template-columns: 105px minmax(0, 1fr); gap: 20px; }
  footer.amati-footer .brand { width: 105px; }
}

/* Qualifications follow partner names with a quieter visual weight. */
.team h3 .partner-credentials { display: inline-block; font-size: .52em; font-weight: 400; letter-spacing: .01em; line-height: 1.5; opacity: .8; white-space: nowrap; vertical-align: baseline; }
