/* Footer from Figma 3:1598: edge-to-edge ruled cells, year, oversized wordmark, hatch strip. */
.site-footer { position:relative; color:var(--color-paper); background:var(--color-ink); padding-top:var(--space-64); }
.site-footer a { color:inherit; text-decoration:none; }
.footer-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1px; border-block:1px solid var(--color-dark-rule); background:var(--color-dark-rule); }
.footer-cell { position:relative; min-width:0; padding:var(--space-32) var(--space-24); background:var(--color-ink); }
.footer-cell h2 { margin:0 0 var(--space-24); font-weight:400; opacity:.6; }
.footer-cell ul { list-style:none; margin:0; padding:0; display:grid; gap:var(--space-24); }
.footer-cell li a { display:inline-flex; align-items:center; gap:14px; }
.footer-social .social-icon { flex:none; width:36px; height:36px; background:currentColor; -webkit-mask:var(--icon) center/contain no-repeat; mask:var(--icon) center/contain no-repeat; -webkit-mask-source-type:luminance; mask-mode:luminance; transition:background 220ms ease; }
.footer-cell--social::before { content:""; position:absolute; left:0; top:0; width:48px; height:48px; background:var(--color-accent); mask:url('/assets/figma-mm2/accent-square.svg') center/contain no-repeat; }
.footer-request { --button-fill-size:100%; --button-fill-scale:1.8; display:flex; width:100%; max-width:232px; box-sizing:border-box; align-items:center; justify-content:space-between; gap:var(--space-16); min-height:59px; padding:0 var(--space-24); border-radius:4px; background:var(--color-accent); color:var(--color-ink); font-weight:500; }
.footer-request::before { right:0; transform-origin:100% 50%; background:var(--color-paper); }
.footer-request:hover { color:var(--color-ink); }
.footer-request > span { display:inline-flex; }
.footer-request svg { width:12px; height:12px; }
.footer-email { display:inline-block; margin-top:var(--space-16); font-weight:500; }
.footer-year { margin:var(--space-20) var(--page-gutter) 0; text-align:right; }
.footer-logo { display:block; width:auto; height:auto; margin:5px var(--page-gutter) 0; overflow:visible; }
.footer-logo text { font-family:"Montserrat",Arial,sans-serif; fill:currentColor; }
.footer-strip { position:relative; margin-top:var(--space-40); padding:var(--space-24) var(--page-gutter); border-top:1px solid var(--color-dark-rule); color:var(--color-dark-muted); }
.footer-strip::before { content:""; position:absolute; inset:0; opacity:.11; background:repeating-linear-gradient(135deg,var(--color-hatch) 0 1px,transparent 1px 7px); pointer-events:none; }
.footer-strip p { position:relative; margin:0; max-width:760px; }
@media (min-width:768px) {
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1100px) {
  .site-footer { padding-top:95px; }
  .footer-cell { padding:30px 40px; }
  .footer-cell h2 { margin-bottom:30px; }
  .footer-cell ul { gap:30px; }
  .footer-cell--social,.footer-cell--contact { padding:40px; }
  .footer-year { margin-top:21px; }
  .footer-strip { min-height:219px; margin-top:46px; padding-block:var(--space-40); }
}
@media (min-width:1400px) {
  .footer-grid { grid-template-columns:minmax(0,563fr) minmax(0,777fr) minmax(0,370fr); grid-template-rows:auto auto; }
  .footer-cell--nav,.footer-cell--services { grid-row:1 / 3; }
  .footer-cell--social,.footer-cell--contact { grid-column:3; }
}
