.site-footer {
  display: block;
  padding: clamp(3.5rem, 8vw, 8rem) clamp(1.5rem, 5.8vw, 5.75rem);
  background: #000;
  color: #fff;
}

.footer-content {
  display: grid;
  grid-template-columns: minmax(180px, 0.9fr) minmax(180px, 0.8fr) minmax(360px, 1.55fr);
  gap: clamp(2.5rem, 6vw, 7.5rem);
  align-items: start;
  width: min(100%, 1380px);
  margin: 0 auto;
}

.site-footer > .footer-content:first-child img {
  filter: none;
  width: auto;
  margin-bottom: 0;
}

.site-footer h2 {
  margin: 0;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: clamp(1.05rem, 1.55vw, 1.55rem);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.footer-links nav {
  display: grid;
  gap: clamp(0.75rem, 1.15vw, 1.25rem);
  margin-top: clamp(1.4rem, 2.1vw, 2.1rem);
}

.footer-links nav a {
  color: #f8f8f8;
  font-size: clamp(0.9rem, 1.3vw, 1.28rem);
  line-height: 1.1;
  text-decoration: none;
}

.footer-links nav a:hover { color: #db1515; }

.footer-tresun-lockup {
  display: inline-block;
  margin-top: clamp(4rem, 7vw, 7rem);
  text-decoration: none;
}

.footer-tresun-logo {
  display: block;
  width: clamp(8.5rem, 12vw, 12.5rem);
  height: auto;
  margin: 0;
}

.site-footer > .footer-content:first-child .footer-tresun-logo { width: clamp(8.5rem, 12vw, 12.5rem); }

.footer-social {
  display: flex;
  min-height: clamp(17rem, 27vw, 25rem);
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}

.footer-social-icons {
  display: flex;
  gap: clamp(0.75rem, 1.05vw, 1.05rem);
  margin-top: clamp(1rem, 1.6vw, 1.65rem);
}

.footer-social-icons a {
  display: grid;
  width: clamp(1.25rem, 1.7vw, 1.75rem);
  height: clamp(1.25rem, 1.7vw, 1.75rem);
  place-items: center;
}

.footer-social-icons img { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-footer > .footer-content:first-child .footer-social-icons img { width: 100%; }

.footer-main-website {
  display: grid;
  justify-items: center;
  text-decoration: none;
}

.footer-main-website img {
  display: block;
  width: clamp(6.2rem, 8.5vw, 8.5rem);
  height: auto;
  object-fit: contain;
}
.site-footer > .footer-content:first-child .footer-main-website img { width: clamp(6.2rem, 8.5vw, 8.5rem); }

.footer-video-card { display: block; align-self: center; width: 100%; }
.footer-video-card img { display: block; width: 100%; height: auto; }
.site-footer > .footer-content:first-child .footer-video-card img { width: 100%; }

@media (max-width: 800px) {
  .site-footer { padding: 3.5rem 1.5rem; }
  .footer-content { grid-template-columns: 1fr; gap: 3rem; }
  .footer-social { min-height: 14rem; }
  .footer-video-card { max-width: 37rem; }
}
.floating-contact{padding:0;background:transparent;box-shadow:none}
.floating-contact{gap:.75rem}.floating-contact a,.floating-contact button{width:46px;height:46px}.floating-contact a:first-child{position:relative;overflow:visible}.floating-contact a:first-child::before{content:"";position:absolute;z-index:-1;inset:0;border-radius:50%;background:#19c913}
.floating-contact a:first-child{overflow:hidden}.floating-contact a:first-child img{transform:scale(1.05)}
.floating-contact{gap:12px}.floating-contact a,.floating-contact button{width:53px;height:54px}.floating-contact a:first-child{overflow:visible}.floating-contact a::before,.floating-contact a::after{display:none}.floating-contact img{width:100%;height:100%;object-fit:contain;transform:none!important}
.floating-contact button{position:relative;border:0;background:transparent;padding:0}.floating-wechat-qr{position:absolute;right:calc(100% + 12px);top:50%;width:170px;padding:12px;border-radius:10px;background:#fff;color:#222;box-shadow:0 8px 28px rgba(0,0,0,.2);font:600 13px/1.4 Arial,sans-serif;text-align:center;transform:translateY(-50%) translateX(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}.floating-wechat-qr img{display:block;width:146px!important;height:146px!important;object-fit:contain;margin:auto}.floating-contact button:hover .floating-wechat-qr,.floating-contact button:focus-visible .floating-wechat-qr,.floating-contact button[aria-expanded="true"] .floating-wechat-qr{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0);pointer-events:auto}@media(max-width:700px){.floating-wechat-qr{right:calc(100% + 8px);width:145px}.floating-wechat-qr img{width:121px!important;height:121px!important}}@media(prefers-reduced-motion:reduce){.floating-wechat-qr{transition:none}}
.floating-contact .floating-back-to-top{display:grid;width:53px;height:54px;place-items:center;border-radius:50%;background:#ef4b3e;box-shadow:0 6px 16px rgba(32,32,32,.16);transition:background-color .2s ease,transform .2s ease}.floating-contact .floating-back-to-top svg{display:block;width:21px;height:21px;fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.floating-contact .floating-back-to-top:hover{background:#d94034;transform:translateY(-2px)}.floating-contact .floating-back-to-top:focus-visible{outline:3px solid #1596d1;outline-offset:3px}@media(max-width:700px){.floating-contact .floating-back-to-top{width:44px;height:44px}.floating-contact .floating-back-to-top svg{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){.floating-contact .floating-back-to-top{transition:none}}

/* Keep the back-to-top control independent from the vertically centered contact toolbar. */
.floating-back-to-top { position: fixed; right: 20px; bottom: 100px; z-index: 19; display: grid; width: 54px; height: 54px; padding: 0; border: 0; place-items: center; background: transparent; }
.floating-back-to-top img { display: block; width: 100%; height: 100%; object-fit: contain; }
.floating-back-to-top:hover { transform: translateY(-2px); }
.floating-back-to-top:focus-visible { outline: 3px solid #1596d1; outline-offset: 3px; }
@media (max-width: 700px) { .floating-back-to-top { width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .floating-back-to-top { transition: none; } }
