/* Shared site footer (tools/footer/build_footer.mjs writes the markup into every page). One look on every page:
   brand and two short link columns on top, a hairline, then the legal bar. Colors are its own, fonts come from the page.
   Audit 2026-10-21: the old footers had 44 px link rows that read as gaps, entity, city and email crammed in one muted
   line, legal links mixed with navigation, and four different layouts across the site. */

.pfoot {
  --pf-bg: #050606;
  --pf-line: #1f2626;
  --pf-text: #c0cccc;
  --pf-soft: #8a9899;
  --pf-strong: #ffffff;

  position: relative;
  background: var(--pf-bg);
  color: var(--pf-text);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
}
.pfoot p,
.pfoot ul {
  margin: 0;
  padding: 0;
}
.pfoot ul {
  list-style: none;
}
.pfoot a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color 0.2s ease;
}
.pfoot a:hover,
.pfoot a[aria-current='page'] {
  color: var(--pf-strong);
}
.pfoot a:hover {
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.4);
}
.pfoot a:focus-visible {
  outline: 2px solid var(--pf-strong);
  outline-offset: 3px;
  border-radius: 4px;
}

.pfoot__inner {
  width: 100%;
  max-width: 1256px;
  margin-inline: auto;
  padding: 56px 20px 24px;
}
.pfoot__top {
  display: grid;
  gap: 36px;
  padding-bottom: 36px;
}
.pfoot__logo {
  display: inline-flex;
  color: var(--pf-strong);
}
.pfoot__logo:hover {
  text-decoration: none;
}
.pfoot__logo svg {
  display: block;
  width: 120px;
  height: auto;
  aspect-ratio: 1069 / 222;
}
.pfoot__tag {
  margin-top: 14px;
  color: var(--pf-soft);
}
.pfoot__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.pfoot__heading {
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pf-soft);
}
/* Phones: 40 px rows, an easy thumb target without the old gaps. */
.pfoot__col a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
}
.pfoot__bar {
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--pf-line);
  font-size: 14px;
  color: var(--pf-soft);
}
.pfoot__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}
.pfoot__links a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
}

/* 1200 px of content, the home and construction container. */
@media (min-width: 640px) {
  .pfoot__inner {
    padding-inline: 28px;
  }
}
@media (min-width: 900px) {
  .pfoot__inner {
    padding-block: 72px 28px;
  }
  .pfoot__top {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 48px;
    padding-bottom: 48px;
  }
  .pfoot__nav {
    grid-template-columns: repeat(2, minmax(150px, auto));
    gap: 72px;
  }
  .pfoot__heading {
    margin-bottom: 12px;
  }
  .pfoot__col a {
    min-height: 32px;
  }
  .pfoot__bar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
