/* 17 · Footer */
.footer { background: var(--bg); padding-top: 120px; }
.footer-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 80px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.footer-brand { display: flex; flex-direction: column; gap: 16px; width: 340px; flex: 0 1 340px; }
.footer-name { display: flex; align-items: center; gap: 9px; font-weight: 500; font-size: 15px; line-height: 18px; letter-spacing: -0.01em; color: var(--ink); }
.footer-mark { display: inline-block; flex: 0 0 11px; width: 11px; height: 11px; border-radius: 3px; background: var(--blue); }
.footer-blurb { max-width: 300px; font-size: 14px; line-height: 23px; color: var(--ink-3); }
.footer-cols { display: flex; align-items: flex-start; gap: 70px; }
.footer-col { display: flex; flex-direction: column; gap: 12px; }
.footer-col-title { font-family: var(--font-mono); font-weight: 400; font-size: 10px; line-height: 12px; letter-spacing: 0.02em; text-transform: uppercase; color: var(--ink-4); }
.footer-links { display: flex; flex-direction: column; gap: 12px; }
.footer-links a, .footer-links .footer-email { font-size: 14px; line-height: 18px; color: var(--ink-3); }
.footer-links a:hover { color: var(--ink); }
.footer-legal { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 20px; font-family: var(--font-mono); font-size: 10px; line-height: 12px; letter-spacing: 0.02em; text-transform: uppercase; color: var(--ink-4); }
.footer-legal-links { display: flex; align-items: center; gap: 26px; }
.footer-legal-links a:hover { color: var(--ink); }
.footer-ghost { display: flex; justify-content: center; align-items: flex-start; width: 100%; height: 118px; padding-top: 44px; overflow: clip; }
.footer-ghost-text { font-family: var(--font-pixel); font-weight: 700; font-size: 200px; line-height: 150px; white-space: nowrap; color: rgba(26, 24, 22, 0.12); }

@media (max-width: 900px) {
  .footer { padding-top: 80px; }
  .footer-top { flex-direction: column; gap: 36px; }
  .footer-brand { width: auto; flex: none; }
  .footer-cols { gap: 40px; flex-wrap: wrap; }
  .footer-links a, .footer-links .footer-email { display: inline-block; padding: 4px 0; }
  .footer-ghost-text { font-size: 140px; line-height: 110px; }
}
/* Phone (Paper v4 node JY7-0 · artboard JFE-0): bone ground with a 1px #E4E1DA top rule, 80px top padding (Paper),
   brand block, two link columns + full-width contact column, legal line, ghost wordmark. */
@media (max-width: 600px) {
  .footer { padding-top: 80px; background: #FFFDFA; border-top: 1px solid #E4E1DA; }
  .footer-top { gap: 48px; padding-bottom: 48px; border-bottom-color: #E7E5E4; }
  .footer-brand { gap: 16px; }
  .footer-name { font-size: 16px; line-height: 24px; letter-spacing: -0.01em; color: #1A1816; }
  .footer-blurb { max-width: none; font-size: 16px; line-height: 27px; color: #55524C; }
  .footer-cols { flex-direction: row; flex-wrap: wrap; gap: 32px; width: 100%; }
  .footer-col { gap: 16px; width: calc(50% - 16px); min-width: 0; }
  .footer-col:last-child { width: 100%; }
  .footer-col-title { font-size: 12px; line-height: 18px; letter-spacing: 0.02em; color: #78716C; }
  .footer-links { gap: 12px; }
  .footer-links a, .footer-links .footer-email { padding: 4px 0; font-size: 16px; line-height: 24px; color: #78716C; }
  .footer-legal { flex-direction: column; align-items: flex-start; gap: 24px; padding-top: 32px; font-size: 12px; line-height: 18px; letter-spacing: 0.02em; color: #78716C; }
  .footer-legal-links { flex-wrap: wrap; gap: 14px 26px; }
  .footer-ghost { height: auto; padding-top: 48px; padding-bottom: 24px; }
  .footer-ghost-text { font-size: 60px; line-height: 60px; color: rgba(26, 24, 22, 0.12); }
}

.footer-legal-links a { font: 400 13px/20px var(--font-body); text-transform: none; letter-spacing: normal; }
