/* The one Build Theory site footer. Markup: app/netlify/lib/siteFooter.mjs.
   Self-contained on purpose (literal colours and fonts, no page tokens) so it
   renders identically on every page, whichever other stylesheets it loads
   with. Load it LAST. Every rule is scoped under .ft so a page's own element
   rules (p, a, ul, img) cannot reach into it. */
.ft,.ft *{box-sizing:border-box}
.ft{background:#1B1B1F;color:#F4F2EC;font-family:'Geist','Geist Fallback',system-ui,-apple-system,sans-serif;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:normal;text-align:left;-webkit-font-smoothing:antialiased}
.ft img{display:block;max-width:100%;height:auto}
.ft .ft-wrap{max-width:1440px;margin:0 auto;padding:112px 80px 40px}
.ft .ft-main{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:72px;align-items:start}
.ft .ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:460px}
.ft .ft-logo{width:200px;height:auto}
.ft .ft-title{font-family:'Sora','Noto Sans','Sora Fallback',system-ui,-apple-system,sans-serif;font-weight:300;font-size:clamp(32px,calc(1.6vw + 18px),48px);line-height:1.08;letter-spacing:-.035em;margin:8px 0 0;color:#F4F2EC;text-wrap:balance}
.ft .ft-blurb{font-size:16px;line-height:1.6;color:#BEBDB9;margin:0}
.ft .ft-blurb a{color:#F4F2EC;text-underline-offset:4px}
.ft .ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-top:12px}
.ft .ft-col h3{font-family:'JetBrains Mono','JetBrains Mono Fallback',ui-monospace,Menlo,Consolas,monospace;font-weight:500;font-size:13px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#BEBDB9;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid rgba(244,242,236,.12)}
.ft .ft-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ft .ft-col a{color:#F4F2EC;text-decoration:none;font-size:16px;line-height:1.3;opacity:.86;transition:opacity .18s cubic-bezier(.22,1,.36,1)}
.ft .ft-col a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.ft .ft-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-top:96px;padding-top:24px;border-top:1px solid rgba(244,242,236,.12);font-size:14px;color:#BEBDB9}
.ft .ft-bottom p{margin:0}
.ft .ft-pod{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ft .ft-made{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono','JetBrains Mono Fallback',ui-monospace,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ft .ft-end{display:flex;align-items:center;justify-content:flex-end;gap:28px}
.ft .ft-end a{color:#F4F2EC;text-decoration:none}
.ft .ft-end a:hover{text-decoration:underline;text-underline-offset:4px}
.ft .ft-by{display:flex;align-items:center;gap:10px}
.ft .ft-by img{height:24px;width:auto}
/* Desktop scale: the same 90% the rest of the home page reads at. */
@media (min-width:1200px){.ft{zoom:.9}}
@media (min-width:1600px){.ft .ft-wrap{max-width:1680px;padding-left:96px;padding-right:96px}}
@media (min-width:2200px){.ft .ft-wrap{max-width:1840px}}
@media (max-width:1100px){.ft .ft-wrap{padding-left:40px;padding-right:40px}.ft .ft-main{grid-template-columns:1fr;gap:64px}.ft .ft-brand{max-width:560px}}
@media (max-width:760px){.ft .ft-wrap{padding:72px 16px 32px}.ft .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.ft .ft-bottom{grid-template-columns:1fr;gap:16px;margin-top:64px}.ft .ft-end{justify-content:flex-start;flex-wrap:wrap;gap:16px 24px}.ft .ft-logo{width:168px}}
