.site-footer {
  display: block;
  width: 100%;
  min-height: 0;
  padding: 76px max(24px, calc((100vw - 1180px) / 2)) 28px;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: radial-gradient(circle at 90% 0, rgba(130, 60, 255, 0.055), transparent 28%), #03050b;
  color: #858ca1;
}

.site-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.7fr 1fr 1.1fr;
  gap: 64px;
  padding-bottom: 58px;
}

.site-footer .footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: max-content;
}

.site-footer .footer-logo img { width: 42px; height: 42px; object-fit: contain; }
.site-footer .footer-logo span { color: #f2f4fb; font: 700 18px "Space Grotesk"; letter-spacing: 0.08em; }
.site-footer .footer-brand > p { max-width: 330px; margin: 20px 0 0; color: #838a9d; font-size: 14px; line-height: 1.7; }
.site-footer .footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; font-size: 13px; }
.site-footer .footer-column h3 { margin: 9px 0 14px; color: #f2f4fb; font: 600 16px "Space Grotesk"; }
.site-footer .footer-column a { color: #858ca1; transition: color 0.25s; }
.site-footer .footer-column a:hover { color: #04d9ff; }
.site-footer .footer-contact a,
.site-footer .footer-contact p { display: flex; align-items: center; gap: 10px; min-height: 30px; margin: 0; color: #858ca1; font-size: 13px; text-transform: none; }
.site-footer .contact-icon { width: 19px; color: #04d9ff; font: 600 11px "Space Grotesk"; text-align: center; }
.site-footer .footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #666e83; font-size: 11px; }
.site-footer .footer-bottom small { font-size: 11px; }
.site-footer .footer-bottom span { color: #7e8598; }

.venda-flow-footer { background: radial-gradient(circle at 90% 0, rgba(116, 240, 68, 0.055), transparent 28%), #050811; }
.venda-flow-footer .footer-column a:hover,
.venda-flow-footer .contact-icon { color: #74f044; }

/* Reference footer composition */
.site-footer { min-height: 355px; padding-top: 44px; padding-bottom: 22px; background: radial-gradient(circle at 88% 8%, rgba(72, 66, 180, 0.07), transparent 30%), #03050b; }
.site-footer .footer-grid { grid-template-columns: 1.45fr 0.7fr 1.05fr 1fr; gap: 72px; padding-bottom: 56px; }
.site-footer .footer-logo { gap: 8px; }
.site-footer .footer-logo img { width: 32px; height: 32px; }
.site-footer .footer-logo span { color: #f7f8ff; font-size: 18px; letter-spacing: 0.02em; }
.site-footer .footer-brand > p { position: relative; max-width: 340px; margin-top: 24px; padding: 23px 0 3px 20px; border-left: 2px solid #04d9ff; color: #aeb6ca; font-size: 15px; line-height: 1.75; }
.site-footer .footer-brand > p::before { content: "Estratégia · Design · Tecnologia"; position: absolute; top: 0; left: 20px; color: #7180a5; font: 700 7px "Space Grotesk"; text-transform: uppercase; letter-spacing: 0.2em; }
.site-footer .footer-column { gap: 17px; }
.site-footer .footer-column h3 { margin: 10px 0 18px; color: #fff; font-size: 13px; text-transform: uppercase; }
.site-footer .footer-column a { color: #8490ad; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.site-footer .footer-contact a,
.site-footer .footer-contact p { color: #8490ad; font-size: 12px; font-weight: 400; text-transform: none; }
.site-footer .footer-bottom { padding-top: 25px; color: #62708f; font-size: 9px; font-weight: 600; text-transform: uppercase; }
.site-footer .footer-bottom small { font-size: 9px; }
.site-footer .footer-bottom span { color: #62708f; }
.venda-flow-footer { background: radial-gradient(circle at 88% 8%, rgba(116,240,68,0.05), transparent 30%), #050811; }
.venda-flow-footer .footer-brand > p { border-left-color: #74f044; }
.leads-footer { background: radial-gradient(circle at 88% 8%, rgba(148,106,255,0.07), transparent 30%), #050811; }
.leads-footer .footer-brand > p { border-left-color: #946aff; }

@media (max-width: 900px) {
  .site-footer { min-height: 0; }
  .site-footer .footer-grid { grid-template-columns: 1.4fr 1fr; gap: 48px; }
}

@media (max-width: 580px) {
  .site-footer .footer-grid { grid-template-columns: 1fr; }
  .site-footer .footer-brand > p { font-size: 14px; }
  .site-footer .footer-column a { text-transform: none; }
}

/* Email contact icon, preserving each landing-page accent color. */
.site-footer .footer-contact a.email-link .contact-icon {
  background-image: url("https://api.iconify.design/lucide:mail.svg?color=%2304d9ff");
}
.venda-flow-footer .footer-contact a.email-link .contact-icon {
  background-image: url("https://api.iconify.design/lucide:mail.svg?color=%2374f044");
}
.leads-footer .footer-contact a.email-link .contact-icon {
  background-image: url("https://api.iconify.design/lucide:mail.svg?color=%23946aff");
}

/* Shared floating actions */
.floating-actions { position: fixed; right: 24px; bottom: 24px; z-index: 80; display: flex; width: 54px; height: auto; flex-direction: column; gap: 10px; }
.floating-actions .back-to-top,
.floating-actions .whatsapp-float { position: relative; right: auto; bottom: auto; display: grid; width: 54px; min-width: 54px; height: 54px; min-height: 54px; flex: 0 0 54px; place-items: center; border-radius: 50%; transition: transform 0.22s ease, box-shadow 0.22s ease; }
.floating-actions .back-to-top { border: 1px solid transparent; background: linear-gradient(#080b18, #080b18) padding-box, linear-gradient(135deg, #04d9ff, #823cff) border-box; color: #fff; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity .25s ease, visibility .25s ease, transform .25s ease, box-shadow .22s ease; }
.floating-actions .back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.floating-actions .back-to-top span { width: 11px; height: 11px; border-top: 2px solid currentColor; border-left: 2px solid currentColor; transform: translateY(3px) rotate(45deg); }
.floating-actions .whatsapp-float { border: 1px solid rgba(255,255,255,0.32); background: linear-gradient(145deg, #16d0a8, #02b99d); color: #fff; box-shadow: 0 12px 30px rgba(0,198,164,0.22); }
.floating-actions .whatsapp-float span { width: 100%; height: 100%; background: none; }
.floating-actions .whatsapp-float span::before { content: ""; position: absolute; inset: 15px; border: 2px solid currentColor; border-radius: 50%; }
.floating-actions .whatsapp-float span::after { content: ""; position: absolute; top: 20px; left: 23px; width: 7px; height: 10px; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; border-radius: 0 0 0 6px; transform: rotate(-38deg); }
.floating-actions a:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(44,93,255,0.25); }
@media (max-width: 580px) { .floating-actions { right: 16px; bottom: 16px; width: 50px; height: auto; }.floating-actions .back-to-top,.floating-actions .whatsapp-float { width: 50px; min-width: 50px; height: 50px; min-height: 50px; flex-basis: 50px; } }

/* Crisp vector icons — exact main-site sizing */
.site-footer .contact-icon { position: relative; display: inline-block; width: 19px; min-width: 19px; height: 19px; flex: 0 0 19px; color: #04d9ff; font-size: 0; line-height: 0; text-indent: -9999px; overflow: hidden; }
.floating-actions .whatsapp-float span { width: 23px; height: 23px; background: center/contain no-repeat url("https://api.iconify.design/simple-icons:whatsapp.svg?color=%23ffffff"); }
.floating-actions .whatsapp-float span::before,
.floating-actions .whatsapp-float span::after { content: none; }
.site-footer .footer-contact .contact-icon::before,
.site-footer .footer-contact .contact-icon::after { content: none; }
.site-footer .footer-contact a .contact-icon { background: center/18px 18px no-repeat url("https://api.iconify.design/simple-icons:whatsapp.svg?color=%2304d9ff"); }
.site-footer .footer-contact p:first-of-type .contact-icon { background: center/19px 19px no-repeat url("https://api.iconify.design/lucide:map-pin.svg?color=%2304d9ff"); }
.site-footer .footer-contact p:last-of-type .contact-icon { background: center/19px 19px no-repeat url("https://api.iconify.design/lucide:clock-3.svg?color=%2304d9ff"); }
.venda-flow-footer .footer-contact a .contact-icon { background-image: url("https://api.iconify.design/simple-icons:whatsapp.svg?color=%2374f044"); }
.venda-flow-footer .footer-contact p:first-of-type .contact-icon { background-image: url("https://api.iconify.design/lucide:map-pin.svg?color=%2374f044"); }
.venda-flow-footer .footer-contact p:last-of-type .contact-icon { background-image: url("https://api.iconify.design/lucide:clock-3.svg?color=%2374f044"); }
.leads-footer .footer-contact a .contact-icon { background-image: url("https://api.iconify.design/simple-icons:whatsapp.svg?color=%23946aff"); }
.leads-footer .footer-contact p:first-of-type .contact-icon { background-image: url("https://api.iconify.design/lucide:map-pin.svg?color=%23946aff"); }
.leads-footer .footer-contact p:last-of-type .contact-icon { background-image: url("https://api.iconify.design/lucide:clock-3.svg?color=%23946aff"); }

/* Restore footer link feedback */
.site-footer .footer-column a { transition: color 0.22s ease, transform 0.22s ease; }
.site-footer .footer-column a:hover,
.site-footer .footer-column a:focus-visible { color: #04d9ff; transform: translateX(3px); }
.site-footer .footer-column a:focus-visible { outline: 1px solid #04d9ff; outline-offset: 4px; }
.venda-flow-footer .footer-column a:hover,
.venda-flow-footer .footer-column a:focus-visible { color: #74f044; }
.leads-footer .footer-column a:hover,
.leads-footer .footer-column a:focus-visible { color: #946aff; }
.leads-footer .footer-column a:focus-visible { outline-color: #946aff; }

/* Floating-action tooltips — same model as the main site */
.floating-actions .back-to-top::before,
.floating-actions .whatsapp-float::before {
  position: absolute;
  right: 64px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(7, 9, 20, 0.94);
  color: #dfe4f1;
  font: 600 10px/1 "DM Sans", sans-serif;
  letter-spacing: 0.04em;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(6px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  pointer-events: none;
}

.floating-actions .back-to-top::before { content: "Voltar ao topo"; }
.floating-actions .whatsapp-float::before { content: "WhatsApp"; }

.floating-actions .back-to-top:hover::before,
.floating-actions .back-to-top:focus-visible::before,
.floating-actions .whatsapp-float:hover::before,
.floating-actions .whatsapp-float:focus-visible::before {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.floating-actions .back-to-top:focus-visible,
.floating-actions .whatsapp-float:focus-visible {
  outline: 2px solid #04d9ff;
  outline-offset: 4px;
}

@media (max-width: 580px) {
  .floating-actions .back-to-top::before,
  .floating-actions .whatsapp-float::before { display: none; }
}

@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns: 1.4fr 1fr; gap: 48px; }
}

@media (max-width: 580px) {
  .site-footer { padding: 58px 24px 24px; }
  .site-footer .footer-grid { grid-template-columns: 1fr; gap: 38px; text-align: left; }
  .site-footer .footer-column { align-items: flex-start; gap: 12px; }
  .site-footer .footer-column h3 { margin-bottom: 8px; }
  .site-footer .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; text-align: left; }
}

/* Final shared footer alignment */
@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 32px; }
  .site-footer .footer-brand { grid-column: 1 / -1; text-align: center; }
  .site-footer .footer-logo { margin-inline: auto; }
  .site-footer .footer-brand > p { margin-inline: auto; }
  .site-footer .footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 580px) {
  .site-footer { padding: 48px 20px 22px; }
  .site-footer .footer-grid { grid-template-columns: 1fr; gap: 34px; padding-bottom: 40px; text-align: center; }
  .site-footer .footer-brand,
  .site-footer .footer-contact { grid-column: auto; }
  .site-footer .footer-logo { justify-content: center; }
  .site-footer .footer-brand > p { max-width: 340px; margin: 24px auto 0; padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(4, 217, 255, 0.35); text-align: center; }
  .site-footer .footer-brand > p::before { position: static; display: block; margin-bottom: 10px; }
  .site-footer .footer-column { align-items: center; gap: 10px; text-align: center; }
  .site-footer .footer-column h3 { margin: 0 0 10px; }
  .site-footer .footer-column a { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; }
  .site-footer .footer-contact a,
  .site-footer .footer-contact p { justify-content: center; min-height: 38px; }
  .site-footer .footer-bottom { align-items: center; flex-direction: column; gap: 10px; text-align: center; }
  .site-footer .footer-bottom small,
  .site-footer .footer-bottom span { width: 100%; line-height: 1.6; }
  .venda-flow-footer .footer-brand > p { border-top-color: rgba(116, 240, 68, 0.35); }
  .leads-footer .footer-brand > p { border-top-color: rgba(148, 106, 255, 0.35); }
  .site-footer .footer-brand > p { display: none; }
}

/* RGB ribbon aligned with the main website footer */
.site-footer {
  position: relative;
  border-top-color: transparent;
}

.site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, #04d9ff, #375cff, #a83dff, #ff3864, #ffb52e, #36e79a, #04d9ff, #375cff, #a83dff);
  background-size: 300% 100%;
  box-shadow: 0 0 4px rgba(4, 217, 255, .3);
  animation: footerLedFlow 5s linear infinite;
}

@keyframes footerLedFlow {
  to { background-position: 100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer::before {
    animation: none;
    background: linear-gradient(90deg, #04d9ff, #823cff);
  }
}
