/* Global footer: original identity and public details, shared across all pages. */
.footer-40 {
  --f40-ink: #303e32;
  --f40-muted: #56634e;
  --f40-line: #808a713b;
  padding: 44px 6vw 28px;
  background: #eaeadd;
  color: var(--f40-ink);
}
.footer-40 .signature-footer-top {padding-bottom: 34px; border-color: var(--f40-line)}
.footer-40 .signature-footer-brand {width: 238px}
.footer-40 .f40-materials {
  margin: 0 0 0 auto;
  padding-right: 3vw;
  color: var(--f40-muted);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.footer-40 .signature-back {min-height: 44px; font-size: 11px; gap: 14px}
.footer-40 .signature-back span {width: 44px; height: 44px}
.footer-40 .signature-footer-grid {
  grid-template-columns: 1.35fr .85fr .8fr 1.25fr;
  gap: clamp(24px, 3vw, 56px);
  padding: 44px 0 8px;
}
.footer-40 .signature-footer-grid > * {min-width: 0}
.footer-40 .f40-profession {
  font-size: clamp(30px, 2.65vw, 44px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.1;
  margin: 0 0 21px;
}
.footer-40 .f40-description {max-width: 265px; margin: 0; font-size: 14px; line-height: 1.85}
.footer-40 .f40-location {margin: 28px 0 0; color: var(--f40-muted); font-size: 12px; line-height: 1.8}
.footer-40 .f40-location span {font-size: 11px}
.footer-40 .signature-footer-heading {
  margin: 0 0 17px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 500;
  color: var(--f40-muted);
  letter-spacing: .13em;
  line-height: 1.6;
}
.footer-40 nav {gap: 0; font-size: 13px; line-height: 1.6}
.footer-40 nav .signature-footer-heading {margin-bottom: 14px}
.footer-40 nav a {display: flex; align-items: center; min-height: 34px; padding: 4px 0}
.footer-40 nav a[aria-current="page"] {text-decoration: underline; text-underline-offset: 5px}
.footer-40 nav .f40-all {margin-top: 14px; gap: 20px; border-top: 1px solid var(--f40-line); padding-top: 12px}
.footer-40 .signature-footer-contact {grid-column: auto; gap: 0; padding: 0; border: 0}
.footer-40 .signature-footer-contact .signature-footer-heading {margin-bottom: 16px}
.footer-40 .f40-phone {font-size: clamp(18px, 1.55vw, 26px); letter-spacing: -.025em; line-height: 1.4; padding: 3px 0 8px}
.footer-40 .f40-email {display: flex; align-items: center; gap: 12px; min-height: 40px; font-size: 13px}
.footer-40 .f40-invitation {margin: 28px 0 15px; color: var(--f40-muted); font-size: 13px; line-height: 1.75}
.footer-40 .f40-project {display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; max-width: 285px; min-height: 48px; font-size: 14px; border-bottom: 1px solid #819075}
.footer-40 .f40-project span {font-size: 23px; transition: transform .25s}
.footer-40 .f40-project:hover span {transform: translate(2px, -2px)}
.footer-40 .signature-wordmark {font-size: clamp(65px, 11.5vw, 210px); margin: 32px -.55vw 25px; line-height: 1.15}
.footer-40 .signature-footer-bottom {
  display: grid;
  grid-template-columns: 1fr 1.35fr auto;
  align-items: start;
  gap: 36px;
  padding-top: 24px;
  border-color: var(--f40-line);
  color: var(--f40-muted);
  font-size: 11px;
  line-height: 1.8;
}
.footer-40 .f40-business p {margin: 0}
.footer-40 .f40-business p:first-child {margin-bottom: 4px; color: var(--f40-ink)}
.footer-40 .f40-business p > span {display: block}
.footer-40 .f40-rights {margin: 0; max-width: 495px}
.footer-40 .signature-credits-open {display: flex; align-items: center; gap: 16px; min-height: 44px; padding: 0; font-size: 11px; max-width: none; text-align: left}
.footer-40 a:focus-visible, .footer-40 button:focus-visible {outline: 2px solid #3b5839; outline-offset: 5px}

@media (min-width: 1750px) {
  .footer-40 .signature-footer-grid {grid-template-columns: 1.35fr .85fr .8fr 1.1fr}
  .footer-40 nav {font-size: 15px}
  .footer-40 .f40-description {font-size: 16px; max-width: 310px}
  .footer-40 .f40-email {font-size: 15px}
}
@media (max-width: 1100px) {
  .footer-40 .signature-footer-grid {grid-template-columns: 1.1fr 1fr; gap: 38px 8vw}
  .footer-40 .f40-identity {grid-column: 1; grid-row: 1}
  .footer-40 .signature-footer-contact {grid-column: 2; grid-row: 1}
  .footer-40 .f40-works {grid-column: 1; grid-row: 2}
  .footer-40 .f40-explore {grid-column: 2; grid-row: 2}
  .footer-40 nav {padding-top: 28px; border-top: 1px solid var(--f40-line)}
  .footer-40 nav a {min-height: 40px}
  .footer-40 .f40-phone {font-size: 22px}
  .footer-40 .f40-project {max-width: none}
  .footer-40 .signature-footer-bottom {grid-template-columns: 1fr 1fr; gap: 22px 8vw}
  .footer-40 .signature-credits-open {grid-column: 2; justify-self: start}
}
@media (max-width: 600px) {
  .footer-40 {padding: 30px 6vw 26px}
  .footer-40 .signature-footer-top {gap: 16px; padding-bottom: 28px}
  .footer-40 .signature-footer-brand {width: 190px; max-width: 62%}
  .footer-40 .f40-materials {display: none}
  .footer-40 .signature-back {font-size: 10px; gap: 8px}
  .footer-40 .signature-back span {font-size: 21px; width: 36px; height: 44px; border: 0}
  .footer-40 .signature-footer-grid {grid-template-columns: 1fr 1fr; gap: 30px 24px; padding-top: 30px}
  .footer-40 .f40-identity {grid-column: 1 / -1; grid-row: 1}
  .footer-40 .f40-profession {font-size: 36px; margin-bottom: 16px}
  .footer-40 .f40-description {max-width: 350px; font-size: 14px; line-height: 1.8}
  .footer-40 .f40-location {margin-top: 16px; font-size: 12px}
  .footer-40 .signature-footer-contact {grid-column: 1 / -1; grid-row: 3; padding-top: 27px; border-top: 1px solid var(--f40-line)}
  .footer-40 .signature-footer-heading, .footer-40 nav .signature-footer-heading {font-size: 10px; margin-bottom: 9px}
  .footer-40 nav {font-size: 13px; padding-top: 24px}
  .footer-40 nav a {min-height: 44px; box-sizing: border-box}
  .footer-40 nav .f40-all {gap: 12px; margin-top: 10px; padding-top: 10px}
  .footer-40 .f40-phone {font-size: 26px; min-height: 44px; padding: 0; display: flex; align-items: center}
  .footer-40 .f40-email {font-size: 14px; min-height: 44px}
  .footer-40 .f40-invitation {margin: 20px 0 10px; font-size: 13px}
  .footer-40 .f40-project {font-size: 16px; min-height: 54px}
  .footer-40 .signature-wordmark {font-size: 11.65vw; margin: 33px -.4vw 22px; line-height: 1.25}
  .footer-40 .signature-footer-bottom {grid-template-columns: 1fr; gap: 17px; padding-top: 21px; font-size: 11px; line-height: 1.8}
  .footer-40 .signature-credits-open {grid-column: 1; font-size: 12px; min-height: 44px}
}
@media (prefers-reduced-motion: reduce) {
  .footer-40 .signature-wordmark {transform: none; will-change: auto}
  .footer-40 .f40-project span, .footer-40 .signature-back span {transition: none; transform: none}
}
