/** @format */

.section-contact-us {
  position: relative;
  overflow: hidden;
}

.has-footer-video {
  background-image: none !important;
}

/* Footer video background */
.footer-video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.footer-video-bg video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;
  display: block;
}

.has-footer-video > .container,
.has-footer-video > .bottom-contact-tn {
  position: relative;
  z-index: 1;
}

.heading-sm {
  font-family: Inter Tight;
  font-weight: 500;
  font-size: 60px;
  line-height: 1;
  color: #ffffff;
}

.sub-heading {
  font-family: "Arimo";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: #ffffff;
  max-width: 330px;
}

.title-infor {
  font-family: "Switzer";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #bdceff;
  margin-bottom: 15px;
}

.title-highlight {
  color: #c6a563;
}

.content-infor-tn,
.content-infor-tn a,
.content-infor-tn p {
  font-family: "Switzer";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #ffffff;
}

.wrap-contact-us {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: end;
  padding-bottom: 80px;
}

.wrap-heading-contact {
  max-width: 480px;
  margin-bottom: -100px;
}

.section-contact-us {
  padding: 80px 0 0;
  background-image: var(--bg-desktop);
  background-color: #020621;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.resources-section.section-case-studies {
  background-image: var(--bg-desktop);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-color: #01040d;
}

.section-contact-us .sub-heading {
  margin-top: 40px;
}

.title-form {
  color: #ffffff;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 24px;
}

.box-form-contact {
  width: 42.5%;
}

.box-content-contact {
  width: 57.5%;
  padding-top: 120px;
}

.list-infor-contact {
  display: flex;
  padding-top: 16px;
  max-width: 480px;

  border-top: 1px solid transparent;
  border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.04) 100%);
  border-image-slice: 1;
  margin-bottom: 40px;
  gap: 20px;
}

.item-infor-tn {
  flex: 1;
}

.body-form-contact {
  max-width: 480px;
}

.group-input {
  display: flex;
}

.group-submit {
  margin-top: 5px;
}

.group-input input {
  width: 100%;
  color: #ffffffcc;
}

.group-input input::placeholder,
.group-input textarea::placeholder {
  color: #ffffffcc;
}

.wrap-field {
  display: flex;
  gap: 10px;
  flex-direction: column;
}

.group-submit input {
  background: linear-gradient(90deg, #2d5ce0 0%, #0f45de 100%);
  gap: 10px;
  border-radius: 8px;
  font-size: 16px;
  line-height: 1.4;
  color: #ffffff;
  width: 100%;
  border-color: transparent;
}

.wrap-footer {
  display: flex;
  gap: 20px;
}

.logo-footer {
  width: 15.4%;
}

.logo-footer img {
  width: 100px;
}

.wrap-link-footer {
  width: 37%;
}

.wrap-link-footer ul {
  list-style: none;
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
}

.wrap-link-footer ul li {
  width: 50%;
}

.wrap-link-footer a,
.wrap-link-footer li {
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  color: #ffffff;
}

.wrap-link-footer li {
  padding-bottom: 22px;
}

.bottom-contact-tn {
  padding: 60px 0 24px;

  border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.04) 100%);
  border-image-slice: 1;
}

.wrap-form-footer {
  flex: 1;
  padding-left: 59px;
}

.wrap-form-footer .group-submit {
  margin-top: 0;
}

.link-bottom {
  display: flex;
  list-style: none;
  gap: 60px;
  width: 25%;
}

.link-bottom li {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: #ffffff;
}

.wrap-link-bottom {
  display: flex;
  gap: 20px;
  padding-top: 114px;
  align-items: center;
}

.copy-right {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: #ffffff;
  width: 47%;
  text-align: center;
}

.title-form-footer {
  font-family: "Inter Tight";
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: -0.02rem;
  color: #ffffff;
  margin-bottom: 39px;
  max-width: 312px;
  font-weight: 500;
}

.wrap-form-footer input {
  background: transparent;
  transition: background-color 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.wrap-form-footer input[type="submit"]:hover {
  background: linear-gradient(90deg, #2d5ce0 0%, #0f45de 100%);
}

.wrap-form-footer .group-input {
  flex: 1;
}

.wrap-form-footer .group-submit input {
  border: 1px solid #ffffff4d;
}

.wrap-form-footer .wrap-field {
  flex-direction: row;
  max-width: 372px;
  gap: 8px;
}

textarea {
  padding: 12px 24px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  color: #ffffffcc;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  width: 100%;
  height: 150px;
}

input {
  padding: 11px 23px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  font-family: "Switzer", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
}

.box-content-contact .btn {
  display: inline-flex;
  color: #ffffff;
}
.group-input .wpcf7-form-control-wrap {
    display:flex;
    flex-wrap:wrap;
}
.group-submit {
    position: relative;
}
.group-submit .wpcf7-spinner {
        position: absolute;
   right: 5px;
    top: 5px;
}

/* ── Gravity Forms overrides ── */
/* GF orbital theme has very high specificity; we match it with
   .gform-theme--framework chained selectors + !important           */

/* Hide labels on newsletter form only (placeholders handle it) */
.wrap-form-footer .gform-theme--framework .gfield_label,
.wrap-form-footer .gform-theme--framework .gform-field-label {
  display: none !important;
}

/* Style labels on contact form to match existing look */
.body-form-contact .gform-theme--framework .gfield_label,
.body-form-contact .gform-theme--framework .gform-field-label {
  display: none !important;
}

/* Confirmation message styling */
.gform_confirmation_message,
.gform_wrapper .gform_confirmation_message,
.gform-theme--framework .gform_confirmation_message {
  color: #ffffff !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.wrap-form-footer .gform_confirmation_message {
  color: #ffffff !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 14px !important;
  max-width: 372px !important;
}

.body-form-contact .gform_confirmation_message {
  color: #ffffff !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 18px !important;
}

/* Hide validation banner */
.gform-theme--framework .gform_validation_errors {
  display: none !important;
}

.gform-theme--framework .gfield_validation_message,
.gform-theme--framework .validation_message {
  color: #ff6b6b !important;
  font-size: 13px !important;
  padding: 4px 0 0 !important;
  background: none !important;
  border: none !important;
}

/* ── Newsletter form (footer + contact footer) ── */
.wrap-form-footer .gform_wrapper.gform-theme--framework {
  max-width: 372px !important;
}

/* Make the form element a flex row so body + footer sit side by side */
.wrap-form-footer .gform-theme--framework form {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  align-items: flex-start !important;
}

.wrap-form-footer .gform-theme--framework .gform-body,
.wrap-form-footer .gform-theme--framework .gform_body {
  flex: 1 !important;
  min-width: 0 !important;
}

.wrap-form-footer .gform-theme--framework .gform_fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  grid-template-columns: none !important;
}

.wrap-form-footer .gform-theme--framework .gfield {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  grid-column: unset !important;
}

.wrap-form-footer .gform-theme--framework .gform_footer,
.wrap-form-footer .gform-theme--framework .gform-footer {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  flex-shrink: 0 !important;
}

/* Hide the anchor div */
.wrap-form-footer .gform-theme--framework .gform_anchor {
  display: none !important;
}

.wrap-form-footer .gform-theme--framework input[type="email"],
.wrap-form-footer .gform-theme--framework input[type="text"] {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 8px !important;
  padding: 11px 23px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  width: 100% !important;
  height: auto !important;
  min-height: unset !important;
}

.wrap-form-footer .gform-theme--framework input::placeholder {
  color: rgba(255, 255, 255, 0.8) !important;
}

.wrap-form-footer .gform-theme--framework input[type="submit"],
.wrap-form-footer .gform-theme--framework button[type="submit"],
.wrap-form-footer .gform-theme--framework .gform_button,
.wrap-form-footer .gform-theme--framework .gform-button {
  background: var(--secondary-color, #c5a76c) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 8px !important;
  padding: 11px 23px !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  width: auto !important;
  min-height: unset !important;
  height: auto !important;
  transition: background-color 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

.wrap-form-footer .gform-theme--framework input[type="submit"]:hover,
.wrap-form-footer .gform-theme--framework button[type="submit"]:hover,
.wrap-form-footer .gform-theme--framework .gform_button:hover,
.wrap-form-footer .gform-theme--framework .gform-button:hover {
  background: linear-gradient(90deg, #2d5ce0 0%, #0f45de 100%) !important;
}

/* ── Contact page main form ── */
.body-form-contact .gform-theme--framework .gform_fields {
  grid-row-gap: 12px !important;
}

.body-form-contact .gform-theme--framework .gfield {
  padding: 0 !important;
}

.body-form-contact .gform-theme--framework input[type="text"],
.body-form-contact .gform-theme--framework input[type="email"],
.body-form-contact .gform-theme--framework input[type="tel"],
.body-form-contact .gform-theme--framework textarea,
.body-form-contact .gform-theme--framework select {
  background: rgba(255, 255, 255, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  width: 100% !important;
  height: auto !important;
  min-height: unset !important;
}

.body-form-contact .gform-theme--framework input::placeholder,
.body-form-contact .gform-theme--framework textarea::placeholder {
  color: rgba(255, 255, 255, 0.8) !important;
}

.body-form-contact .gform-theme--framework textarea {
  height: 150px !important;
  min-height: 150px !important;
}

.body-form-contact .gform-theme--framework input[type="submit"],
.body-form-contact .gform-theme--framework button[type="submit"],
.body-form-contact .gform-theme--framework .gform_button,
.body-form-contact .gform-theme--framework .gform-button {
  background: linear-gradient(90deg, #2d5ce0 0%, #0f45de 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 32px !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  min-height: unset !important;
  height: auto !important;
  width: auto !important;
  transition: opacity 0.3s ease !important;
}

.body-form-contact .gform-theme--framework input[type="submit"]:hover,
.body-form-contact .gform-theme--framework button[type="submit"]:hover,
.body-form-contact .gform-theme--framework .gform_button:hover,
.body-form-contact .gform-theme--framework .gform-button:hover {
  opacity: 0.9 !important;
}

.section-individual-case .article-header {
  display: flex;
  gap: 160px;
  justify-content: space-between;
  margin-bottom: 0;
}

.section-individual-case .article-title {
  width: calc(597 / 1000 * 100%);
}

.sm-container .container {
  max-width: 1032px;
}

.section-individual-case {
  padding-top: 60px;
}

.cate-label {
  font-family: "Inter Tight";
  font-weight: 600;
  letter-spacing: 0.01rem;
  color: #3461e1;
  margin-bottom: 24px;
  display: inline-block;
}

.btn-tn-topics {
  font-weight: 400;
  font-size: 14px;
  border: 1px solid #3461e166;
  background: #3461e126;
  display: inline-block;
  padding: 3px 6px;
  border-radius: 8px;
  margin-bottom: 15px;
  margin-left: 5px;
  margin-top: 11px;
}

.list-topics-tn {
  padding-left: 20px;
}

.list-topics-tn li,
.list-topics-tn a {
  font-weight: 400;
  font-size: 14px;
  color: #000;
}

.list-topics-tn li {
  padding-bottom: 10px;
}

.wrap-box-individual-case {
  display: flex;
  padding: 60px 0;
  gap: 95px;
  margin-top: 60px;
  border-image-source: linear-gradient(90deg, rgba(19, 35, 84, 0.04) 0%, rgba(19, 35, 84, 0.2) 50%, rgba(19, 35, 84, 0.04) 100%);
  border-top: 1px solid transparent;
  border-image-slice: 1;
}

.title-sm-tn {
  font-weight: 500;
  font-size: 24px;
  line-height: 1;
  color: #3461e1;
  margin-bottom: 24px;
}

.left-box-individual-case {
  width: calc(368 / 1000 * 100%);
}

.right-box-individual-case {
  flex: 1;
}

.container-box-card {
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 16px;
}

.box-card-individual-case {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 60px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0px 4px 8px 0px #95b0f91a;
  overflow: hidden;
  margin-bottom: 20px;
}

.box-card-individual-case::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(189, 206, 255, 0.6) 0%, rgba(189, 206, 255, 0) 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.item-box-card {
  padding-left: 20px;
  position: relative;
}

.item-box-card::before {
  position: absolute;
  background: linear-gradient(180deg, rgba(154, 177, 240, 0.1) 0%, #9ab1f0 100%);
  content: "";
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.tn-hightlight span {
  color: var(--main-color);
}

.title-relative-individual {
  max-width: 463px;
  font-family: "Inter Tight";
  font-weight: 500;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: 0.01rem;
  margin-bottom: 40px;
}

.relative-individual-case {
  padding: 60px 0 20px;
}

.section-individual-case .breadcrumb {
  margin-bottom: 60px;
}

.sm-container .article-content p {
  padding-right: 0;
}

.text-individual-case p,
.text-individual-case {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #020621;
}

.relative-individual-case .case-grid {
  grid-template-columns: repeat(2, 1fr);
  padding-right: 20px;
}

/* css home page  */
.wrap-section-intro {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  align-items: end;
  gap: 40px;
}

.left-section-intro {
  max-width: 481px;
  padding-right: 50px;
  padding-bottom: 10px;
}

.left-section-intro p {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
}

.what-we-do {
  padding-top: 84px;
  border-radius: 16px 16px 0 0;
  margin-top: -18px;
  z-index: 1;
  position: relative;
  background-color: #fff;
}

.left-section-intro .btn {
  margin-top: 32px;
}

.box-investigations img {
  max-width: 50px;
}

.box-investigations {
  background: #ffffff;

  box-shadow: 0px 4px 8px 0px #95b0f91a;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.list-investigations {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.box-investigations::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(189, 206, 255, 0.6) 0%, rgba(189, 206, 255, 0.3) 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.list-box-investigations {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.box-investigations {
  padding: 32px;
}

.main-box-investigations {
  background-color: #030a1a;
  justify-content: space-between;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
}

.box-investigations {
  display: flex;
  flex-direction: column;
  gap: 76px;
}

.header-icon {
  display: flex;
  justify-content: space-between;
}

.icon-arrow-box {
  width: 40px;
  height: 40px;
  transform: translate(10px, -10px);
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.box-investigations:hover .icon-arrow-box {
  transform: translate(16px, -16px);
}

.main-box-investigations .header-icon {
  justify-content: end;
}

.main-box-investigations::before {
  display: none;
}

.main-box-investigations .tite-investigations {
  color: #ffffff;
  font-family: "Inter Tight";
  font-weight: 500;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0.01rem;
  margin: 24px 0;
  max-width: 300px;
}

.main-box-investigations p {
  color: #ffffff;
}

.content-investigations p {
  max-width: 236px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #132354cc;
  transition: color 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  margin-bottom: 7px;
}

.box-investigations * {
  position: relative;
  z-index: 2;
}

.icon-arrow-box svg path {
  fill: #ebeffc;
}

.tite-investigations {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.01rem;
  color: #132354;
  transition: color 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  margin-bottom: 17px;
}

.main-box-investigations p {
  font-size: 20px;
  color: #ffffff;
  margin-bottom: 0;
  max-width: 300px;
}

.box-investigations:hover p {
  color: #ffffff;
}

.box-investigations:hover .tite-investigations {
  color: #ffffff;
}

.box-investigations::after {
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  background-image: url(../images/tn/bg-box.png);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  background-repeat: no-repeat;
  background-size: cover;
}

.box-investigations:hover::after {
  opacity: 1;
}

.main-box-investigations::after {
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgb(0 0 0 / 30%);
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* ── What We Do: Grid layout ── */
.wwd-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.wwd-grid__item {
  background: #ffffff;
  border-radius: 8px;
  padding: 32px;
  min-height: 292px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  box-shadow: 0px 93px 26px 0px rgba(149, 176, 249, 0), 0px 4px 8px 0px rgba(149, 176, 249, 0.1);
  transition: box-shadow 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  text-decoration: none;
  color: inherit;
}

.wwd-grid__item * {
  position: relative;
  z-index: 2;
}

/* Gradient border */
.wwd-grid__item::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(189, 206, 255, 0.6) 0%, rgba(189, 206, 255, 0.3) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}

/* Hover bg overlay */
.wwd-grid__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../images/tn/bg-box.png);
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  z-index: 0;
}

.wwd-grid__item:hover::after {
  opacity: 1;
}

.wwd-grid__arrow {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 40px;
  height: 40px;
  transform: translate(10px, -10px);
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.wwd-grid__arrow svg path {
  fill: #ebeffc;
  transition: fill 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.wwd-grid__item:hover .wwd-grid__arrow {
  transform: translate(16px, -16px);
}

.wwd-grid__item:hover .wwd-grid__arrow svg path {
  fill: #ffffff;
}

.wwd-grid__icon {
  width: 50px;
  height: 50px;
  margin-bottom: auto;
}

.wwd-grid__icon svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  transition: filter 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* All shapes hidden by default */
.wwd-grid__icon svg path,
.wwd-grid__icon svg circle,
.wwd-grid__icon svg line {
  opacity: 0;
}

/* Subtle hover glow on all icons */
.wwd-grid__item:hover .wwd-grid__icon svg,
.box-investigations:hover .wwd-grid__icon svg,
.services-grid__item:hover .wwd-grid__icon svg,
.wwd-grid__icon:hover svg {
  filter: drop-shadow(0 2px 8px rgba(52, 97, 225, 0.15));
}

/* ── Due Diligence: 3 squares cascade from stacked ── */
.icon-due-diligence svg path {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
}
.is-visible .icon-due-diligence svg path:nth-child(1) {
  animation: ddSquare1 1s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;
}
.is-visible .icon-due-diligence svg path:nth-child(2) {
  animation: ddSquare2 1s cubic-bezier(0.16,1,0.3,1) 0.5s forwards;
}
.is-visible .icon-due-diligence svg path:nth-child(3) {
  animation: ddSquare3 1s cubic-bezier(0.16,1,0.3,1) 0.7s forwards;
}
@keyframes ddSquare1 {
  0% { opacity: 0; transform: translate(7px, -7px) scale(0.95); }
  100% { opacity: 1; transform: translate(0,0) scale(1); }
}
@keyframes ddSquare2 {
  0% { opacity: 0; transform: translate(-7px, 7px) scale(0.95); }
  100% { opacity: 1; transform: translate(0,0) scale(1); }
}
@keyframes ddSquare3 {
  0% { opacity: 0; transform: scale(0.75); }
  100% { opacity: 1; transform: scale(1); }
}
/* Hover replay */
.wwd-grid__item:hover .icon-due-diligence svg path:nth-child(1),
.box-investigations:hover .icon-due-diligence svg path:nth-child(1),
.services-grid__item:hover .icon-due-diligence svg path:nth-child(1),
.icon-due-diligence:hover svg path:nth-child(1) {
  animation: ddSquare1H 0.8s cubic-bezier(0.16,1,0.3,1) forwards;
}
.wwd-grid__item:hover .icon-due-diligence svg path:nth-child(2),
.box-investigations:hover .icon-due-diligence svg path:nth-child(2),
.services-grid__item:hover .icon-due-diligence svg path:nth-child(2),
.icon-due-diligence:hover svg path:nth-child(2) {
  animation: ddSquare2H 0.8s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}
.wwd-grid__item:hover .icon-due-diligence svg path:nth-child(3),
.box-investigations:hover .icon-due-diligence svg path:nth-child(3),
.services-grid__item:hover .icon-due-diligence svg path:nth-child(3),
.icon-due-diligence:hover svg path:nth-child(3) {
  animation: ddSquare3H 0.8s cubic-bezier(0.16,1,0.3,1) 0.2s forwards;
}
@keyframes ddSquare1H {
  0% { opacity: 1; transform: translate(7px, -7px) scale(0.95); }
  100% { opacity: 1; transform: translate(0,0) scale(1); }
}
@keyframes ddSquare2H {
  0% { opacity: 1; transform: translate(-7px, 7px) scale(0.95); }
  100% { opacity: 1; transform: translate(0,0) scale(1); }
}
@keyframes ddSquare3H {
  0% { opacity: 1; transform: scale(0.75); }
  100% { opacity: 1; transform: scale(1); }
}

/* ── Investment Research: crosshatch grid fades in, dots pop ── */
.icon-investment-research svg line {
  opacity: 0;
}
.icon-investment-research svg circle {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}
/* Vertical lines fade in first */
.is-visible .icon-investment-research svg line:nth-child(1) {
  animation: irLine 0.7s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;
}
.is-visible .icon-investment-research svg line:nth-child(2) {
  animation: irLine 0.7s cubic-bezier(0.16,1,0.3,1) 0.45s forwards;
}
/* Horizontal lines follow */
.is-visible .icon-investment-research svg line:nth-child(3) {
  animation: irLine 0.7s cubic-bezier(0.16,1,0.3,1) 0.6s forwards;
}
.is-visible .icon-investment-research svg line:nth-child(4) {
  animation: irLine 0.7s cubic-bezier(0.16,1,0.3,1) 0.75s forwards;
}
@keyframes irLine {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* Dots pop in at intersections */
.is-visible .icon-investment-research svg circle:nth-child(5) {
  animation: irDot 0.8s cubic-bezier(0.16,1,0.3,1) 0.9s forwards;
}
.is-visible .icon-investment-research svg circle:nth-child(6) {
  animation: irDot 0.8s cubic-bezier(0.16,1,0.3,1) 1.05s forwards;
}
@keyframes irDot {
  0% { opacity: 0; transform: scale(0); }
  60% { opacity: 1; transform: scale(1.4); }
  100% { opacity: 1; transform: scale(1); }
}
/* Hover replay */
.wwd-grid__item:hover .icon-investment-research svg line:nth-child(1),
.box-investigations:hover .icon-investment-research svg line:nth-child(1),
.services-grid__item:hover .icon-investment-research svg line:nth-child(1),
.icon-investment-research:hover svg line:nth-child(1) {
  animation: irLineH 0.6s cubic-bezier(0.16,1,0.3,1) forwards;
}
.wwd-grid__item:hover .icon-investment-research svg line:nth-child(2),
.box-investigations:hover .icon-investment-research svg line:nth-child(2),
.services-grid__item:hover .icon-investment-research svg line:nth-child(2),
.icon-investment-research:hover svg line:nth-child(2) {
  animation: irLineH 0.6s cubic-bezier(0.16,1,0.3,1) 0.08s forwards;
}
.wwd-grid__item:hover .icon-investment-research svg line:nth-child(3),
.box-investigations:hover .icon-investment-research svg line:nth-child(3),
.services-grid__item:hover .icon-investment-research svg line:nth-child(3),
.icon-investment-research:hover svg line:nth-child(3) {
  animation: irLineH 0.6s cubic-bezier(0.16,1,0.3,1) 0.16s forwards;
}
.wwd-grid__item:hover .icon-investment-research svg line:nth-child(4),
.box-investigations:hover .icon-investment-research svg line:nth-child(4),
.services-grid__item:hover .icon-investment-research svg line:nth-child(4),
.icon-investment-research:hover svg line:nth-child(4) {
  animation: irLineH 0.6s cubic-bezier(0.16,1,0.3,1) 0.24s forwards;
}
.wwd-grid__item:hover .icon-investment-research svg circle,
.box-investigations:hover .icon-investment-research svg circle,
.services-grid__item:hover .icon-investment-research svg circle,
.icon-investment-research:hover svg circle {
  animation: irDotH 0.7s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;
}
@keyframes irLineH {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes irDotH {
  0% { opacity: 1; transform: scale(0); }
  60% { transform: scale(1.4); }
  100% { opacity: 1; transform: scale(1); }
}

/* ── Strategic Intelligence: bars grow by height, then trend line ── */
.icon-strategic-intelligence svg path:nth-child(1),
.icon-strategic-intelligence svg path:nth-child(2),
.icon-strategic-intelligence svg path:nth-child(3) {
  transform-box: fill-box;
  transform-origin: center bottom;
  opacity: 1;
  transform: scaleY(0);
}
.icon-strategic-intelligence svg path:nth-child(4) {
  stroke-dasharray: 40;
  stroke-dashoffset: 40;
  opacity: 1;
}
/* Shortest bar first (path3), then medium (path2), then tallest (path1) */
.is-visible .icon-strategic-intelligence svg path:nth-child(3) {
  animation: siGrow 0.7s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;
}
.is-visible .icon-strategic-intelligence svg path:nth-child(2) {
  animation: siGrow 0.7s cubic-bezier(0.16,1,0.3,1) 0.5s forwards;
}
.is-visible .icon-strategic-intelligence svg path:nth-child(1) {
  animation: siGrow 0.7s cubic-bezier(0.16,1,0.3,1) 0.7s forwards;
}
.is-visible .icon-strategic-intelligence svg path:nth-child(4) {
  animation: siLine 0.8s cubic-bezier(0.16,1,0.3,1) 1s forwards;
}
@keyframes siGrow {
  0% { transform: scaleY(0); }
  100% { transform: scaleY(1); }
}
@keyframes siLine {
  0% { stroke-dashoffset: 40; opacity: 0; }
  15% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}
/* Hover replay */
.wwd-grid__item:hover .icon-strategic-intelligence svg path:nth-child(3),
.box-investigations:hover .icon-strategic-intelligence svg path:nth-child(3),
.services-grid__item:hover .icon-strategic-intelligence svg path:nth-child(3),
.icon-strategic-intelligence:hover svg path:nth-child(3) {
  animation: siGrowH 0.6s cubic-bezier(0.16,1,0.3,1) forwards;
}
.wwd-grid__item:hover .icon-strategic-intelligence svg path:nth-child(2),
.box-investigations:hover .icon-strategic-intelligence svg path:nth-child(2),
.services-grid__item:hover .icon-strategic-intelligence svg path:nth-child(2),
.icon-strategic-intelligence:hover svg path:nth-child(2) {
  animation: siGrowH 0.6s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}
.wwd-grid__item:hover .icon-strategic-intelligence svg path:nth-child(1),
.box-investigations:hover .icon-strategic-intelligence svg path:nth-child(1),
.services-grid__item:hover .icon-strategic-intelligence svg path:nth-child(1),
.icon-strategic-intelligence:hover svg path:nth-child(1) {
  animation: siGrowH 0.6s cubic-bezier(0.16,1,0.3,1) 0.2s forwards;
}
.wwd-grid__item:hover .icon-strategic-intelligence svg path:nth-child(4),
.box-investigations:hover .icon-strategic-intelligence svg path:nth-child(4),
.services-grid__item:hover .icon-strategic-intelligence svg path:nth-child(4),
.icon-strategic-intelligence:hover svg path:nth-child(4) {
  animation: siLineH 0.7s cubic-bezier(0.16,1,0.3,1) 0.35s forwards;
}
@keyframes siGrowH {
  0% { transform: scaleY(0); }
  100% { transform: scaleY(1); }
}
@keyframes siLineH {
  0% { stroke-dashoffset: 40; }
  100% { stroke-dashoffset: 0; }
}

/* ── Compliance: circle appears → venn breaks out ── */
.icon-compliance svg circle {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
}
.icon-compliance svg path {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
}
.is-visible .icon-compliance svg circle {
  animation: compCircle 0.9s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;
}
.is-visible .icon-compliance svg path {
  animation: compVenn 1s cubic-bezier(0.16,1,0.3,1) 0.8s forwards;
}
@keyframes compCircle {
  0% { opacity: 0; transform: scale(0.7); }
  70% { transform: scale(1.04); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes compVenn {
  0% { opacity: 0; transform: scale(0.6); }
  100% { opacity: 1; transform: scale(1); }
}
/* Hover replay */
.wwd-grid__item:hover .icon-compliance svg circle,
.box-investigations:hover .icon-compliance svg circle,
.services-grid__item:hover .icon-compliance svg circle,
.icon-compliance:hover svg circle {
  animation: compCircleH 0.7s cubic-bezier(0.16,1,0.3,1) forwards;
}
.wwd-grid__item:hover .icon-compliance svg path,
.box-investigations:hover .icon-compliance svg path,
.services-grid__item:hover .icon-compliance svg path,
.icon-compliance:hover svg path {
  animation: compVennH 0.8s cubic-bezier(0.16,1,0.3,1) 0.2s forwards;
}
@keyframes compCircleH {
  0% { opacity: 1; transform: scale(0.7); }
  70% { transform: scale(1.04); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes compVennH {
  0% { opacity: 0; transform: scale(0.6); }
  100% { opacity: 1; transform: scale(1); }
}

/* ── Disputes & Investigations: circles twirl out from center ── */
.icon-disputes-investigations svg circle,
.icon-disputes-investigations svg path {
  transform-origin: 25px 25px;
  opacity: 0;
}
.is-visible .icon-disputes-investigations svg circle:nth-child(1) {
  animation: diTwirl1 1.1s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;
}
.is-visible .icon-disputes-investigations svg path:nth-child(2) {
  animation: diTwirl2 1.1s cubic-bezier(0.16,1,0.3,1) 0.5s forwards;
}
.is-visible .icon-disputes-investigations svg circle:nth-child(3) {
  animation: diTwirl3 1.1s cubic-bezier(0.16,1,0.3,1) 0.7s forwards;
}
.is-visible .icon-disputes-investigations svg path:nth-child(4) {
  animation: diFade 0.6s ease 1s forwards;
}
@keyframes diTwirl1 {
  0% { opacity: 0; transform: translate(6px, -6px) rotate(-120deg); }
  100% { opacity: 1; transform: translate(0,0) rotate(0deg); }
}
@keyframes diTwirl2 {
  0% { opacity: 0; transform: translate(-6px, -6px) rotate(120deg); }
  100% { opacity: 1; transform: translate(0,0) rotate(0deg); }
}
@keyframes diTwirl3 {
  0% { opacity: 0; transform: translate(0, 6px) rotate(-120deg); }
  100% { opacity: 1; transform: translate(0,0) rotate(0deg); }
}
@keyframes diFade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* Hover replay */
.wwd-grid__item:hover .icon-disputes-investigations svg circle:nth-child(1),
.box-investigations:hover .icon-disputes-investigations svg circle:nth-child(1),
.services-grid__item:hover .icon-disputes-investigations svg circle:nth-child(1),
.icon-disputes-investigations:hover svg circle:nth-child(1) {
  animation: diTwirl1H 0.9s cubic-bezier(0.16,1,0.3,1) forwards;
}
.wwd-grid__item:hover .icon-disputes-investigations svg path:nth-child(2),
.box-investigations:hover .icon-disputes-investigations svg path:nth-child(2),
.services-grid__item:hover .icon-disputes-investigations svg path:nth-child(2),
.icon-disputes-investigations:hover svg path:nth-child(2) {
  animation: diTwirl2H 0.9s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}
.wwd-grid__item:hover .icon-disputes-investigations svg circle:nth-child(3),
.box-investigations:hover .icon-disputes-investigations svg circle:nth-child(3),
.services-grid__item:hover .icon-disputes-investigations svg circle:nth-child(3),
.icon-disputes-investigations:hover svg circle:nth-child(3) {
  animation: diTwirl3H 0.9s cubic-bezier(0.16,1,0.3,1) 0.2s forwards;
}
.wwd-grid__item:hover .icon-disputes-investigations svg path:nth-child(4),
.box-investigations:hover .icon-disputes-investigations svg path:nth-child(4),
.services-grid__item:hover .icon-disputes-investigations svg path:nth-child(4),
.icon-disputes-investigations:hover svg path:nth-child(4) {
  animation: diFadeH 0.5s ease 0.35s forwards;
}
@keyframes diTwirl1H {
  0% { opacity: 1; transform: translate(6px, -6px) rotate(-120deg); }
  100% { opacity: 1; transform: translate(0,0) rotate(0deg); }
}
@keyframes diTwirl2H {
  0% { opacity: 1; transform: translate(-6px, -6px) rotate(120deg); }
  100% { opacity: 1; transform: translate(0,0) rotate(0deg); }
}
@keyframes diTwirl3H {
  0% { opacity: 1; transform: translate(0, 6px) rotate(-120deg); }
  100% { opacity: 1; transform: translate(0,0) rotate(0deg); }
}
@keyframes diFadeH {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* ── Talent Management: line shimmies across circle ── */
.icon-talent-management-executive-screening svg path,
.icon-talent-management-executive-screening svg circle,
.icon-talent-management-executive-screening svg line {
  opacity: 0;
}
.is-visible .icon-talent-management-executive-screening svg path,
.is-visible .icon-talent-management-executive-screening svg circle,
.is-visible .icon-talent-management-executive-screening svg line {
  animation: tmShimmy 1.2s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;
}
@keyframes tmShimmy {
  0% { opacity: 0; transform: translateX(-5px); }
  25% { opacity: 1; transform: translateX(4px); }
  50% { transform: translateX(-2px); }
  75% { transform: translateX(1px); }
  100% { opacity: 1; transform: translateX(0); }
}
.wwd-grid__item:hover .icon-talent-management-executive-screening svg path,
.wwd-grid__item:hover .icon-talent-management-executive-screening svg circle,
.wwd-grid__item:hover .icon-talent-management-executive-screening svg line,
.box-investigations:hover .icon-talent-management-executive-screening svg path,
.box-investigations:hover .icon-talent-management-executive-screening svg circle,
.box-investigations:hover .icon-talent-management-executive-screening svg line,
.services-grid__item:hover .icon-talent-management-executive-screening svg path,
.services-grid__item:hover .icon-talent-management-executive-screening svg circle,
.services-grid__item:hover .icon-talent-management-executive-screening svg line,
.icon-talent-management-executive-screening:hover svg path,
.icon-talent-management-executive-screening:hover svg circle,
.icon-talent-management-executive-screening:hover svg line {
  animation: tmShimmyH 1s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes tmShimmyH {
  0% { opacity: 1; transform: translateX(-5px); }
  25% { transform: translateX(4px); }
  50% { transform: translateX(-2px); }
  75% { transform: translateX(1px); }
  100% { opacity: 1; transform: translateX(0); }
}

/* ── Risk & Security: inner square pulses ── */
.icon-risk-security svg path,
.icon-risk-security svg circle,
.icon-risk-security svg rect {
  opacity: 0;
}
.is-visible .icon-risk-security svg path,
.is-visible .icon-risk-security svg circle,
.is-visible .icon-risk-security svg rect {
  animation: rsFadeIn 0.8s ease 0.3s forwards;
}
.is-visible .icon-risk-security svg *:nth-child(2) {
  animation: rsPulse 1.5s cubic-bezier(0.16,1,0.3,1) 0.6s forwards;
}
@keyframes rsFadeIn {
  0% { opacity: 0; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes rsPulse {
  0% { opacity: 0; transform: scale(0.7); }
  35% { opacity: 1; transform: scale(1.08); }
  65% { transform: scale(0.95); }
  100% { opacity: 1; transform: scale(1); }
}
.wwd-grid__item:hover .icon-risk-security svg *:nth-child(2),
.box-investigations:hover .icon-risk-security svg *:nth-child(2),
.services-grid__item:hover .icon-risk-security svg *:nth-child(2),
.icon-risk-security:hover svg *:nth-child(2) {
  animation: rsPulseH 1s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes rsPulseH {
  0% { opacity: 1; transform: scale(0.7); }
  35% { transform: scale(1.08); }
  65% { transform: scale(0.95); }
  100% { opacity: 1; transform: scale(1); }
}

/* ── Fallback: generic fade-in for any icon without a specific animation ── */
.wwd-grid__icon svg {
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1) 0.4s;
}
.is-visible .wwd-grid__icon svg {
  opacity: 1;
}

/* Fallback for <img> if non-SVG uploaded */
.wwd-grid__icon img {
  max-width: 50px;
  height: auto;
}

.wwd-grid__content {
}

.wwd-grid__title {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.01rem;
  color: #132354;
  transition: color 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  margin-bottom: 12px;
}

.wwd-grid__desc {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #132354cc;
  max-width: 280px;
  transition: color 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.wwd-grid__item:hover .wwd-grid__title,
.wwd-grid__item:hover .wwd-grid__desc {
  color: #ffffff;
}

/* CTA card */
.wwd-grid__cta {
  background: url('../images/tn/main-box-investigations.png') center / cover no-repeat;
  justify-content: flex-end;
  align-items: flex-start;
  border-color: transparent;
}

.wwd-grid__cta::before {
  display: none;
}

.wwd-grid__cta::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  z-index: 0;
  pointer-events: none;
}

.wwd-grid__cta:hover::after {
  opacity: 1;
}

.wwd-grid__cta .wwd-grid__title {
  color: #ffffff;
  margin-bottom: 0;
  text-align: left;
}

.wwd-grid__cta .wwd-grid__arrow {
  top: 32px;
  right: 32px;
}

.wwd-grid__cta .wwd-grid__arrow svg path {
  fill: #ffffff;
}

.wwd-grid__cta:hover {
  border-color: transparent;
}

@media (max-width: 1199px) {
  .wwd-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .wwd-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .wwd-grid__item {
    padding: 16px;
    min-height: auto;
  }

  .wwd-grid__arrow {
    top: 14px;
    right: 14px;
  }

  .wwd-grid__arrow svg {
    width: 24px;
    height: 24px;
  }

  .wwd-grid__icon {
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
  }

  .wwd-grid__title {
    font-size: 16px;
    margin-bottom: 6px;
  }

  .wwd-grid__desc {
    font-size: 14px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .wwd-grid__cta {
    padding: 20px 16px;
    min-height: 180px;
  }

  .wwd-grid__cta .wwd-grid__title {
    font-size: 16px;
  }
}

.list-box-hover {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.item-box-hover {
  position: relative;
  aspect-ratio: 355 / 440;
  overflow: hidden;
}

.content-box-hover:hover {
  max-height: 100%;
}

.content-box-hover {
  transition: max-height 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);
  max-height: 380px;
  height: 100%;
  position: absolute;
  inset: 0;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  border-radius: 8px;

  overflow: hidden;
}

.content-hover-tn {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #ffffff;
}

.content-hover-tn a {
  margin-top: 32px;
  display: inline-block;
}

.item-box-hover img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

.title-box-hover,
.content-hover-tn {
  z-index: 2;
  position: relative;
}

.title-box-hover {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.2;
  color: #ffffff;
  position: absolute;
  top: 32px;
  left: 32px;
  right: 32px;
  width: calc(100% - 64px);
  transform: translateY(calc(380px - 64px - 100%));
  transition: transform 0.7s cubic-bezier(0.25, 0.1, 0.25, 1),
              border-color 0.7s cubic-bezier(0.25, 0.1, 0.25, 1),
              padding-bottom 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);
  letter-spacing: 0.02rem;
}

.content-box-hover::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #13141b;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);
  pointer-events: none;
}

.content-box-hover::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 9, 34, 0) 0%, rgba(0, 9, 34, 0.6) 100%);
  top: 0;
  left: 0;
  opacity: 1;
  pointer-events: none;
  z-index: 1;
}

.content-box-hover:hover::after {
  opacity: 1;
}

.title-box-hover {
  border-bottom: 1px solid transparent;
  padding-bottom: 0;
}

.content-box-hover:hover .title-box-hover {
  transform: translateY(0);
  border-bottom-color: rgba(255, 255, 255, 0.4);
  padding-bottom: 16px;
  width: fit-content;
  max-width: 225px;
}

.content-hover-tn {
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) 0.15s;
}

.content-box-hover:hover .content-hover-tn {
  opacity: 1;
}

.wrap-measure-tn {
  display: flex;
  gap: 50px;
  align-items: center;
}

.title-measure {
  font-family: "Inter Tight";
  font-weight: 600;
  font-size: 80px;
  line-height: 1;
  color: #3461e1;
  margin-bottom: 5px;
}

.list-box-measure {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 54px 84px;
}

.item-measure {
  border-image-source: linear-gradient(90deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.04) 100%);
  border-top: 1px solid transparent;
  border-image-slice: 1;
  padding-top: 12px;
}

.section-measure .section-intro__title {
  margin-bottom: 100px;
}

.item-measure p {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
}

.section-measure {
  position: relative;
  padding-top: 16px;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

.wrap-measure-tn .section-intro__title {
  margin-top: 22px;
  letter-spacing: 1.5px;
}

.right-measure {
  flex: 0 0 55%;
  max-width: 55%;
}

.left-measure {
  width: 45%;
}

.marquee-tn {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.section-list-logo {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
}

.section-list-logo::after {
  content: "";
  width: 167px;
  height: 121px;
  right: 0;
  top: 50%;
  transform: translateY(-65%);
  position: absolute;
  backdrop-filter: blur(5px);
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
}

.section-list-logo::before {
  content: "";
  width: 167px;
  height: 121px;
  left: 0;
  top: 50%;
  transform: translateY(-65%);
  position: absolute;
  backdrop-filter: blur(5px);
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 100%);

  z-index: 2;
}

.marquee-track {
  display: flex;
  animation: scroll 20s linear infinite;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  width: max-content;
}

.marquee-group {
  display: flex;
  gap: 40px;
  flex-shrink: 0;
}

.marquee-tn img {
  height: 44px;
  width: auto;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}

.avatar-tn {
  width: 100px;
  height: 100px;
  margin: 0 auto;
  margin-bottom: 31px;
}

.content-testimonials-tn {
  font-family: "Inter Tight";
  font-weight: 500;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0.01rem;
  text-align: center;
  margin-bottom: 33px;
}

.postion {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  margin-top: 7px;
}

.content-testimonials-tn span {
  color: #3461e1;
}

.my-testimonials {
  max-width: 1233px;
}

.my-testimonials .swiper-slide {
  text-align: center;
  display: block !important;
}

.what-we-do .btn,
.hero-section .btn {
  display: inline-flex;
}

.section-testimonials .swiper-pagination {
  bottom: 0;
}

.section-testimonials .my-testimonials {
  padding-bottom: 34px;
  z-index: 99;
}

.hero-section-tn {
  min-height: var(--min-h, 920px);
}

.section-precision-matters {
  padding-top: 60px;
}

.section-precision-matters .left-section-intro {
  padding-right: 0px;
  padding-bottom: 6px;
}

.section-precision-matters .wrap-section-intro {
  margin-bottom: 58px;
}

.section-list-logo {
  padding-top: 40px;
  padding-bottom: 140px;
}

.insights-section.home-resources-section {
  background: #f9f9f9;
  margin-top: 0;
}

.home-resources-section .section-header {
  margin-bottom: 60px;
}

.resources-section.section-case-studies {
  padding-top: 202px;
}

.section-case-studies .section-intro__title {
  color: #fff;
}

.section-testimonials {
  background-color: #f9f9f9;
}

.home-resources-section .insight-card {
  background-color: #f9f9f9;
}

.right-overlook {
  width: calc(480 / 1480 * 100%);
  overflow: hidden;
  border: 8px;
}

.wrap-overlook {
  display: flex;
  gap: 40px;
  align-items: end;
}

.left-overlook {
  flex: 1;
}

.left-overlook .focus-areas-list {
  grid-template-columns: repeat(2, 1fr);
}

.left-overlook .btn {
  margin-top: 20px;
}

.left-overlook .focus-areas-item:last-child,
.left-overlook .focus-areas-item:nth-last-child(2) {
  border-bottom: none;
}

.section-overlook {
  padding-top: 60px;
}

.section-overlook .focus-areas-number {
  margin-bottom: 14px;
}

.section-overlook .focus-areas-item-title {
  margin-bottom: 11px;
}

.section-testimonials {
  padding-top: 60px;
}

footer .section-contact-us {
  padding-top: 52px;
}

footer .box-content-contact .btn-primary {
  display: none;
}

footer .box-content-contact .list-infor-contact:last-of-type {
  margin-bottom: 0;
}

footer .wrap-form-footer .group-submit input {
  background-color: var(--secondary-color);
  color: #ffffff;
}

.section-case-studies .section-header {
  max-width: 376px;
}

.section-case-studies .section-header p {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #ffffff;
}

.section-case-studies .section-intro__title {
  margin-bottom: 42px;
}

.section-case-studies .section-title {
  margin-top: 62px;
  color: #ffffff;
}

.section-case-studies .section-title--reports {
  margin-bottom: 44px;
}

.list-card-hero-tn {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.title-card-hero {
  margin-bottom: 20px;
}

.item-card-hero {
  background: #f3f6ff;
  padding: 42px 24px 24px;
  position: relative;
  align-content: end;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  display: block;
}

.hero-section-industries .hero-content .content {
  max-width: 450px;
  margin-bottom: 56px;
}

.hero-section-industries .hero-title {
  line-height: 1;
  margin-bottom: 22px;
  letter-spacing: 0em;
}

.hero-section-industries .hero-title span {
  color: #bdceff;
}

.item-card-hero p {
  font-weight: 500;
  font-size: 20px;
  line-height: 120%;
  color: #132354;
  position: relative;
  z-index: 2;
}

.item-card-hero img {
  position: absolute;
  height: 100%;
  max-width: 174px;
  top: 0;
  object-position: left center;
  right: 0;
}

.header-industries img {
  max-width: 100px;
  object-fit: contain;
}

.item-industries-tn {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  scroll-margin-top: 120px;
}

.item-industries-tn:nth-child(even) .box-content-industries {
  background-color: #3461e1;
}

.hero-section-industries {
  padding-bottom: 60px;
}

.box-content-industries {
  margin-top: 88px;
  padding: 40px 40px 60px;
  background: #132354;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.right-industries {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  display: flex;
  flex-direction: column;
  background-image: var(--bg-desktop);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

.right-industries::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.78);
  border-radius: inherit;
  z-index: 0;
  pointer-events: none;
}

.right-industries > * {
  position: relative;
  z-index: 1;
}

.title-second-industries {
  max-width: 260px;
  margin-bottom: 0px;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.01rem;
}

.wrap-list-industries {
  gap: 120px;
  display: flex;
  flex-direction: column;
}

.title-second-industries span {
  color: #3461e1;
}

.title-box-content {
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.01rem;
  color: #fff;
}

.list-signals li {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.4;
  color: #ffffff;
}

.title-box-content {
  margin-bottom: 40px;
}

.header-industries {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  align-items: start;
  gap: 10px;
}

.right-industries {
  padding: 40px;
}

.section-list-industries {
  padding: 120px 0 80px;
  margin-top: -20px;
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 8px;
}

.list-rosettiStarr,
.list-signals {
  list-style: none;
}

.list-signals li,
.list-rosettiStarr li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px;
  padding-left: 0;
}

.list-signals li:last-child,
.list-rosettiStarr li:last-child {
  margin-bottom: 0;
}

.list-signals li::before {
  display: block;
  width: 22px;
  min-width: 22px;
  height: 22px;
  content: "";
  flex-shrink: 0;
  margin-top: 3px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDIyQzEzLjMxMzUgMjIuMDAxNiAxNC42MTQzIDIxLjc0MzcgMTUuODI3OCAyMS4yNDExQzE3LjA0MTIgMjAuNzM4NCAxOC4xNDM0IDIwLjAwMDkgMTkuMDcxIDE5LjA3MUMyMC4wMDA5IDE4LjE0MzQgMjAuNzM4NCAxNy4wNDEyIDIxLjI0MTEgMTUuODI3OEMyMS43NDM3IDE0LjYxNDMgMjIuMDAxNiAxMy4zMTM1IDIyIDEyQzIyLjAwMTYgMTAuNjg2NiAyMS43NDM3IDkuMzg1NzIgMjEuMjQxMSA4LjE3MjI1QzIwLjczODQgNi45NTg3OCAyMC4wMDA5IDUuODU2NTkgMTkuMDcxIDQuOTI5MDFDMTguMTQzNCAzLjk5OTA5IDE3LjA0MTIgMy4yNjE2MiAxNS44Mjc4IDIuNzU4OTdDMTQuNjE0MyAyLjI1NjMxIDEzLjMxMzUgMS45OTgzOSAxMiAyLjAwMDAxQzEwLjY4NjYgMS45OTgzOSA5LjM4NTcyIDIuMjU2MzEgOC4xNzIyNSAyLjc1ODk3QzYuOTU4NzggMy4yNjE2MiA1Ljg1NjU5IDMuOTk5MDkgNC45MjkwMSA0LjkyOTAxQzMuOTk5MDkgNS44NTY1OSAzLjI2MTYyIDYuOTU4NzggMi43NTg5NyA4LjE3MjI1QzIuMjU2MzEgOS4zODU3MiAxLjk5ODM5IDEwLjY4NjYgMi4wMDAwMSAxMkMxLjk5ODM5IDEzLjMxMzUgMi4yNTYzMSAxNC42MTQzIDIuNzU4OTcgMTUuODI3OEMzLjI2MTYyIDE3LjA0MTIgMy45OTkwOSAxOC4xNDM0IDQuOTI5MDEgMTkuMDcxQzUuODU2NTkgMjAuMDAwOSA2Ljk1ODc4IDIwLjczODQgOC4xNzIyNSAyMS4yNDExQzkuMzg1NzIgMjEuNzQzNyAxMC42ODY2IDIyLjAwMTYgMTIgMjJaIiBzdHJva2U9InVybCgjcGFpbnQwX2xpbmVhcl8xMzY2XzEzOTU2KSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMiAxNi4yNUMxMi4yNjUyIDE2LjI1IDEyLjUxOTUgMTYuMzU1NCAxMi43MDcgMTYuNTQzQzEyLjg5NDYgMTYuNzMwNSAxMyAxNi45ODQ4IDEzIDE3LjI1QzEzIDE3LjUxNTIgMTIuODk0NiAxNy43Njk1IDEyLjcwNyAxNy45NTdDMTIuNTE5NSAxOC4xNDQ2IDEyLjI2NTIgMTguMjUgMTIgMTguMjVDMTEuNzM0OCAxOC4yNSAxMS40ODA1IDE4LjE0NDYgMTEuMjkzIDE3Ljk1N0MxMS4xMDU0IDE3Ljc2OTUgMTEgMTcuNTE1MiAxMSAxNy4yNUMxMSAxNi45ODQ4IDExLjEwNTQgMTYuNzMwNSAxMS4yOTMgMTYuNTQzQzExLjQ4MDUgMTYuMzU1NCAxMS43MzQ4IDE2LjI1IDEyIDE2LjI1WiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzEzNjZfMTM5NTYpIiBzdHJva2U9InVybCgjcGFpbnQyX2xpbmVhcl8xMzY2XzEzOTU2KSIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4KPHBhdGggZD0iTTEyIDZWMTRWNloiIGZpbGw9InVybCgjcGFpbnQzX2xpbmVhcl8xMzY2XzEzOTU2KSIvPgo8cGF0aCBkPSJNMTIgNlYxNCIgc3Ryb2tlPSJ1cmwoI3BhaW50NF9saW5lYXJfMTM2Nl8xMzk1NikiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMTM2Nl8xMzk1NiIgeDE9IjEyIiB5MT0iMiIgeDI9IjEyIiB5Mj0iMjIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiIHN0b3Atb3BhY2l0eT0iMC42Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0JEQ0VGRiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfMTM2Nl8xMzk1NiIgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMiIgeTI9IjE4LjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiIHN0b3Atb3BhY2l0eT0iMC42Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0JEQ0VGRiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50Ml9saW5lYXJfMTM2Nl8xMzk1NiIgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMiIgeTI9IjE4LjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiIHN0b3Atb3BhY2l0eT0iMC42Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0JEQ0VGRiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50M19saW5lYXJfMTM2Nl8xMzk1NiIgeDE9IjEyLjUiIHkxPSI2IiB4Mj0iMTIuNSIgeTI9IjE0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IndoaXRlIiBzdG9wLW9wYWNpdHk9IjAuNiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNCRENFRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDRfbGluZWFyXzEzNjZfMTM5NTYiIHgxPSIxMi41IiB5MT0iNiIgeDI9IjEyLjUiIHkyPSIxNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwLjYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQkRDRUZGIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.list-rosettiStarr li::before {
  display: block;
  width: 16px;
  min-width: 16px;
  height: 16px;
  content: "";
  flex-shrink: 0;
  margin-top: 4px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjMgMy4zTDYgMTAuNkwyLjcgNy4zQzIuMyA2LjkgMS43IDYuOSAxLjMgNy4zQzAuOSA3LjcgMC45IDguMyAxLjMgOC43TDUuMyAxMi43QzUuNSAxMi45IDUuNyAxMyA2IDEzQzYuMyAxMyA2LjUgMTIuOSA2LjcgMTIuN0wxNC43IDQuN0MxNS4xIDQuMyAxNS4xIDMuNyAxNC43IDMuM0MxNC4zIDIuOSAxMy43IDIuOSAxMy4zIDMuM1oiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.list-rosettiStarr-icon-blue li::before,
.right-industries .list-rosettiStarr li::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjMgMy4zTDYgMTAuNkwyLjcgNy4zQzIuMyA2LjkgMS43IDYuOSAxLjMgNy4zQzAuOSA3LjcgMC45IDguMyAxLjMgOC43TDUuMyAxMi43QzUuNSAxMi45IDUuNyAxMyA2IDEzQzYuMyAxMyA2LjUgMTIuOSA2LjcgMTIuN0wxNC43IDQuN0MxNS4xIDQuMyAxNS4xIDMuNyAxNC43IDMuM0MxNC4zIDIuOSAxMy43IDIuOSAxMy4zIDMuM1oiIGZpbGw9IiMzNDYxRTEiLz4KPC9zdmc+");
}

.box-label-tn {
  box-shadow: 0px 93px 26px 0px #95b0f900;
  border: 1px solid;
  border-image-source: linear-gradient(0deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 100%);
  background: #c6a563;
  backdrop-filter: blur(20px);
  border-radius: 8px;
  display: flex;
  gap: 28px;
  padding: 28px 24px;
  align-items: center;
  margin-top: auto;
}

.number-label {
  color: #ffffff;
  font-family: "Aeonik TRIAL";
  font-weight: 600;
  font-size: 70px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.stat-number {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

.text-label-tn {
  color: #ffffff;
  font-weight: 400;
}

.section-list-industries .section-intro__title {
  margin-bottom: 23px;
}

.subtitle-industries {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #000;
}

.section-tn-cta-confidential .section-intro {
  max-width: 737px;
}

.contact-us-page {
    padding-top: 171px;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 1199px) {
  .title-measure {
    font-size: 60px;
  }

  .content-box-hover {
    padding: 24px;
  }

  .title-box-hover {
    top: 24px;
    left: 24px;
    right: 24px;
    width: calc(100% - 24px);
    transform: translateY(calc(320px - 64px - 100%));
  }
}

@media (max-width: 1024px) {

  .heading-sm,
  .stats__value {
    font-size: 50px;
  }

  .title-box-hover {
    transform: translateY(calc(380px - 64px - 100%));
  }

  .item-box-hover {
    max-height: 450px;
    width: 100%;
    aspect-ratio: 355 / 400;
  }

  .section-individual-case .article-header {
    gap: 40px;
  }

  .title-relative-individual {
    font-size: 44px;
  }

  .relative-individual-case .case-grid {
    padding-right: 0;
  }

  .hero-content .banner-title {
    font-size: calc(var(--font-s)/2 + 20px);
    line-height: 1.12;
  }



  .list-investigations {
    grid-template-columns: repeat(1, 1fr);
  }

  .wrap-overlook {
    flex-direction: column;
    gap: 25px;
  }

  .right-overlook {
    width: 100%;
  }

  .section-precision-matters {
    padding-top: 20px;
  }

  .list-box-hover {
    grid-template-columns: repeat(2, 1fr);
  }

  .right-measure {
    position: relative;
    top: auto;
    transform: none;
  }

  .section-list-logo {
    padding-bottom: 80px;
  }

  .content-testimonials-tn {
    font-size: 36px;
  }

  .title-measure,
  .number-label {
    font-size: 40px;
  }

  .list-box-measure {
    gap: 40px;
  }

  .section-measure .section-intro__title {
    margin-bottom: 40px;
  }

  .hero-section-industries .hero-title {
    font-size: 62px;
  }

  .list-card-hero-tn {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-section-industries {
    padding-top: 146px;
  }

  .right-industries {
    padding: 40px 24px;
  }

  .box-content-industries {
    padding: 40px 20px;
  }

  .list-signals li,
  .list-rosettiStarr li {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .text-label-tn {
    font-size: 16px;
  }

  .title-box-content {
    margin-bottom: 32px;
  }

  .box-label-tn {
    padding: 20px 15px;
    gap: 15px;
  }

  .header-industries {
    margin-bottom: 20px;
  }

  .title-second-industries,
  .title-box-content {
    font-size: 28px;
  }

  .wrap-list-industries {
    gap: 80px;
  }

  .list-rosettiStarr {
    margin-bottom: 20px;
  }

  .header-industries img {
    max-width: 80px;
  }

  .wrap-form-footer {
    padding-left: 0;
  }

  .wrap-link-bottom {
    padding-top: 80px;
  }
}

@media (max-width: 767px) {
  .wrap-contact-us {
    flex-direction: column;
    align-items: start;
    padding-bottom: 27px;
  }

  .left-overlook .btn-primary {
    width: 100%;
  }

  .box-content-contact {
    width: 100%;
    order: 2;
    padding-top: 38px;
    border-bottom: 1px solid transparent;
    border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.04) 100%);
    border-image-slice: 1;
  }

  .bottom-contact-tn {
    padding-top: 33px;
  }

  .box-form-contact {
    width: 100%;
  }

  .list-infor-contact,
  .body-form-contact,
  .content-box-hover:hover .title-box-hover {
    max-width: 100%;
  }

  .wrap-heading-contact {
    margin-bottom: 37px;
    max-width: 376px;
  }

  .list-infor-contact {
    padding-top: 24px;
  }

  .wrap-heading-contact .heading-sm {
    line-height: 1.1;
  }

  .section-contact-us .sub-heading {
    margin-top: 25px;
    line-height: 1.4;
  }

  .title-form {
    display: none;
  }

  .group-input input,
  .group-submit input {
    padding: 13px 23px;
  }

  .item-infor-tn {
    width: 40%;
    flex: inherit;
  }

  .item-infor-tn:first-child {
    width: 60%;
  }

  .list-infor-contact {
    margin-bottom: 22px;
  }

  .heading-sm {
    font-size: 40px;
    line-height: 1.1;
  }

  .heading-sm,
  .stats__value,
  .hero-section-industries .hero-title {
    font-size: 40px;
  }

  .wrap-footer,
  .wrap-link-bottom {
    flex-direction: column;
  }

  .wrap-form-footer {
    order: -1;
    position: relative;
  }

  .wrap-form-footer,
  .wrap-link-footer,
  .logo-footer {
    width: 100%;
  }

  .logo-footer {
    display: flex;
    justify-content: center;
    margin-top: 34px;
    padding-top: 40px;
    margin-bottom: 32px;
    border-top: 1px solid transparent;
    border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.04) 100%);
    border-image-slice: 1;
    position: relative;
    z-index: 1;
  }

  .wrap-link-footer ul {
    gap: 0 21vw;
    padding: 0 23px;
  }

  .wrap-link-footer ul li {
    width: calc(50% - 10.5vw);
  }

  .title-form-footer {
    line-height: 1.1;
    margin-bottom: 32px;
  }

  .wrap-form-footer input {
    padding: 11px 23px;
  }

  .wrap-link-footer li {
    padding-bottom: 27px;
  }

  .link-bottom {
    width: 100%;
    gap: 21vw;
  }

  .wrap-link-bottom {
    padding: 56px 20px 0;
    align-items: center;
    gap: 30px;
  }

  .link-bottom li {
    flex: 1;
  }

  .wrap-form-footer::after {
    position: absolute;
    width: 100%;
    height: 240px;
    left: 0px;
    top: 0;
    background: rgba(52, 97, 225, 0.8);
    filter: blur(90.4px);
    content: "";
    pointer-events: none;
    z-index: 0;
  }

  .wrap-form-footer * {
    position: relative;
    z-index: 2;
  }

  .wrap-form-footer .group-submit input {
    background-color: var(--secondary-color);
    color: #ffffff;
  }

  .wrap-form-footer .group-submit input:hover {
    background-color: var(--blue-color);
  }

  .section-contact-us,
  .resources-section.section-case-studies {
    background-image: var(--bg-mobile);
  }

  .section-individual-case .article-header {
    flex-direction: column;
    gap: 0;
  }

  .section-individual-case .article-title {
    width: 100%;
    margin-bottom: 12px;
  }

  .section-individual-case {
    padding-top: 33px;
    padding-bottom: 30px;
  }

  .cate-label {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .section-individual-case .breadcrumb {
    margin-bottom: 56px;
  }

  .btn-tn-topics {
    margin-left: 0px;
  }

  .list-topics-tn {
    padding-left: 15px;
  }

  .wrap-box-individual-case {
    margin-top: 32px;
    flex-direction: column;
    padding: 32px 0;
    gap: 38px;
  }

  .left-box-individual-case,
  .hero-content__right {
    width: 100%;
  }

  .text-individual-case p,
  .text-individual-case {
    font-size: 20px;
  }

  .title-sm-tn {
    margin-bottom: 33px;
  }

  .box-card-individual-case {
    padding: 47px 0;
  }

  .container-box-card {
    padding: 0;
  }

  .item-box-card::before {
    display: none;
  }

  .item-box-card {
    padding: 0 16px;
  }

  .title-relative-individual {
    font-size: 40px;
    margin-bottom: 30px;
  }

  .relative-individual-case .case-grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .hero-content,
  .wrap-section-intro {
    flex-direction: column;
    align-items: start;
  }

  .hero-content__right .btn {
    display: inline-flex !important;
    width: 100%;
    padding: 13px 23px;
  }

  .hero-content .banner-title {
    font-size: var(--font-s-mobile);
    line-height: 1.15;
  }

  .stats__divider {
    order: -1;
    width: 100%;
  }

  .hero-content .stats {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 25px 16px;
    margin-bottom: 40px;
  }

  /* 
  .hero-content .content {
    margin-bottom: 58px;
  } */

  .stats__label,
  .item-measure p {
    font-size: 14px;
  }

  .stats__item {
    width: calc(50% - 10px);
  }

  .list-box-investigations {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 15px;
  }

  .main-box-investigations .tite-investigations {
    font-size: 24px;
  }

  .main-box-investigations p {
    font-size: 16px;
  }

  .left-overlook .focus-areas-list {
    grid-template-columns: repeat(1, 1fr);
  }

  .list-box-hover {
    grid-template-columns: repeat(1, 1fr);
  }

  .item-box-hover {
    aspect-ratio: 408 / 300;
  }

  .hero-section-tn {
    min-height: var(--min-h-mb, 850px);
  }

  .hero-section {
    padding-bottom: 65px;
  }

  .what-we-do {
    padding-top: 44px;
  }

  .wrap-section-intro {
    gap: 32px;
    margin-bottom: 32px;
  }

  .left-section-intro {
    padding: 0;
  }

  .main-box-investigations .tite-investigations {
    margin: 18px 0;
  }

  .box-investigations {
    gap: 60px;
  }

  .content-investigations p {
    margin-bottom: 0;
  }

  .section-overlook {
    padding-top: 20px;
  }

  .section-overlook .focus-areas-number {
    float: left;
    width: 10.1%;
  }

  .section-overlook .focus-areas-item-title,
  .section-overlook .focus-areas-item-desc {
    float: right;
    width: 89.9%;
  }

  .section-overlook .focus-areas-item {
    border-bottom: 0px solid transparent;
    border-top: 1px solid transparent !important;
    padding: 28px 0 20px;
  }

  .section-overlook .section-intro {
    margin-bottom: 30px;
  }

  .section-overlook .focus-areas-item-title {
    margin-bottom: 18px;
  }

  .section-precision-matters .wrap-section-intro {
    margin-bottom: 25px;
  }

  .title-box-hover {
    transform: inherit;
    position: relative;
    width: 100% !important;
    left: inherit;
    top: inherit;
    right: inherit;
  }

  .content-box-hover {
    max-height: 100%;
    align-items: start;
    padding: 24px;
  }

  .content-hover-tn {
    opacity: 1;
  }

  .content-hover-tn p {
    opacity: 0;
    height: 0;
    overflow: hidden;
    margin-top: 10px;
    transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  }

  .content-hover-tn a {
    margin-top: 16px;
  }

  .content-box-hover:hover p {
    opacity: 1;
    height: auto;
  }

  .wrap-measure-tn {
    flex-direction: column;
    align-items: start;
    gap: 30px;
  }

  .left-measure,
  .right-measure {
    width: 100%;
    max-width: 100%;
    flex: none;
  }

  .section-measure {
    padding-top: 32px;
  }

  .section-measure .section-intro__title {
    margin-top: 12px;
    margin-bottom: 38px;
  }

  .item-measure {
    padding-top: 24px;
  }

  .title-measure {
    margin-bottom: 17px;
  }

  .list-box-measure {
    gap: 20px 8px;
  }

  .right-measure {
    width: calc(100% + 32px);
    margin-left: -16px;
    margin-right: -16px;
  }

  .section-measure {
    padding-bottom: 5px;
  }

  .section-list-logo {
    padding-bottom: 58px;
  }

  .insights-section.home-resources-section {
    padding-top: 44px;
  }

  .content-testimonials-tn {
    font-size: 24px;
  }

  .section-testimonials {
    padding-top: 34px;
    padding-bottom: 72px;
  }

  .main-footer .section-contact-us {
    padding-top: 42px;
  }

  .resources-section.section-case-studies {
    padding-top: 144px;
    padding-bottom: 50px;
  }

  .section-case-studies .section-intro__title {
    margin-bottom: 20px;
  }

  .section-case-studies .section-title--reports,
  .list-rosettiStarr {
    margin-bottom: 40px;
  }

  .list-card-hero-tn,
  .item-industries-tn {
    grid-template-columns: repeat(1, 1fr);
  }

  .item-card-hero {
    min-height: 114px;
  }

  .right-industries {
    background-image: var(--bg-mb);
  }

  .section-list-industries .section-intro__title {
    font-size: 32px;
    padding: 0 16px;
    line-height: 1;
    margin-bottom: 15px;
  }

  .section-list-industries {
    padding: 40px 0 80px;
  }

  .box-content-industries {
    margin-top: 32px;
    min-height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .title-box-content {
    font-size: 22px;
    padding-left: 0;
    line-height: 1.2;
    margin-bottom: 24px;
  }

  .list-signals li,
  .list-rosettiStarr li {
    font-size: 16px;
    gap: 10px;
  }

  .list-signals li::before {
    width: 18px;
    min-width: 18px;
    height: 18px;
  }

  .section-list-industries .container {
    padding: 0;
  }

  .subtitle-industries {
    padding: 0 16px;
  }

  footer .box-content-contact .list-infor-contact:last-of-type {
    margin-bottom: 22px;
  }

  .number-label {
    font-size: 54px;
    line-height: 1;
  }

  .box-label-tn {
    flex-direction: column;
    align-items: start;
    padding: 21px 24px;
    gap: 20px;
  }

  .wrap-list-industries {
    gap: 40px;
  }

  .hero-section-industries .hero-content .content {
    margin-bottom: 38px;
  }

  .list-card-hero-tn {
    gap: 16px;
  }

  .hero-section-industries {
    padding-bottom: 50px;
  }

  .list-signals li,
  .list-rosettiStarr li {
    margin-bottom: 16px;
  }

  .item-industries-tn {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .title-second-industries {
    font-size: 20px;
    max-width: none;
    padding-left: 0;
  }

  .right-industries {
    padding: 32px 16px;
    border-radius: 0;
  }

  .header-industries img {
    max-width: 60px;
  }

  .header-industries {
    align-items: center;
    margin-bottom: 24px;
  }

  .list-rosettiStarr li::before {
    width: 14px;
    min-width: 14px;
    height: 14px;
  }

  .box-content-industries {
    margin-top: 40px;
    padding: 32px 16px 40px;
  }

  .section-tn-cta-confidential .cta-confidential {
    height: 100%;
  }

  .section-tn-cta-confidential .cta-confidential__note {
    margin-top: auto;
  }

  .section-tn-cta-confidential .section-intro {
    height: 100%;
    flex: 1;
  }

  .box-investigations:nth-child(even)::after {
    opacity: 1;
  }

  .box-investigations:nth-child(even) .tite-investigations,
  .box-investigations:nth-child(even) .content-investigations p {
    color: #fff;
  }
  .contact-us-page {
    padding-top: 137px;
  }
}

/* ── Case study singles: header, wide-screen anchor, body type ───── */

/* Title spans full width; topics stack underneath as inline pills. */
.section-individual-case .article-header {
  display: block;
  margin-bottom: 0;
}

.section-individual-case .article-title {
  width: 100%;
  max-width: 100%;
  font-size: 64px;
  line-height: 1.05;
  margin-bottom: 24px;
}

/* Topics row: small uppercase label + inline pills, all on one line. */
.section-individual-case .article-topic-tn {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  width: auto;
}

.section-individual-case .btn-tn-topics {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  font-family: 'Inter Tight', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--main-color);
}

.section-individual-case .list-topics-tn {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.section-individual-case .list-topics-tn li {
  list-style: none;
  background: rgba(52, 97, 225, 0.08);
  color: var(--main-color);
  font-family: 'Switzer';
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  padding: 8px 14px;
  border-radius: 999px;
}

/* On wide screens, expand the page container so content stops feeling
   marooned in the middle. Inner reading column on insights stays
   capped at 720px so this only loosens the header / case-study layout. */
@media (min-width: 1400px) {
  .sm-container .container,
  .container-box-card {
    max-width: 1240px;
  }

  .section-individual-case .article-title {
    font-size: 72px;
  }
}

@media (min-width: 1700px) {
  .sm-container .container,
  .container-box-card {
    max-width: 1360px;
  }
}

/* ── Case study body content (.case-study-body) ──────────────────── */
/* Scoped so it doesn't bleed into insights or generic article-content. */

.case-study-body {
  font-family: 'Switzer';
  color: var(--font-color);
}

.case-study-body > p:first-of-type::first-letter {
  float: left;
  font-family: 'Inter Tight', serif;
  font-weight: 600;
  font-size: 78px;
  line-height: 0.9;
  color: var(--main-color);
  padding: 6px 14px 0 0;
  margin-top: 4px;
}

.case-study-body p {
  font-family: 'Switzer';
  font-weight: 400;
  font-size: 19px;
  line-height: 1.7;
  color: var(--font-color);
  margin: 0 0 24px;
  padding-right: 0;
}

.case-study-body h2 {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 36px;
  line-height: 1.15;
  color: var(--primary-color);
  margin: 64px 0 24px;
  padding-left: 22px;
  position: relative;
  letter-spacing: -0.005em;
}

.case-study-body h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 5px;
  border-radius: 5px;
  background: var(--main-color);
}

.case-study-body h3 {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.25;
  color: var(--primary-color);
  margin: 48px 0 18px;
}

.case-study-body h4 {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 21px;
  line-height: 1.3;
  color: var(--primary-color);
  margin: 36px 0 12px;
}

.case-study-body ul,
.case-study-body ol {
  margin: 0 0 24px;
  padding-left: 26px;
}

.case-study-body li {
  font-family: 'Switzer';
  font-weight: 400;
  font-size: 19px;
  line-height: 1.7;
  color: var(--font-color);
  margin-bottom: 10px;
}

.case-study-body li::marker {
  color: var(--main-color);
}

.case-study-body a {
  color: var(--main-color);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.case-study-body a:hover {
  color: var(--blue-color);
}

/* Embedded WYSIWYG images: editors can drop one in via the visual
   editor's Add Media button — it'll render full-bleed within the
   reading column with rounded corners, an off-white frame, and a
   centered caption. */
.case-study-body p:has(> img:only-child) {
  margin: 40px 0;
  text-align: center;
}

.case-study-body img,
.case-study-body figure {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 36px 0;
  display: block;
  box-shadow: 0 4px 24px rgba(19, 35, 84, 0.08);
}

.case-study-body figure img {
  margin: 0;
  box-shadow: none;
  border-radius: 12px;
}

.case-study-body figure {
  box-shadow: none;
  background: transparent;
}

.case-study-body figcaption,
.case-study-body .wp-caption-text {
  font-family: 'Switzer';
  font-size: 14px;
  color: rgba(19, 35, 84, 0.6);
  margin-top: 10px;
  text-align: center;
}

.case-study-body .alignleft {
  float: left;
  margin: 8px 32px 24px 0;
  max-width: 50%;
}

.case-study-body .alignright {
  float: right;
  margin: 8px 0 24px 32px;
  max-width: 50%;
}

.case-study-body .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

/* Pullquote / blockquote */
.case-study-body blockquote {
  margin: 40px 0;
  padding: 28px 32px;
  border-left: 4px solid var(--main-color);
  background: rgba(52, 97, 225, 0.06);
  border-radius: 0 12px 12px 0;
  font-family: 'Inter Tight', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.4;
  color: var(--primary-color);
}

.case-study-body blockquote p {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
}

.case-study-body hr {
  border: none;
  height: 1px;
  background: rgba(19, 35, 84, 0.12);
  margin: 56px 0;
}

@media (max-width: 1024px) {
  .section-individual-case .article-title {
    font-size: 48px;
  }

  .case-study-body h2 {
    font-size: 30px;
    margin-top: 48px;
  }

  .case-study-body h3 {
    font-size: 22px;
    margin-top: 36px;
  }
}

@media (max-width: 767px) {
  /* Tighter mobile case study header: smaller title, tighter
     spacing, topics rendered as inline pills. */
  .section-individual-case {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .section-individual-case .breadcrumb {
    margin-bottom: 28px;
  }

  .section-individual-case .article-header {
    margin: 0;
  }

  .section-individual-case .article-title {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 20px;
    width: 100%;
  }

  /* Topics: collapse the label + bullet list into a single
     row of inline pills so it doesn't burn vertical space. */
  .section-individual-case .article-topic-tn {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-top: 8px;
  }

  .section-individual-case .btn-tn-topics {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--main-color);
  }

  .section-individual-case .list-topics-tn {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .section-individual-case .list-topics-tn li {
    list-style: none;
    background: rgba(52, 97, 225, 0.08);
    color: var(--main-color);
    font-family: 'Switzer';
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    padding: 7px 12px;
    border-radius: 999px;
  }

  .case-study-body > p:first-of-type::first-letter {
    font-size: 58px;
    padding-right: 10px;
  }

  .case-study-body p,
  .case-study-body li {
    font-size: 17px;
    line-height: 1.65;
  }

  /* Bigger paragraph margin on mobile so breaks read clearly
     between long, full-width paragraphs. */
  .case-study-body p {
    margin-bottom: 30px;
  }

  .case-study-body li {
    margin-bottom: 14px;
  }

  .case-study-body h2 {
    font-size: 24px;
    margin: 40px 0 16px;
    padding-left: 14px;
  }

  .case-study-body h2::before {
    width: 3px;
  }

  .case-study-body h3 {
    font-size: 20px;
    margin: 32px 0 12px;
  }

  .case-study-body img,
  .case-study-body figure {
    margin: 24px 0;
    border-radius: 10px;
  }

  .case-study-body .alignleft,
  .case-study-body .alignright {
    float: none;
    max-width: 100%;
    margin: 24px 0;
  }

  .case-study-body blockquote {
    padding: 20px;
    font-size: 18px;
    margin: 28px 0;
  }
}