/* A single, quiet closing section with a focused enquiry invitation. */
.site-footer {
  --footer-ink:#202e34;
  --footer-muted:#5f6e74;
  --footer-line:#d6e0e3;
  margin:0;
  padding:0;
  background:#f3f6f7;
  color:var(--footer-ink);
  border-top:1px solid #e4ebed;
}
.site-footer .footer-invitation {
  padding:64px 0 48px;
  background-color:#f3f6f7;
  background-image:linear-gradient(0deg,#f3f6f7 0%,rgba(243,246,247,0) 30%),linear-gradient(90deg,rgba(243,246,247,.72) 0%,rgba(243,246,247,.54) 45%,rgba(243,246,247,.24) 100%),url('assets/footer-lighting-gallery.webp');
  background-size:cover;
  background-position:right center;
  background-repeat:no-repeat;
}
.footer-invitation-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(120px,.55fr) minmax(0,1.15fr); align-items:center; gap:clamp(32px,5vw,72px); }
.site-footer .footer-conversation { display:block; grid-column:1 / 3; padding:0; min-width:0; }
.site-footer .footer-overline { display:block; margin:0 0 18px; color:#007d91; font-size:14px; line-height:1.5; letter-spacing:.12em; font-weight:600; }
.site-footer .footer-conversation h2 { margin:0 0 18px; color:var(--footer-ink); font-family:var(--font-sans); font-size:clamp(36px,4vw,56px); font-weight:600; line-height:1.12; letter-spacing:-.025em; text-wrap:balance; }
.site-footer .footer-conversation h2 em { display:inline; color:#007d91; font:inherit; letter-spacing:inherit; }
.site-footer .footer-conversation p { margin:0; color:var(--footer-muted); font-size:17px; line-height:1.7; max-width:52ch; }
.footer-actions { display:flex; grid-column:3; flex-direction:column; align-items:stretch; gap:10px; width:232px; max-width:100%; }
.site-footer .footer-project-link { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:14px 28px; border:1px solid #007d91; background:#007d91; color:#fff; border-radius:2px; font-size:16px; line-height:1.5; font-weight:600; text-align:center; transition:background-color .2s,border-color .2s; }
.site-footer .footer-project-link:hover { background:#006579; border-color:#006579; color:#fff; }
.site-footer .footer-chat-link {
  display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:44px; padding:8px 0;
  border:0; background:transparent; color:#34434b;
  font-size:15px; line-height:1.5; font-weight:500; text-decoration:none;
  transition:color .2s;
}
.footer-chat-icon { display:flex; flex:0 0 18px; width:18px; height:18px; }
.footer-chat-icon svg { display:block; width:18px; height:18px; }
.footer-chat-label { min-width:0; }
.site-footer .footer-chat-link:hover { color:#007d91; }
.footer-chat-link:hover .footer-chat-label { text-decoration:underline; text-underline-offset:4px; }
.site-footer :focus-visible { outline:2px solid #007d91; outline-offset:5px; }
@media(max-width:850px) {
  .site-footer .footer-invitation { padding:48px 0 36px; }
  .footer-invitation-layout { grid-template-columns:minmax(0,1fr) auto; gap:32px; }
  .site-footer .footer-conversation { grid-column:1; }
  .footer-actions { grid-column:2; }
  .footer-actions { width:210px; }
}
@media(max-width:650px) {
  .site-footer .footer-invitation {
    padding:40px 0 32px;
    background-image:linear-gradient(0deg,#f3f6f7 0%,rgba(243,246,247,0) 35%),linear-gradient(90deg,rgba(243,246,247,.9),rgba(243,246,247,.77)),url('assets/footer-lighting-gallery.webp');
    background-position:78% center;
  }
  .footer-invitation-layout { grid-template-columns:1fr; gap:24px; }
  .footer-actions { grid-column:1; }
  .site-footer .footer-overline { margin-bottom:14px; font-size:12px; }
  .site-footer .footer-conversation h2 { font-size:clamp(34px,8.5vw,46px); margin-bottom:14px; }
  .site-footer .footer-conversation p { font-size:16px; }
  .footer-actions { width:100%; max-width:340px; gap:10px; }
  .site-footer .footer-project-link { min-height:52px; }
}
@media(prefers-reduced-motion:reduce) { .site-footer a { transition:none; } }
