/* Footer Styles */
.site-footer {
  width: 100%;
  background: #E5DECE;
}

.footer-inner {
  position: relative;
  height: 321px;
  padding: 0;
}

/* Desktop Layout - Default */
.footer-desktop {
  display: block;
}

.footer-logo {
  position: absolute;
  left: 11px;
  top: 5px;
}

.footer-left-links {
  position: absolute;
  left: 188px;
  top: 56px;
  width: 184px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.210227;
}

.footer-right-links {
  position: absolute;
  left: 690px;
  top: 56px;
  width: auto;
  display: flex;
  flex-direction: column;
  gap: 39px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.210227;
  color: #4c4c49;
}

.footer-link {
    width: fit-content;
    text-decoration: underline;
    color: #020202;
    font-family: "Inter-Medium";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    transition: font-weight 0.1s ease;
}

.footer-link:hover {
  font-weight: 700;
}

.footer-link.dim {
  text-decoration-color: rgba(76, 76, 73, 0.4);
}

.footer-link.strong {
  text-decoration-color: rgba(40, 40, 38, 0.4);
}

.footer-social {
  position: absolute;
  top: 60px;
  display: inline-flex;
  height: 35px;
  width: 35px;
  align-items: center;
  justify-content: center;
}

.footer-social.linkedin {
  left: 1162px;
}

.footer-social.x {
  left: 1110px;
  top: 62px;
  height: 32px;
  width: 32px;
}

.footer-copy {
  position: absolute;
  left: 786px;
  top: 247px;
  width: 333px;
  text-align: right;
  font-size: 14px;
  line-height: 1.245227;
  color: #4c4c49;
}

nav.footer-right-links a {
    color: #282826;
    font-family: "Inter-Medium";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

/* Responsive Footer Styles - Tablet Layout */
@media (max-width: 1235px) and (min-width: 768px) {
  .footer-inner {
    height: 461px;
    padding: 30px;
    position: relative;
  }
  
  /* Hide desktop logo and show tablet text logo */
  .footer-logo {
    display: none;
  }
  
  .footer-desktop::before {
    content: "PRECISE.";
    position: absolute;
    left: 30px;
    top: 30px;
    font-family: "Vanilla Bold";
    font-size: 48px;
    font-weight: 800;
    color: #282826;
    text-transform: uppercase;
  }
  
  /* Update left links content and positioning */
  .footer-left-links {
    left: 30px;
    top: 166px;
    gap: 62px;
    font-size: 18px;
    line-height: 1.21;
    width: 184px;
  }
  
  .footer-left-links .footer-link {
    color: #282826;
    text-decoration-color: rgba(40, 40, 38, 0.4);
  }
  
  /* Update right links positioning and content */
  .footer-right-links {
    left: 366px;
    top: 166px;
    gap: 56px;
    font-size: 18px;
    line-height: 1.21;
    color: #4C4C49;
    width: 168px;
  }
  
  .footer-right-links .footer-link {
    font-size: 16px;
    color: #4C4C49;
    text-decoration-color: rgba(76, 76, 73, 0.4);
  }
  
  /* Reposition social icons to bottom right area */
  .footer-social.linkedin {
    right: 115px;
    left: auto;
    bottom: 65px;
    top: auto;
  }
  
  .footer-social.x {
    right: 65px;
    left: auto;
    bottom: 65px;
    top: auto;
  }
  
  /* Reposition copyright to bottom right, below social icons */
  .footer-copy {
    right: 30px;
    left: auto;
    bottom: 30px;
    top: auto;
    width: 333px;
    text-align: right;
  }
}

/* Mobile responsive styles */
@media (max-width: 767px) {
  .footer-inner {
    height: auto;
    padding: 40px 20px;
    position: static;
  }

  /* Desktop positions every footer block absolutely against .footer-inner. On
     mobile the whole thing becomes a two-column grid in normal flow, so no
     block is left stranded at a desktop coordinate -- .footer-middle-links,
     .footer-socials and .footer-description previously kept their absolute
     positions here, leaving the middle column off-screen at left:385px (which
     is what gave the page its horizontal scroll). */
  .footer-desktop {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 28px;
    align-items: start;
  }

  .footer-desktop::before {
    content: "PRECISE.";
    grid-column: 1 / -1;
    position: static;
    display: block;
    margin: 0;
    font-family: "Vanilla Bold";
    font-size: 36px;
    font-weight: 800;
    color: #282826;
    text-transform: uppercase;
  }

  .footer-logo {
    display: none;
  }

  /* Left + middle sit side by side as the two link columns; the third nav
     holds the longest labels, so it spans the full width underneath. */
  .footer-left-links,
  nav.footer-middle-links,
  .footer-right-links {
    position: static;
    left: auto;
    top: auto;
    width: auto;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 0;
  }

  .footer-right-links {
    grid-column: 1 / -1;
  }

  .footer-left-links .footer-link,
  .footer-middle-links .footer-link,
  .footer-right-links .footer-link {
        color: #020202;
        font-family: "Inter-Medium";
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
  }

  .footer-socials,
  .footer-bbr,
  .footer-description {
    grid-column: 1 / -1;
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
  }

  .footer-socials {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .footer-social {
    position: static;
    margin: 0;
  }

  .footer-description-title {
    margin: 0 0 12px;
    font-family: "Inter-Bold", "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: #282826;
  }

  .footer-copy {
    position: static;
    text-align: left;
    width: auto;
    margin-top: 32px;
  }
}
/* About Us Body Section Styles */
.about-body-section {
  width: 100%;
  background: #ffffff;
}
.about-description p:nth-child(1), .about-description p:last-child {
    font-family: 'Inter-Bold';
}

.about-banner {
  width: 100%;
  height: 342px;
  background-color: #282826;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}

.about-banner-title {
  font-family: 'Vanilla Bold';
  font-size: 64px;
  font-weight: 400;
  color: #E5DECE;
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 1;
}

/* .about-content-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 50px 0 50px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
} */

.about-text-content {
  margin-top: 50px;
  margin-bottom: 50px;
  width: 100%;
  max-width: 607px;
  margin-left: min(26.3%, 337px);
  margin-right: auto;
}

.about-heading {
  font-family: 'Vanilla Bold';
  font-size: 51px;
  font-weight: 400;
  color: #282826;
  margin: 0 0 30px 0;
  line-height: 1.125;
  text-align: left;
}

.about-description {
  font-family:  "Inter-Regular";
  font-size: 16px;
  font-weight: 400;
  color: #282826;
  line-height: 1.5;
  max-width: 607px;
}

.about-description p {
  margin: 0 0 15px 0;
  font-family:  "Inter-Regular";
}

.about-description p:last-child {
  margin-bottom: 0;
}

.about-description strong {
  font-weight: 700;
}

.about-images-grid {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  max-width: 607px;
  width: 100%;
  margin-left: min(26.3%, 337px);
  margin-right: auto;
      margin-bottom: 50px;
}

.about-image-item {
  height: 58px;
  width: 58px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 0;
}

.about-image-item img {
  width: 100%;
  height: 100%;
  /* object-fit: cover; */
  display: block;
}
.about-image-item:nth-child(5) {
  width: fit-content;
}
.about-image-item:nth-child(4) {
  width: fit-content;
}

.about-image-item:nth-child(6) {
  width: fit-content;
}

/* Responsive About Section - Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  .about-content-wrapper {
    padding: 100px 40px 60px;
  }
  
  .about-text-content {
    margin-left: 60px;
  }
  
  .about-images-grid {
    margin-left: 60px;
  }
  
  .about-banner-title {
    font-size: 60px;
  }
  
  .about-heading {
    font-size: 40px;
    margin-bottom: 60px;
  }
  
  .about-description {
    font-size: 16px;
  }
}

/* Responsive About Section - Mobile */
@media (max-width: 767px) {
  .about-banner {
    height: 200px;
  }
  
  .about-banner-title {
    font-size: 40px;
  }
  
  .about-content-wrapper {
    padding: 60px 20px 40px;
    align-items: flex-start;
  }
  
  .about-text-content {
    margin-left: 0;
    margin-right: 0;
    padding-left: 25px;
    padding-right: 25px;
  }
  
  .about-images-grid {
    margin-left: 0;
    margin-right: 0;
  }
  
  .about-heading {
    font-size: 32px;
    margin-bottom: 40px;
  }
  
  .about-description {
    font-size: 16px;
  }
  
  .about-images-grid {
    gap: 15px;
    max-width: 100%;
    padding-left: 25px;
    padding-right: 25px;
  }
  
  .about-image-item {
    height: 45px;
    width: 45px;
  }
  
  .about-image-item-wide {
    width: 56px;
  }
  
  .about-image-item-extra-wide {
    width: 120px;
  }
  
  .about-image-item:nth-child(6) {
    width: 52px;
  }
}

/* Footer Section Styles */
.footer-section {
  padding: 50px 0 0;
  width: 100%;
  background: #ffffff;
   max-width: 890px;
  margin: 0 auto;
}

.footer-section .contact-content {
  width: 100%;
  max-width: 890px;
  margin: 0 auto;
  margin-left: 25px;
}

.footer-section .contact-accordion-item:nth-child(3) {
    margin-bottom: 0;
}

.footer-section .contact-accordion-stack {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 0;
  margin-top: 0;
}

.footer-section .contact-accordion-panel {
  width: 100%;
  background: #fff;
  border: 2px solid #F2EFEC;
  padding: 28px 35px 0;
}

.footer-section .contact-accordion-panel p {
  line-height: 150%;
      text-align: left;
}

.footer-section .contact-accordion-panel a {
  text-decoration: underline;
  font-weight: 700;
}

/* Generic Page Components - Reusable */
.page-banner {
  width: 100%;
  height: 340px;
  background-color: #282826;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}

.page-banner-title {
  font-family: 'Vanilla Bold';
  font-size: 70px;
  font-weight: 400;
  color: #E5DECE;
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 1.4;
  white-space: pre-line;
}

.content-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 50px 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Footer Section Accordion Styles */
.footer-section .accordion {
    width: 100%;
    border: none !important;
    background: transparent !important;
}

.footer-section .accordion-header {
    padding: 0 !important;
}

/* Links Section */
.links-section {
  width: 100%;
  max-width: 890px;
  margin: 50px auto;
}
.legal-mains {
    background: #fff;
    padding: 50px 0;
}

.section-titlee {
  font-family: 'Vanilla Bold';
  font-size: 48px;
  font-weight: 400;
  color: #282826;
  margin: 0 0 50px 0;
  line-height: 1;
}

.button-group {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 15px 25px;
  background: #282826;
  color: #F2EFEC;
  font-family: "Inter-Bold";
  font-size: 24px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  height: 56px;
  white-space: nowrap;
}

.cta-button:hover {
  background: #4C4C49;
}

.button-arrow {
  width: 27px;
  height: 0;
  border-top: 2px solid #F2EFEC;
  position: relative;
}

.button-arrow::after {
  content: '';
  position: absolute;
  right: -2px;
  top: -5px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #F2EFEC;
  border-top: 2px solid #F2EFEC;
  transform: rotate(45deg);
}
.historic-statements-section .button-group {
    flex-direction: column;
    align-items: baseline;
}


/* Responsive Generic Components - Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  .page-banner {
    height: 280px;
  }
  
  .page-banner-title {
    font-size: 56px;
  }
  
  .content-wrapper {
    padding: 40px 33px;
  }
  
  .section-titlee {
    font-size: 48px;
    margin-bottom: 50px;
  }
  
  .button-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    max-width: 491px;
  }
    /* .button-group {
    display: flex;
    gap: 30px;
    flex-wrap: nowrap;
  } */
  
  .button-group .cta-button:nth-child(3) {
    grid-column: 1 / 2;
  }
  
  .cta-button {
    font-size: 20px;
    padding: 15px 25px;
    height: 56px;
    width: 100%;
  }
  
  .accordion-wrapper {
    max-width: 702px;
  }
  
  .accordion-title {
    font-size: 24px !important;
  }
  
  .accordion-header-btn {
    padding: 26px 35px !important;
    height: 80px !important;
    min-height: 80px !important;
    max-height: 80px !important;
  }
  
  .accordion-body {
    font-size: 16px !important;
    padding: 28px 35px !important;
  }
  
  .accordion-body.small-text {
    font-size: 16px !important;
  }
  .footer-section {
    padding: 50px 30px 0;
}
.links-section {
    padding: 0 30px;
}
.historic-statements-section .button-group {
    display: flex;
    max-width: fit-content;
}
}

/* Responsive Generic Components - Mobile */
@media (max-width: 767px) {
  .page-banner {
    height: 200px;
  }
  
  .page-banner-title {
    font-size: 40px;
    padding: 0 20px;
  }
  
  .content-wrapper {
    padding: 30px 20px;
  }
  
  .links-section {
    padding: 0;
  }
  
  .section-titlee {
    font-size: 32px;
    margin-bottom: 30px;
  }
  
  .button-group {
    flex-direction: column;
    gap: 15px;
    width: 100%;
  }
  
  .cta-button {
    width: 100%;
    font-size: 16px;
    padding: 12px 20px;
    height: 48px;
  }
  
  .accordion-wrapper {
    padding: 0;
    gap: 20px;
  }
  
  .accordion-header-btn {
    padding: 18px 20px;
    height: auto;
    min-height: 60px;
  }
  
  .accordion-title {
    font-size: 18px;
    padding-right: 40px;
  }
  
  .accordion-icon {
    right: 20px;
  }
  
  .accordion-body {
    font-size: 16px;
    padding: 20px;
  }
  
  .accordion-body.small-text {
    font-size: 14px;
  }
}

/* Generic Banner with Date - Reusable across pages */
.banner-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.banner-date {
  font-family: "Inter-Regular";
  font-size: 16px;
  font-weight: 400;
  color: #E5DECE;
  margin: 0;
  line-height: 1.5;
}

/* Responsive Banner Date - Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  .banner-date {
    font-size: 16px;
  }
}

/* Responsive Banner Date - Mobile */
@media (max-width: 767px) {
  .banner-content {
    gap: 8px;
  }
  
  .banner-date {
    font-size: 16px;
  }
}

/* Privacy Notice Specific Styles */
/* Link styling within accordion body */
.privacynotice .accordion-body a {
  color: #282826;
  text-decoration: underline;
  font-weight: 700;
}

.privacynotice .accordion-body a:hover {
  color: #3d3d3a;
}

/* Remove padding from "The types of personal data we use" accordion (5th item) */
.privacynotice .contact-accordion-item:nth-child(5) .contact-accordion-panel {
  padding: 0 !important;
}

/* Add padding to paragraph in "The types of personal data we use" accordion */
.privacynotice .contact-accordion-item:nth-child(5) .contact-accordion-panel .contact-accordion-text > p {
  padding: 28px 35px 0 !important;
}

/* Remove padding from "How we use your personal data" accordion (7th item) */
.privacynotice .contact-accordion-item:nth-child(7) .contact-accordion-panel {
  padding: 0 !important;
}

/* Add padding to paragraph in "How we use your personal data" accordion */
.privacynotice .contact-accordion-item:nth-child(7) .contact-accordion-panel .contact-accordion-text > p {
  padding: 28px 35px 0 !important;
}

/* Remove padding from "Your rights" accordion (15th item) */
.privacynotice .contact-accordion-item:nth-child(15) .contact-accordion-panel {
  padding: 0 !important;
}

/* First paragraph before table in "Your rights" accordion */
.privacynotice .contact-accordion-item:nth-child(15) .contact-accordion-panel .contact-accordion-text > p:first-child {
  padding: 28px 35px 0 !important;
  margin-bottom: 10px !important;
}

/* Paragraphs after table in "Your rights" accordion */
.privacynotice .contact-accordion-item:nth-child(15) .contact-accordion-panel .contact-accordion-text .privacy-table ~ p {
  padding: 0 35px !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

/* Last paragraph in "Your rights" accordion needs bottom padding */
.privacynotice .contact-accordion-item:nth-child(15) .contact-accordion-panel .contact-accordion-text > p:last-child {
  padding: 0 35px 28px !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

/* Company list table - two column layout */
.privacynotice .company-list-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  border: none;
  font-family: "Inter-Regular";
}

.privacynotice .company-list-table tbody tr {
  border: none;
}

.privacynotice .company-list-table tbody td {
  width: 50%;
  /* padding: 2.5px 20px 2.5px 0; */
  font-size: 16px;
  font-weight: 400;
  color: #282826;
  line-height: 1.5;
  vertical-align: top;
  border: none;
}

.privacynotice .company-list-table tbody td:last-child {
  padding-right: 0;
}
.privacynotice .company-list-table tbody td p {
    margin-bottom: 0;
    padding: 0;
}
/* Privacy table styles */
.privacynotice .privacy-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0 0;
  font-family: "Inter-Regular";
}

.privacynotice .privacy-table thead {
  background-color: #282826;
}

.privacynotice .privacy-table tbody th p {
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
  text-align: left;
  padding: 13px 16px;
  line-height: 1.25;
  border-bottom: 1px solid #000000;
  margin-bottom: 0;
}

 .privacynotice .privacy-table tbody tr th {
  background-color: #282826;
}

.privacynotice .privacy-table tbody th:first-child {
  width: 280px;
}

.privacynotice .privacy-table tbody tr {
  border-top: 2px solid #F2EFEC;
}

.privacynotice .privacy-table tbody td {
  padding: 16px;
  font-size: 16px;
  font-weight: 400;
  color: #282826;
  line-height: 1.5;
  vertical-align: top;
}

.privacynotice .privacy-table tbody td:first-child {
  background-color: rgba(242, 239, 236, 0.5);
  border-right: 2px solid #FFFFFF;
  text-align: center;
  vertical-align: middle;
}

.privacynotice .privacy-table tbody td strong {
  font-weight: 700;
}

.privacynotice .privacy-table tbody td ul {
  margin: 0;
  padding: 0 0 0 16px;
  list-style-position: outside;
}

.privacynotice .privacy-table tbody td li {
  margin-bottom: 5px;
}

.privacynotice .privacy-table tbody td ul ul {
  margin-top: 5px;
  padding-left: 16px;
  list-style-type: disc;
}

/* Responsive Privacy Notice - Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  .privacynotice .privacynotice-two-column {
    gap: 30px;
  }
  
  .privacynotice .privacy-table {
    font-size: 18px;
  }
  
  .privacynotice .privacy-table thead th {
    font-size: 16px;
    padding: 12px 14px;
  }
  
  .privacynotice .privacy-table tbody td {
    font-size: 18px;
    padding: 14px;
  }
}

/* Responsive Privacy Notice - Mobile */
@media (max-width: 767px) {
  .privacynotice .privacynotice-two-column {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .privacynotice .privacy-table {
    display: block;
    overflow-x: auto;
  }
  
  .privacynotice .privacy-table thead {
    display: none;
  }
  
  .privacynotice .privacy-table tbody,
  .privacynotice .privacy-table tr,
  .privacynotice .privacy-table td {
    display: block;
    width: 100%;
  }
  
  .privacynotice .privacy-table tbody tr {
    margin-bottom: 20px;
    border: 2px solid #F2EFEC;
  }
  
  .privacynotice .privacy-table tbody td {
    border: none;
    padding: 12px;
  }
  
  .privacynotice .privacy-table tbody td:first-child {
    background-color: #F2EFEC;
    font-weight: 700;
    border-right: none;
  }
}

/* Modern Slavery - Remove padding from last accordion (7th item) */
.modern-slavery .contact-accordion-item:nth-child(7) .contact-accordion-panel {
  padding: 0 !important;
}

/* Add padding to paragraphs in "Our effectiveness" accordion */
.modern-slavery .contact-accordion-item:nth-child(7) .contact-accordion-panel .contact-accordion-text > p {
  padding: 0px 35px 0 !important;
}

.modern-slavery .contact-accordion-item:nth-child(7) .contact-accordion-panel .contact-accordion-text {
  padding-top: 28px !important;
}

/* Cookie Notice - Remove padding from accordion with tables (2nd item) */
.cookienotice .contact-accordion-item:nth-child(2) .contact-accordion-panel {
  padding: 0 !important;
}

/* Add padding to paragraphs in accordion with tables */
.cookienotice .contact-accordion-item:nth-child(2) .contact-accordion-panel .contact-accordion-text > p {
  padding: 0 35px !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

/* First paragraph needs top padding */
.cookienotice .contact-accordion-item:nth-child(2) .contact-accordion-panel .contact-accordion-text > p:first-child {
  padding: 28px 35px 0 !important;
  margin-bottom: 10px !important;
}

/* Last paragraph needs bottom padding */
.cookienotice .contact-accordion-item:nth-child(2) .contact-accordion-panel .contact-accordion-text > p:last-child {
  padding: 0 35px 28px !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

/* Cookie Notice - Cookie Table Styles */
.cookienotice .cookie-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-family: "Inter-Regular";
}

.cookienotice .cookie-table tbody th {
  background-color: #282826;
}

.cookienotice .cookie-table tbody th p{
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
  text-align: left;
  padding: 13px 16px;
  line-height: 1.25;
  border-bottom: 1px solid #000000;
  margin-bottom: 0;
}

.cookienotice .cookie-table tbody tr {
  border-top: 2px solid #F2EFEC;
}

.cookienotice .cookie-table tbody td {
  padding: 16px;
  font-size: 16px;
  font-weight: 400;
  color: #282826;
  line-height: 1.5;
  vertical-align: middle;
}

.cookienotice .cookie-table tbody td:first-child {
  background-color: rgba(242, 239, 236, 0.5);
  border-right: 2px solid #FFFFFF;
  font-weight: 700;
}

.cookienotice .cookie-table tbody td:nth-child(2) {
  background-color: rgba(242, 239, 236, 0.5);
  border-right: 2px solid #FFFFFF;
}

.cookienotice .cookie-table tbody td:nth-child(3) {
  background-color: rgba(242, 239, 236, 0.5);
  border-right: 2px solid #FFFFFF;
}

.cookienotice .cookie-table tbody td:last-child {
  background-color: #FFFFFF;
}

/* Responsive Cookie Notice - Mobile */
@media (max-width: 767px) {
  .cookienotice .cookie-table {
    display: block;
    overflow-x: auto;
  }
  
  .cookienotice .cookie-table thead {
    display: none;
  }
  
  .cookienotice .cookie-table tbody,
  .cookienotice .cookie-table tr,
  .cookienotice .cookie-table td {
    display: block;
    width: 100%;
  }
  
  .cookienotice .cookie-table tbody tr {
    margin-bottom: 20px;
    border: 2px solid #F2EFEC;
  }
  
  .cookienotice .cookie-table tbody td {
    border: none;
    padding: 12px;
  }
  
  .cookienotice .cookie-table tbody td:first-child {
    background-color: #F2EFEC;
    font-weight: 700;
    border-right: none;
  }
  
  .cookienotice .cookie-table tbody td:nth-child(2),
  .cookienotice .cookie-table tbody td:nth-child(3) {
    background-color: transparent;
    border-right: none;
  }
}

/* Modern Slavery - Signed Section */
.signed-section {
  margin: 60px auto 80px;
  padding: 0;
  max-width: 890px;
}

.signed-title {
  font-family: 'Inter-Bold';
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  margin-bottom: 30px;
  color: #282826;
}

.signatures-table {
  width: 100%;
  border-collapse: collapse;
  border: none;
  margin-top: 20px;
}

.signatures-table tbody tr {
  border: none;
}

.signature-cell {
  padding: 0 0 30px 0;
  border: none;
  vertical-align: top;
}

.signature-cell:last-child {
  padding-bottom: 0;
}


.signature-image {
  width: 201px;
  height: 62px;
  margin: 0 0 8px 0;
  display: block;
}

.signature-name {
  font-family:'Inter-Bold';
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: #282826;
  margin: 0;
}

.signature-position {
  font-family:'Inter-Bold';
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: #282826;
  margin: 0;
}

.signature-company-name {
  font-family: "Inter-Regular";
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #282826;
  margin: 0;
}

.signature-date {
  font-family:'Inter-Bold';
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: #282826;
  margin: 8px 0 0 0;
}

.signature-company-bottom {
  font-family: "Inter-Regular";
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #282826;
  margin: 8px 0 0 0;
}

/* Modern Slavery - Historic Statements Section */
.historic-statements-section {
  margin: 80px auto 60px;
  padding: 0;
  max-width: 890px;
}

 .historic-statements-section .section-titlee {
  font-family: 'Vanilla Bold', serif;
  font-size: 48px;
  margin-bottom: 40px;
  color: #282826;
  line-height: 1;
}

/* Modern Slavery - Effectiveness Metrics Table */
.modern-slavery .effectiveness-metrics {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  border: 2px solid #F2EFEC;
  font-family: "Inter-Regular";
}

.modern-slavery .effectiveness-metrics tbody tr {
  border-top: 2px solid #F2EFEC;
}

.modern-slavery .effectiveness-metrics tbody tr:first-child {
  border-top: none;
}

.modern-slavery .effectiveness-metrics tbody td {
  padding: 20px 33px;
  font-size: 16px;
  line-height: 150%;
  color: #282826;
  vertical-align: middle;
}

.modern-slavery .effectiveness-metrics tbody td:first-child {
  font-weight: 700;
  background-color: rgba(242, 239, 236, 0.5);
  width: calc(100% - 253px);
}

.modern-slavery .effectiveness-metrics tbody td:last-child {
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  background-color: #FFFFFF;
  width: 253px;
}

@media (min-width: 768px) and (max-width: 1024px){
  .signed-section {
    margin: 60px 35px 80px;
    padding: 0 30px;
}
.historic-statements-section {
    padding: 0 30px;
}
}

/* Responsive Modern Slavery - Mobile */
@media (max-width: 767px) {
  .modern-slavery .signatures-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .modern-slavery .metric-item {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .modern-slavery .metric-value {
    text-align: left;
  }

  .modern-slavery .historic-statements-section .section-titlee {
    font-size: 36px;
  }
}

.modern-slavery .contact-accordion-item:nth-child(7) .contact-accordion-panel .contact-accordion-text {
  padding-top: 28px !important;
}

.footer-content .contact-accordion-panel {
    width: 100%;
    background: #fff;
    padding: 25px 35px 5px 35px;
}

/* Consumer Duty Page Styles - RTE Compatible */
.consumer-duty-page .content-wrapper {
    max-width: 890px;
    margin: 0 auto;
    padding: 50px 0 0;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: normal;
}
/* Introduction Paragraphs - Direct children of content-wrapper */
.consumer-duty-page .content-wrapper > p {
  font-family: "Inter-Regular";
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #282826;
  margin: 0 0 20px 0;
  max-width: 890px;
}

.consumer-duty-page .content-wrapper > p:first-of-type {
  margin-top: 0;
}

.consumer-duty-page .content-wrapper > p:nth-of-type(2) {
  margin-bottom: 51px;
}

/* Section Headings - H2 */
.consumer-duty-page .content-wrapper > h2 {
  font-family: 'Vanilla Bold';
  font-size: 51px;
  font-weight: 400;
  color: #282826;
  margin: 0 0 50px 0;
  line-height: 1.125;
  max-width: 890px;
  text-align: left;
}

.consumer-duty-page .content-wrapper > h2:first-of-type {
  margin-top: 0;
  margin-bottom: 30px;
}

/* Lists - UL */
.consumer-duty-page .content-wrapper > ul {
  list-style-position: outside;
  padding-left: 35px;
  margin: 0 0 40px 0;
  max-width: 890px;
}

.consumer-duty-page .content-wrapper > ul li {
  font-family: "Inter-Regular";
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  color: #282826;
  margin-bottom: 5px;
  padding-left: 0;
}

/* Fair Value Box - Div Based */
.fair-value-box {
  width: 100%;
  max-width: 890px;
  background: #F2EFEC;
  padding: 23px 30px;
  margin: 0 0 50px 0;
}

.fair-value-box h3 {
  font-family:  "Inter-SemiBold";
  font-size: 28px;
  font-weight: 600;
  color: #282826;
  margin: 0 0 20px 0;
  line-height: 1.14;
}

.fair-value-box p {
  font-family: 'Inter-Regular';
  font-size: 16px;
  font-weight: 400;
  line-height: 1.32;
  color: #282826;
  margin: 0 0 10px 0;
}

.fair-value-box p:last-child {
  margin-bottom: 0;
}

.fair-value-box strong {
  font-weight: 700;
}

/* Assessments Box - Div Based */
.assessments-box {
  width: 100%;
  background: #F2EFEC;
  padding: 29px 32px;
  margin: 0px 0 30px 0;
}

.assessments-box h3 {
  font-family: 'Inter-Semibold';
  font-size: 28px;
  font-weight: 600;
  color: #282826;
  margin: 0 0 27px 0;
  line-height: 1.14;
}

/* Product Buttons within table */
.consumer-duty-button-group {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
}

.consumer-duty-product-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 20px;
  background: #282826;
  color: #FFFFFF;
  font-family: "Inter-Bold";
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  height: 48px;
  white-space: nowrap;
}

.consumer-duty-product-btn:hover {
  background: #4C4C49;
}
.content-wrapper-results h2 {
    font-family: 'Vanilla Bold';
    font-size: 51px;
    font-weight: 400;
    color: #282826;
    margin: 0 0 50px 0;
    line-height: 1.125;
    max-width: 890px;
    text-align: left;
}
.content-wrapper-results {
  max-width: 890px;
  margin: 0 auto;
}

/* Link Cards - Div Based */
.link-card {
  width: 100%;
  background: #F2EFEC;
  padding: 33px 35px;
  margin: 0 0 30px 0;
}

.link-card h3 {
  font-family:  "Inter-SemiBold";
  font-size: 28px;
  font-weight: 600;
  color: #282826;
  margin: 0 0 25px 0;
  line-height: 1.21;
}

.link-card p {
  font-family: 'Inter-Regular';
  font-size: 16px;
  font-weight: 400;
  color: #282826;
  margin: 0;
  line-height: 1.22;
}

.link-card a {
  color: #282826;
  text-decoration: underline;
}

.link-card a:hover {
  color: #3d3d3a;
}

/* Links Section - Using standard styles from legal notice */
.consumer-duty-page .links-section {
  margin: 20px auto 0;
}

/* Contact Section - Div Based */
.consumer-duty-contact-section {
  /* width: calc(100% + 480px);
  margin-left: -240px;
  margin-right: -240px; */
  margin-top: 0px;
  background: #E5DECE;
  /* display: grid;
  grid-template-columns: 1fr 1fr; */
}
.consumer-duty-contact-section .container-1280 {
    display: flex;
    flex-wrap: wrap;
}

.contact-info-cell {
  padding: 60px 55px;
  position: relative;
      width: 50%;
}

.contact-info-cell::after {
  content: '';
  position: absolute;
  right: 0;
  top: 48px;
  bottom: 48px;
  width: 2px;
  background: #282826;
}

.contact-info-cell h5 {
  font-family:  "Inter-Bold";
  font-size: 36px;
  font-weight: 700;
  color: #282826;
  margin: 0 0 28px 0;
  line-height: 1.31;
}

.contact-info-cell p {
  font-family: "Inter-Regular";
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #282826;
  margin: 0 0 20px 0;
}

.contact-info-cell p:last-child {
  margin-bottom: 0;
}

.contact-info-cell a {
  color: #282826;
  text-decoration: underline;
}

.contact-info-cell a:hover {
  color: #3d3d3a;
}

.contact-details-cell {
  padding: 60px 55px 60px 67px;
      width: 50%;
}

.contact-details-cell h5 {
  font-family:  "Inter-Bold";
  font-size: 36px;
  font-weight: 700;
  color: #282826;
  margin: 0 0 11px 0;
  line-height: 0.97;
  position: relative;
}

.contact-details-cell h5:not(:first-child) {
  margin-top: 57px;
}

.contact-phone-inline {
  font-family: "Inter-SemiBold";
  font-size: 32px;
  font-weight: 600;
  color: #282826;
  line-height: 1.22;
  position: absolute;
  top: 0;
  right: 0;
  white-space: nowrap;
}

.contact-details-cell p {
  font-family: "Inter-SemiBold";
  font-size: 20px;
  font-weight: 600;
  color: #282826;
  margin: 0 0 5px 0;
  line-height: 1.25;
}

/* Responsive Consumer Duty - Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  .consumer-duty-page .content-wrapper {
    padding: 50px 34px 50px;
  }

  .consumer-duty-page .content-wrapper > ul {
    padding-left: 46px;
  }

  .cta-button {
    font-size: 24px;
    width: 100%;
  }

  .consumer-duty-contact-section {
    /* width: calc(100% + 68px);
    margin-left: -34px;
    margin-right: -34px; */
    grid-template-columns: 1fr;
  }

  .contact-info-cell {
    padding: 60px 91px 75px 91px;
    width: 100%;
  }

  .contact-info-cell::after {
    content: '';
    position: absolute;
    left: 91px;
    right: 91px;
    top: auto;
    bottom: 0;
    width: auto;
    height: 2px;
    background: #282826;
  }

  .contact-details-cell {
    padding: 50px 91px 60px 91px;
    position: relative;
    width: 100%;
  }

  .contact-details-cell h3 {
    position: relative;
  }

  .contact-phone-inline {
    position: absolute;
    display: inline-block;
    top: 0px;
    right: 91px;
    margin-top: 0;
  }
}

/* Responsive Consumer Duty - Mobile */
@media (max-width: 767px) {
  .consumer-duty-page .content-wrapper {
    padding: 30px 20px;
  }

  .consumer-duty-section-title {
    font-size: 32px;
    margin: 30px 0 20px 0;
  }

  .consumer-duty-intro-text {
    font-size: 16px;
  }

  .consumer-duty-list {
    padding-left: 20px;
  }

  .consumer-duty-list li {
    font-size: 16px;
  }

  .consumer-duty-box {
    padding: 20px;
  }

  .consumer-duty-box-title,
  .consumer-duty-assessments-title,
  .consumer-duty-link-title {
    font-size: 20px;
    margin-bottom: 15px;
  }

  .consumer-duty-box-text {
    font-size: 14px;
  }

  .consumer-duty-assessments-box {
    padding: 20px;
  }

  .consumer-duty-button-group {
    flex-direction: column;
    gap: 15px;
  }
  .consumer-duty-button-group > p {
      flex-direction: column;
  }

  .consumer-duty-product-btn {
    width: 100%;
    font-size: 18px;
  }

  .consumer-duty-link-card {
    padding: 20px;
  }

  .consumer-duty-link-text {
    font-size: 16px;
  }

  .consumer-duty-cta-buttons {
    flex-direction: column;
    gap: 15px;
    width: 100%;
  }

  .consumer-duty-cta-buttons .cta-button {
    width: 100%;
  }

  .consumer-duty-contact {
    /* width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px; */
    margin-top: 50px;
  }

  .consumer-duty-contact-banner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 20px;
  }

  .consumer-duty-contact-banner::before {
    display: none;
  }

  .consumer-duty-contact-heading {
    font-size: 28px;
  }

  .consumer-duty-contact-text {
    font-size: 16px;
  }

  .consumer-duty-contact-details {
    padding-left: 0;
    gap: 40px;
  }

  .consumer-duty-contact-method {
    font-size: 28px;
  }

  .consumer-duty-contact-info,
  .consumer-duty-contact-hours {
    font-size: 18px;
  }
}

.docs-hero h1.banner-title {
    line-height: 1.2;
    /*max-width: 655px;sp*/
    max-width: 100%;
    display: flex;
}
p.boldText strong , .privacynotice .privacy-table tbody td:first-child p strong{
  font-weight: 700;
  font-family: 'Inter-Bold';
}
p.pNoGap{
      padding: 0;
    margin: 0;
    display: none;
}
.privacynotice .privacy-table tbody td li p {
  line-height: 1.2;
      margin-bottom: 0;
}
.privacynotice .contact-accordion-item:nth-child(15) .contact-accordion-panel .contact-accordion-text .privacy-table ~ p strong , .footer-section .contact-accordion-panel p strong{
    font-weight: 700;
    font-family: 'Inter-Bold';
}

.consumer-duty-button-group > p {
    display: flex;
    gap: 30px;
    margin-bottom: 0;
}
.consumer-duty-page .content-wrapper > ul li p {
    margin-bottom: 0;
}

nav.footer-middle-links {
    position: absolute;
    /* Sits midway between the left (188px) and right (690px) columns so the
       three are evenly spaced, per the design. Was 385px, which left a 197px
       gap to the left column but 305px to the right. */
    left: 439px;
    top: 56px;
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.210227;
}

.footer-logo {
    width: 114px;
}

.footer-socials {
    position: absolute;
    top: 0;
}

.footer-description {
    position: absolute;
    bottom: 0;
    left: 188px;
}


nav.footer-middle-links {
    position: absolute;
    /* Sits midway between the left (188px) and right (690px) columns so the
       three are evenly spaced, per the design. Was 385px, which left a 197px
       gap to the left column but 305px to the right. */
    left: 397px;
    top: 56px;
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.210227;
}

.footer-logo {
    width: 114px;
}

.footer-socials {
    position: absolute;
    top: 0;
}

.footer-description {
    position: absolute;
    bottom: 33px;
    left: 188px;
}

.footer-description-body p {
    color: #000;
    font-family: "Inter-Regular";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 124.523%; /* 14.943px */
}

/* Mobile footer flow overrides -- MUST stay at the end of this file.
   nav.footer-middle-links / .footer-socials / .footer-description are declared
   again above (twice each, around lines 1896-1952) with desktop absolute
   positions. Media queries add no specificity, so the mobile block earlier in
   this file loses to them on source order and the middle column stayed off
   screen at left:385px. Repeating the resets here puts them last. */
@media (max-width: 767px) {
  .footer-section {
    padding: 50px 25px 0px;
}

.links-section, .signed-section, .docs-tabs-section .tabs-row, .docs-panel-header,.docs-download-list {
    padding-left: 24px !important;
    padding-right: 24px !important;
}
  nav.footer-middle-links,
  .footer-socials,
  .footer-bbr,
  .footer-description {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
  }

  /* Explicit rows so BBR can share row 5 with the description's title rather
     than taking a line of its own:
       1 logo | 2 left+middle links | 3 right links | 4 socials
       5 INTERMEDIARIES ONLY (description's first child) + BBR, then paragraph */
  .footer-desktop::before {
    grid-row: 1;
  }

  /* gap repeated here because nav.footer-middle-links is re-declared above
     with gap: 40px, which otherwise leaves the two columns' rows misaligned. */
  .footer-left-links,
  nav.footer-middle-links,
  .footer-right-links {
    gap: 20px;
  }

  .footer-left-links {
    grid-row: 2;
    grid-column: 1;
  }

  nav.footer-middle-links {
    grid-row: 2;
    grid-column: 2;
  }

  .footer-right-links {
    grid-row: 3;
    grid-column: 1 / -1;
  }

  .footer-socials {
    grid-row: 4;
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .footer-bbr {
    grid-row: 5;
    grid-column: 2;
    justify-self: end;
    align-self: start;
    text-align: right;
    margin-top: -5px;
  }

  .footer-description {
    grid-row: 5;
    grid-column: 1 / -1;
  }

  .footer-bbr-value {
    font-family: "Inter-Bold", "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #282826;
  }
}

/* Desktop-only footer refinements (>=1236px, i.e. above the 768-1235px tablet
   block, so tablet and mobile are untouched).
   .footer-bbr ships as a plain static div with no styles of its own, so it fell
   at the very top of .footer-inner spanning the full width. Per the design it
   belongs on the same line as the description title, hard right. */
@media (min-width: 1236px) {
  /* Middle column position, Intermediaries only. Specificity (0,3,0) beats the
     two nav.footer-middle-links rules (0,1,1) declared earlier in this file,
     which disagree with each other (439px / 397px). */
  .footer-inner:has(.footer-bbr) .footer-middle-links {
    left: 424px;
  }

  /* Both are top-anchored to the same y so they share a line. .footer-description
     ships bottom-anchored (bottom: 33px), which meant its top drifted whenever
     the text length or title size changed -- and the BBR stopped lining up. */
  /* Scoped with :has(.footer-bbr) so only the Intermediaries footer is
     affected -- the Customers section has no BBR and keeps its existing
     height and bottom-anchored description untouched.
     The link columns end at y=196; leave a clear gap before this row rather
     than butting it straight up against "Privacy Notice". The taller inner
     keeps the paragraph clear of the footer's bottom edge. */
  .footer-inner:has(.footer-bbr) {
    height: 350px;
  }

  .footer-inner:has(.footer-bbr) .footer-description {
    top: 240px;
    bottom: auto;
  }

  .footer-bbr {
    position: absolute;
    top: 224px;
    right: 0;
    width: auto;
    text-align: right;
  }

  .footer-bbr-value {
        color: #000;
        text-align: right;
        font-family: "Inter-Bold";
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
  }

  .footer-description-title {
    margin: 0 0 10px;
    font-family: "Inter-Bold", "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: #282826;
  }

  /* Home page: Footer.cshtml suppresses both .footer-bbr and .footer-description
     (home.cshtml sets ViewData["HideFooterBbrAndDescription"]), so neither renders
     at all. Without this, .footer-inner stays at the 321px base height from the
     top of this file with nothing below the social icons (bottom edge ~211px,
     logo/links/socials only) -- a ~110px dead gap. Scoped to "neither exists" so
     Intermediaries (has both) and Customers (has .footer-description, no bbr,
     per the rule above) keep their current heights untouched. */
  .footer-inner:not(:has(.footer-bbr)):not(:has(.footer-description)) {
    height: 230px;
  }
}

/* ==============================================================
   TABLET FOOTER (768-1235px) -- MUST STAY AT THE END OF THIS FILE
   Same markup as desktop; layout differs by CSS only.

   The desktop footer positions every block absolutely against
   .footer-inner. The older tablet block earlier in this file only
   repositioned .footer-left-links / .footer-right-links, so
   .footer-middle-links, .footer-socials, .footer-bbr and
   .footer-description kept their DESKTOP coordinates -- the middle
   column sat on top of the right one, BBR landed over the logo and
   the description overlapped "Careers".

   Rebuilt as a 3-column grid in normal flow:
     row 1  logo (left)            + socials (right)
     row 2  three link columns
     row 3  INTERMEDIARIES ONLY    + BBR (right, same line)
     row 4  legal paragraph (full width, inside .footer-description)

   Declared last because those stranded rules are re-declared around
   lines 1896-1955 and media queries add no specificity.
   ============================================================== */
@media (min-width: 768px) and (max-width: 1235px) {
  .footer-inner {
    height: auto;
    padding: 50px 70px 26px 70px;
    position: static;
  }

  .footer-desktop {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 60px;
    row-gap: 40px;
    align-items: start;
  }

  /* Text logo replaces the image at this width (image hidden below). */
  .footer-desktop::before {
    content: "PRECISE.";
    grid-column: 1 / 3;
    grid-row: 1;
    position: static;
    left: auto;
    top: auto;
    margin: 0;
    align-self: center;
    font-family: "Vanilla Bold";
    font-size: 40px;
    font-weight: 800;
    color: #282826;
    text-transform: uppercase;
  }

  .footer-logo {
    display: none;
  }

  /* Socials share row 1 with the logo, pinned right. */
  .footer-socials {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .footer-social,
  .footer-social.linkedin,
  .footer-social.x,
  .footer-social.instagram {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    margin: 0;
  }

  /* Three link columns across row 2. */
  .footer-left-links,
  nav.footer-middle-links,
  .footer-right-links {
    grid-row: 2;
    position: static;
    left: auto;
    top: auto;
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 0;
  }

  .footer-left-links {
    grid-column: 1;
  }

  nav.footer-middle-links {
    grid-column: 2;
  }

  .footer-right-links {
    grid-column: 3;
  }

  .footer-left-links .footer-link,
  .footer-middle-links .footer-link,
  .footer-right-links .footer-link {
    font-size: 16px;
    color: #282826;
  }

  /* Row 3: BBR pinned right, on the same line as the title (which is the
     description block's first child, so both start at the row's top). */
  .footer-bbr {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
    align-self: start;
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
    text-align: right;
  }

  .footer-bbr-value {
    font-family: "Inter-Bold", "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #282826;
  }

  .footer-description {
    grid-column: 1 / -1;
    grid-row: 3;
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
  }

  .footer-description-title {
    margin: 0 0 12px;
    font-family: "Inter-Bold", "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #282826;
  }
}

@media only screen and (min-width: 1236px) {
    a.footer-link.dim {
    max-width: 187px;
}
}

.contact-accordion-text p {
    margin-bottom: 20px;
}

h4.footer-description-title {
    color: #000;
    font-family: "Inter-Bold";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 124.523%; /* 17.433px */
    text-transform: uppercase;
}

.footer-section .rte-content {
    width: 100% !important;
}