/* Shared family footer: structure only, with each site's established palette. */
.family-footer{padding:64px 0 80px;border:0;font-family:inherit;line-height:1.65;--ff-rule:color-mix(in srgb,currentColor 22%,transparent)}
.ff-group{background:#0b0907;color:#eeeae4}.ff-systems{background:transparent;color:oklch(.14 .006 65)}.ff-works{background:#1b251e;color:#e2e7dc}.ff-materials{background:oklch(.95 .004 78);color:oklch(.2 .006 65)}.ff-cladra{background:#1c1410;color:#f5ede4}.ff-lattix{background:#0d1426;color:#c3cde3}
.family-footer .ff-wrap{width:calc(100% - 80px);max-width:1240px;margin:0 auto;padding:0}
.family-footer .ff-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);gap:40px;align-items:start}
.family-footer .ff-main>*{min-width:0}.family-footer .ff-logo{display:block;width:170px;height:66px;max-width:100%;object-fit:contain;object-position:left center;margin:0 0 22px}.ff-group .ff-logo{width:44px;height:44px;filter:invert(1)}.family-footer strong{color:inherit}.ff-cladra .ff-logo{height:50px}
.family-footer .ff-wordmark{display:block;font:600 25px/1.2 inherit;letter-spacing:-.5px;margin:0 0 24px;font-size:25px;font-weight:650}
.family-footer p{font-family:inherit;font-size:14px;line-height:1.7;color:inherit;margin:0 0 16px;max-width:38ch}
.family-footer .ff-descriptor{font-size:16px}.family-footer .ff-endorsement{font-size:13px;letter-spacing:.04em;font-weight:650;margin:22px 0 10px}.family-footer .ff-relationship{font-size:12px;line-height:1.7;opacity:.88}
.family-footer h2{font-family:inherit;font-size:13px;line-height:1.5;letter-spacing:.04em;font-weight:650;text-transform:none;color:inherit;margin:0 0 18px}
.family-footer nav.ff-nav{display:block;width:auto;padding:0;margin:0;border:0;background:none;position:static;transform:none;visibility:visible;opacity:1}
.family-footer a{color:inherit;text-decoration:none;font-size:14px;line-height:1.6;letter-spacing:normal;text-transform:none;border:0;background:none;overflow-wrap:anywhere}
.family-footer .ff-nav a,.family-footer .ff-contact a{display:block;width:fit-content;max-width:100%;min-height:40px;padding:8px 0;margin:0}
.family-footer a:hover{text-decoration:underline;text-underline-offset:4px}.family-footer a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
.family-footer .ff-contact p{font-size:12px;margin:16px 0 0}.family-footer .ff-legal{border-top:1px solid var(--ff-rule);padding-top:28px;margin-top:40px}.family-footer .ff-legal p{max-width:100%;font-size:12px}.family-footer .ff-offices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:20px}.family-footer .ff-offices strong{display:block;font-weight:650;margin-bottom:5px}.family-footer .ff-credentials{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:12px;margin-bottom:14px}.family-footer .ff-credentials a{font-size:12px}
.family-footer .ff-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 32px;flex-wrap:wrap;border-top:1px solid var(--ff-rule);padding-top:24px;margin-top:40px;font-size:12px}.family-footer .ff-bottom a{font-size:12px}
@media(max-width:1000px){.family-footer .ff-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}}
@media(max-width:600px){.family-footer{padding:44px 0 80px}.family-footer .ff-wrap{width:calc(100% - 40px)}.family-footer .ff-main{gap:32px 20px}.family-footer .ff-brand,.family-footer .ff-contact{grid-column:1/-1}.family-footer .ff-brand p{max-width:46ch}.family-footer .ff-offices{grid-template-columns:1fr;gap:8px}.family-footer .ff-bottom{display:grid;gap:12px}.family-footer .ff-nav a,.family-footer .ff-contact a{min-height:44px}}
@media(max-width:350px){.family-footer .ff-main{grid-template-columns:1fr}.family-footer .ff-brand,.family-footer .ff-contact{grid-column:auto}}
