/* Shared site footer — used across all TVL pages */
:root {
  --footer-top: 5073px;
  --footer-height: 683px;
}

.site-footer {
  position: absolute;
  left: 0;
  width: 100%;
  top: var(--footer-top);
  height: var(--footer-height);
  z-index: 2;
  background-color: #1e1e1e;
  background-image:
    linear-gradient(
      180deg,
      #1e1e1e 0%,
      rgba(30, 30, 30, 0.92) 38%,
      rgba(30, 30, 30, 0.72) 100%
    ),
    url("../../img/b8570.png");
  background-repeat: no-repeat, no-repeat;
  background-position: center bottom, center bottom;
  /* Shorter image + dark wash = softer red glow */
  background-size: 100% 100%, 100% 68%;
  color: #fff;
}

.site-footer__brand {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  top: 331px;
  width: 400px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  z-index: 3;
}

.site-footer__logo {
  position: static;
  width: 232px;
  height: 58px;
  object-fit: contain;
}

.site-footer__tagline {
  position: static;
  margin: 0;
  width: 100%;
  max-width: 400px;
  font-family: var(--font-light);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.39;
}

.site-footer__cta {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  min-height: 35px;
  padding: 6px 18px;
  border-radius: 348px;
  background: var(--color-primary);
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  box-sizing: border-box;
}

.site-footer__cta img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  object-fit: contain;
}

.site-footer__col {
  position: absolute;
  top: 331px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  z-index: 3;
}

.site-footer__col--links {
  left: calc(var(--gutter) + 565px);
  width: 430px;
}

.site-footer__col--connect {
  left: calc(var(--gutter) + 1045px);
  width: 280px;
}

.site-footer__heading {
  position: static;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.site-footer__heading--connect {
  color: var(--color-light);
}

.site-footer__dot {
  position: static;
  width: 9px;
  height: 9px;
  flex-shrink: 0;
}

.site-footer__links {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: max-content;
  max-width: 100%;
}

.site-footer__links-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}

.footer-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 14px;
  border-radius: 144px;
  background: rgba(235, 235, 235, 0.1);
  font-family: var(--font-light);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  color: #fff;
  white-space: nowrap;
}

.site-footer__contact {
  position: static;
  width: 100%;
  font-family: var(--font-light);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
}

.site-footer__contact p {
  margin: 0 0 17px;
}

.site-footer__contact p:last-child {
  width: 100%;
  margin-bottom: 0;
}

.site-footer__divider {
  position: absolute;
  z-index: 3;
  left: 50%;
  transform: translateX(-50%);
  top: 575px;
  width: 1200px;
  height: 1px;
}

.site-footer__divider img {
  width: 100%;
  height: 1px;
}

.site-footer__bottom {
  position: absolute;
  z-index: 3;
  left: calc(var(--gutter) + 87px);
  right: calc(var(--gutter) + 107px);
  top: 591px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 61px;
}

.site-footer__bottom-logo {
  position: static;
  height: 61px;
  flex-shrink: 0;
}

.site-footer__bottom-social {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 61px;
}

.site-footer__bottom-social-link {
  display: block;
  flex-shrink: 0;
  width: 51px;
  height: 61px;
  background-image: url("../../img/6a0c0.png");
  background-repeat: no-repeat;
  /* Sprite order: Facebook, Instagram, X, YouTube (omitted), LinkedIn */
  background-size: 255px 61px;
  transition: opacity 0.2s ease;
}

.site-footer__bottom-social-link:hover,
.site-footer__bottom-social-link:focus-visible {
  opacity: 0.82;
}

.site-footer__bottom-social-link--facebook {
  background-position: 0 0;
}

.site-footer__bottom-social-link--instagram {
  background-position: -51px 0;
}

.site-footer__bottom-social-link--twitter {
  background-position: -102px 0;
}

.site-footer__bottom-social-link--linkedin {
  background-position: -204px 0;
}

.site-footer__copyright {
  position: static;
  margin: 0;
  font-family: var(--font-light);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.235;
  white-space: nowrap;
}

.site-footer__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  min-width: 0;
}

.site-footer__legal {
  position: static;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  font-family: var(--font-light);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.72);
}

.site-footer__legal a {
  color: inherit;
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
  color: #fff;
}

.site-footer__legal-dot {
  opacity: 0.5;
}

/* Start Project contact form — field labels (all pages) */
.contact-form-card .field label {
  margin-left: 2px;
}

.contact-form-card select[name="service"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%231e1e1e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px;
}

.contact-form-card select[name="service"]:focus,
.contact-form-card select[name="service"].is-open {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%231e1e1e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 7.5 6 4.5 9 7.5'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  /* Sizing/layout overrides — mobile-responsive.css loads before this file */
  .site-footer {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 44px var(--gutter, 20px) 36px;
    background-color: #1e1e1e;
    /* One surface on mobile — avoid footer-bg.png band (looked like two cards) */
    background-image: linear-gradient(
      180deg,
      #1e1e1e 0%,
      #1e1e1e 70%,
      #221a1a 88%,
      #261414 100%
    );
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 100%;
  }

  .site-footer__brand,
  .site-footer__col,
  .site-footer__logo,
  .site-footer__tagline,
  .site-footer__cta,
  .site-footer__heading,
  .site-footer__dot,
  .site-footer__links,
  .site-footer__contact,
  .site-footer__divider,
  .site-footer__bottom,
  .site-footer__bottom-logo,
  .site-footer__copyright,
  .site-footer__legal,
  .site-footer__meta {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: 100%;
  }

  .site-footer__dot {
    display: none;
  }

  .site-footer__brand {
    width: 100% !important;
    gap: 0;
  }

  .site-footer__col {
    width: 100% !important;
    gap: 0;
  }

  .site-footer__heading {
    white-space: normal;
  }

  .site-footer__logo {
    width: 130px !important;
    height: auto !important;
    margin-bottom: 12px;
  }

  .site-footer__tagline {
    margin: 0 0 calc(16px + 0.5em) !important;
    max-width: 22em;
    line-height: 1.5;
  }

  .site-footer__heading {
    margin: 0 0 10px;
    font-size: var(--tvl-m-body) !important;
    line-height: 1.25 !important;
  }

  .site-footer__heading--connect {
    margin-top: 22px;
  }

  .site-footer__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    margin: 0;
  }

  .site-footer__links-row {
    display: contents;
  }

  .footer-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    height: 30px;
    min-height: 30px;
    padding: 0 14px;
    font-size: var(--tvl-m-label) !important;
    line-height: 1.25;
    white-space: nowrap;
    text-align: center;
    box-sizing: border-box;
  }

  .site-footer__contact {
    width: 100%;
    margin: 0;
    font-size: var(--tvl-m-body) !important;
    line-height: 1.3 !important;
  }

  .site-footer__contact p {
    margin: 0 0 4px !important;
    width: auto !important;
  }

  .site-footer__contact p:last-child {
    margin-bottom: 0 !important;
  }

  .site-footer__bottom-social {
    flex-wrap: wrap;
    gap: 10px;
  }

  .site-footer__bottom-social-link {
    min-width: 51px;
    min-height: 61px;
    background-size: 255px 61px;
  }

  .site-footer__bottom-social-link--instagram {
    background-position: -51px 0;
  }

  .site-footer__bottom-social-link--twitter {
    background-position: -102px 0;
  }

  .site-footer__bottom-social-link--linkedin {
    background-position: -204px 0;
  }

  .site-footer__cta {
    align-self: flex-start;
    margin-bottom: 32px;
    min-height: 44px;
    padding: 10px 20px;
  }

  .site-footer__divider {
    width: 100%;
    margin: 32px 0 20px;
  }

  .site-footer__divider img {
    width: 100%;
  }

  .site-footer__bottom {
    width: 100% !important;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .site-footer__bottom-logo {
    width: 100%;
    margin: 0;
  }

  .site-footer__meta {
    width: 100%;
    align-items: center;
  }

  .site-footer__bottom-social {
    justify-content: center;
    padding: 4px 0;
  }

  .site-footer__copyright {
    width: 100%;
    margin: 18px 0 0;
    text-align: center;
    white-space: normal;
    font-size: var(--tvl-m-label);
    opacity: 0.88;
  }

  .site-footer__legal {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    margin: 10px 0 0;
    text-align: center;
  }

  /* ——— Contact block (all pages — matches Work mobile) ——— */
  :is([class$="-page"], .solution-page, .landing-page) > .section-contact-wrap,
  .section-contact-wrap {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100%;
    padding: 0 var(--gutter, var(--tvl-gutter, 20px)) !important;
    margin-top: 0;
    overflow: visible;
    box-sizing: border-box;
  }

  :is([class$="-page"], .solution-page, .landing-page) > .section-contact-wrap {
    margin-bottom: 40px;
  }

  :is([class$="-page"], .solution-page, .landing-page) > [data-site-footer] {
    margin-top: 0;
  }

  .section-contact-wrap::before {
    display: none !important;
    height: 0 !important;
  }

  .section-contact-wrap__title,
  .section-contact-wrap__subtitle {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100%;
    white-space: normal !important;
    text-align: left !important;
    padding: 0;
    margin: 0 0 16px;
    font-size: var(--tvl-m-h2) !important;
    line-height: 1.15 !important;
  }

  .section-contact-wrap__subtitle {
    font-size: var(--tvl-m-body) !important;
    line-height: 1.45 !important;
    margin-bottom: 16px;
  }

  .section-contact {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    height: auto !important;
    width: 100% !important;
    padding: 0 !important;
    margin-top: 0 !important;
    overflow: visible;
  }

  .section-contact__gradient,
  .section-contact__texture {
    display: none !important;
  }

  .contact-panel {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
  }

  .contact-panel__shell,
  .contact-panel__mask {
    display: none !important;
  }

  .contact-form-card {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    order: 1;
    width: 100% !important;
    height: auto !important;
    margin: 0;
    padding: 20px 16px;
    box-sizing: border-box;
  }

  .contact-panel__character {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    order: 2;
    width: min(100%, 280px) !important;
    height: auto !important;
    max-width: 280px;
    margin: 20px auto 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0;
    overflow: visible;
  }

  .contact-panel__character img {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    max-height: none;
    margin-top: 0 !important;
    object-fit: contain !important;
    object-position: center bottom;
  }

  .contact-form-card input,
  .contact-form-card select,
  .contact-form-card textarea {
    font-size: var(--tvl-m-body);
  }

  /* Case studies — load last so page-level desktop absolutes cannot win on mobile */
  .case-studies-stack-active .case-study-pin,
  .case-study-pin {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    visibility: visible !important;
  }

  .case-studies-stack-active .case-study-stack,
  .case-study-stack {
    height: auto !important;
    transform: none !important;
  }

  .case-study,
  .case-study--titan,
  .case-study--tanishq,
  .case-study--tata {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    overflow: visible !important;
  }

  .case-study--titan .case-study__media,
  .case-study--tanishq .case-study__media,
  .case-study--tata .case-study__media,
  .case-study__media-zoom {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  .case-study--titan .case-study__media img,
  .case-study--tanishq .case-study__media img,
  .case-study--tata .case-study__media img,
  .case-study__media img {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    object-fit: cover;
  }
}
