/*---------------------------------------------- 
	temporary
----------------------------------------------*/

#benefits--img-section {
  margin-top: 8rem;
}

/*---------------------------------------------- 
  header
----------------------------------------------*/

/* Initial hidden state only on pages with header CTA animation */
[data-header-cta="1"] .menu--contact--wrapper {
  opacity: 0;
  transform: translateY(-10px);
}

.site--header {
  position: sticky;
  position: -webkit-sticky;
  top: 2.4rem;
  z-index: 999999;
  height: 0;
}

/* menu
-------------------------------------------------- */

/* mobile toggle */
.mobile--toggle--wrapper {
  display: none;
}

/* default (desktop) */
.menu--panel {
  width: 100%;
}

.menu--panel--content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.primary-nav--container {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.menu--panel-close--wrapper {
  display: none;
}

.menu--wrapper {
  --max-width: 124rem;
  --padding: 8vw;
  width: min(var(--max-width), 100% - var(--padding));
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.primary-menu--wrapper {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  height: 5.6rem;
}

.primary-menu--logo {
  width: 20rem;
  height: 2rem;
  min-width: 20rem; /* prevents shrinking */
  flex-shrink: 0; /* prevents flexbox from squeezing it */
  object-fit: contain;
}

#primary-menu {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

/* Ensure only top-level items sit in the main row */
.main--navigation .menu > li,
.rls--nav--item .menu > li {
  position: relative; /* needed for absolutely positioned submenus */
}

.menu--contact--button-group {
  display: flex;
  gap: 0.8rem;
  padding: 0.8rem;
  border-radius: 0.4rem;
  background-color: rgba(238, 236, 231, 0.64);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px); /* Safari */
}

.primary-menu--branding,
.primary-nav--wrapper,
.rls--nav--wrapper {
  display: flex;
  align-items: center;
  height: 5.6rem;
  border-radius: 0.4rem;
  padding: 0.8rem 2rem;
  background-color: rgba(238, 236, 231, 0.64);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  transition: all 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.primary-menu-nav-item,
.primary-menu-nav-item-ls {
  font-size: 1.4rem;
  line-height: 1.6rem;
  font-weight: 400;
  cursor: pointer;
}

.primary-menu-nav-item {
  color: var(--clr-brand-teal-900, #0b4446);
}

.primary-menu-nav-item-ls {
  color: var(--clr-brand-red-900, #520010);
}

/* Submenus (floating box below navbar)
-------------------------------------------------- */

/* First-level dropdown only (direct child of the top-level li) */
.main--navigation .menu > li > .sub-menu,
.rls--nav--item .menu > li > .sub-menu {
  position: absolute;
  top: calc(100% + 2.8rem); /* vertical gap */
  left: 50%; /* center anchor */
  transform: translate(-50%, 0.8rem); /* initial offset for animation */

  min-width: 20rem;
  margin: 0;
  padding: 1.2rem 1.2rem 2.4rem 1.2rem;

  background-color: rgba(238, 236, 231, 1);

  border-radius: 0.4rem;

  filter: drop-shadow(0 0 0.1rem rgba(0, 0, 0, 0.24));

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.25s cubic-bezier(0.65, 0.05, 0.36, 1),
    transform 0.25s cubic-bezier(0.65, 0.05, 0.36, 1),
    visibility 0.25s;
}

/* Submenu items layout */
.main--navigation .sub-menu > li,
.rls--nav--item .sub-menu > li {
  white-space: nowrap;
}

/* Submenus hover/focus
-------------------------------------------------- */

/* Submenus hover/focus – ONLY for the floating box (first level) */
.main--navigation .menu > li.menu-item-has-children:hover > .sub-menu,
.main--navigation .menu > li.menu-item-has-children:focus-within > .sub-menu,
.rls--nav--item .menu > li.menu-item-has-children:hover > .sub-menu,
.rls--nav--item .menu > li.menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0); /* only the floating box is centered */
  pointer-events: auto;
}

.main--navigation .menu > li,
.rls--nav--item .menu > li {
  position: relative;
}

/* Transparent buffer area between label and submenu
   so :hover doesn’t drop when moving the mouse down */
.main--navigation .menu > li::after,
.rls--nav--item .menu > li::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2.8rem; /* same as the gap above */
}

/* hover */
/* Hover state for the entire Diagnostics/Company wrapper */
.primary-nav--wrapper:hover {
  background-color: var(--clr-brand-teal-900, #0b4446);
  transition: all 0.2s cubic-bezier(0.65, 0.05, 0.36, 1);
}

/* Change text color of top-level items inside this wrapper */
.primary-nav--wrapper:hover .menu > li.primary-menu-nav-item > a,
.primary-nav--wrapper .menu > li.primary-menu-nav-item:focus-within > a {
  color: var(--clr-brand-teal-50, #f2fbfb);
  transition: all 0.2s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.main--navigation .menu > li.primary-menu-nav-item:hover > a,
.main--navigation .menu > li.primary-menu-nav-item:focus-within > a {
  color: var(--clr-brand-teal-500, #9df0f0);
  transition: all 0.2s cubic-bezier(0.65, 0.05, 0.36, 1);
}

/* Background of the whole laser-pill on hover */
.rls--nav--wrapper:hover {
  background-color: var(--clr-brand-red-900, #520010);
  transition: all 0.2s cubic-bezier(0.65, 0.05, 0.36, 1);
}

/* Top-level "Laser Systems" link color on hover/focus */
.rls--nav--wrapper:hover .menu > li.primary-menu-nav-item-ls > a,
.rls--nav--wrapper .menu > li.primary-menu-nav-item-ls:focus-within > a {
  color: var(--clr-brand-red-50, #fcf7f8);
  transition: all 0.2s cubic-bezier(0.65, 0.05, 0.36, 1);
}

/* submenu content
-------------------------------------------------- */
.primary--sub-menu {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.sub-menu--links--wrapper {
  display: flex;
  gap: 1.6rem;
  padding: 0 0.8rem;
}

.menu-item-has-children {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex: 1;
}

.primary--sub-menu--head {
  color: var(--clr-brand-neutral-900, #6e695e);
  padding-left: 0.8rem;
}

.primary--sub-menu--items li {
  border-radius: 0.2rem;
  padding: 0.8rem;
  transition: all 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.primary--sub-menu--items li:hover {
  background-color: var(--clr-brand-neutral-300);
  transition: all 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.sub-menu--links {
  display: flex;
  gap: 1.2rem;
}

.nav--overview-item--link {
  display: flex;
  border-radius: 0.4rem;
  height: 12.8rem;
  width: 46.4rem;
}

.nav--overview-item--wrapper,
.nav--overview-item--wrapper--ls {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: end;
  padding: 1.6rem;
  border-radius: 0.4rem;
}

.nav--overview-item--wrapper {
  background: linear-gradient(
    0deg,
    rgba(11, 68, 70, 1) 0%,
    rgba(11, 68, 70, 0) 100%
  );
}

.nav--overview-item--wrapper--ls {
  background: linear-gradient(
    0deg,
    rgba(82, 0, 16, 1) 0%,
    rgba(82, 0, 16, 0) 100%
  );
}

.nav--overview-item {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

.nav--overview-item p {
  color: var(--clr-brand-neutral-50, #fafaf9);
}

#nav--overview-item--diagnostics {
  background: url(../assets/utility/refined-diagnostics-visual-1.webp) no-repeat
    center;
  background-size: 100%; /* start size */
  transition: background-size 0.4s ease-out;
}

#nav--overview-item--company {
  background: url(../assets/utility/refined-diagnostics-visual-2.webp) no-repeat
    center;
  background-size: 100%; /* start size */
  transition: background-size 0.4s ease-out;
}

#nav--overview-item--laser-systems {
  background: url(../assets/utility/refined-diagnostics-laser-systems-visual-1.webp)
    no-repeat center;
  background-size: 100%; /* start size */
  transition: background-size 0.4s ease-out;
}

/* scale effect */
#nav--overview-item--diagnostics:hover,
#nav--overview-item--company:hover,
#nav--overview-item--laser-systems:hover {
  background-size: 110%; /* zoom-in */
}

/*---------------------------------------------- 
	menu mobile
----------------------------------------------*/

/* Mobile */
@media (max-width: 1023px) {
  .main--navigation,
  .rls--nav--item,
  .nav--overview-item--link {
    width: 100%;
  }

  .primary-menu--wrapper {
    width: 100%;
  }

  .primary-menu--branding {
    width: 100%;
  }

  /* mobile toggle (burger) */
  .mobile--toggle--wrapper {
    height: 5.6rem;
    width: 5.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.4rem;
    background-color: rgba(238, 236, 231, 0.64);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px); /* Safari */
  }

  .menu--toggle {
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.6rem;
    cursor: pointer;
  }

  .menu--toggle-bar {
    width: 1.6rem;
    height: 0.2rem;
    border-radius: 0.2rem;
    background-color: var(--clr-brand-teal-900, #0b4446);
    transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -o-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -ms-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -moz-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -webkit-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  .menu--toggle:hover > .menu--toggle-bar {
    background-color: var(--clr-brand-teal-600, #2cd4dd);
    transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -o-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -ms-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -moz-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -webkit-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  #bar-top,
  #bar-bottom {
    align-self: flex-end;
  }

  .menu--panel-close--wrapper {
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }

  .menu--panel-close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5.6rem;
    height: 5.6rem;
    background-color: var(--clr-brand-teal-50, #f4fefe);
    border-radius: 0.4rem;
  }

  .close-button {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 2.4rem;
    height: 2.4rem;
    cursor: pointer;
  }

  .close-bar {
    width: 2.4rem;
    height: 0.2rem;
    border-radius: 0.2rem;
    background-color: var(--clr-brand-teal-900, #0b4446);
    transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -o-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -ms-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -moz-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -webkit-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  .close-button:hover > .close-bar {
    background-color: var(--clr-brand-primary-600, #2cd4dd);
    transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -o-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -ms-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -moz-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
    -webkit-transition: background-color 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  #close-bar-top {
    transform-origin: center;
    transform: rotate(-45deg);
  }

  #close-bar-bottom {
    transform-origin: center;
    transform: translate(0, -0.2rem) rotate(45deg);
  }

  /* FULLSCREEN overlay sliding vertically */
  .menu--panel {
    position: fixed;
    display: flex;
    align-items: stretch;
    inset: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(238, 236, 231, 0.64);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    transform: translateY(-100%);
    z-index: 99999;
    overflow-y: auto;
  }

  /* enable animation only when JS adds this class */
  .menu--panel.is-animated {
    transition: transform 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  .menu--panel.is-open {
    transform: translateY(0);
  }

  .menu--panel--content {
    --max-width: 124rem;
    --padding: 8vw;
    width: min(var(--max-width), 100% - var(--padding));
    margin-inline: auto;
    padding-top: 2.4rem;
    /* height: 100%; */
    flex-direction: column;
    align-items: flex-start;
    justify-content: stretch;
  }

  body.menu-open {
    overflow: hidden;
  }

  .primary-nav--container {
    height: auto;
    width: 100%;
    margin-top: 8vh;
    align-items: flex-start;
    flex-direction: column;
    flex: 1 auto;
    gap: 1.6rem;
  }

  #primary-menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
  }

  .primary-nav--wrapper,
  .rls--nav--wrapper,
  .menu--contact--wrapper {
    width: 100%;
    height: auto;
    border-radius: 0;
    padding: 0;
    background-color: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    align-items: flex-start;
  }

  .primary-menu-nav-item,
  .primary-menu-nav-item-ls {
    width: 100%;
  }

  .menu--contact--wrapper .menu--contact--button-group {
    width: 100%;
    justify-content: center;
    padding: 6vh 0;
    background-color: transparent;
    backdrop-filter: none;
  }

  /* On mobile: CTA should not be controlled by scroll animation */
  [data-header-cta="1"] .menu--contact--wrapper {
    opacity: 1;
    transform: none;
  }

  /* Accordion behavior for top-level items (Diagnostics, Company, Laser Systems) */
  /* body.menu-open
    .main--navigation
    .menu
    > li.menu-item-has-children
    > .sub-menu,
  body.menu-open .rls--nav--item .menu > li.menu-item-has-children > .sub-menu {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    min-width: 0;
    margin: 0.8rem 0 0;
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    filter: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: none;
    display: none;
  } */

  /* Accordion behavior for top-level items (Diagnostics, Company, Laser Systems) */
  body.menu-open
    .main--navigation
    .menu
    > li.menu-item-has-children
    > .sub-menu,
  body.menu-open .rls--nav--item .menu > li.menu-item-has-children > .sub-menu {
    position: static;
    top: auto;
    left: auto;
    min-width: 0;
    margin: 0.8rem 0 0;
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    filter: none;

    display: flex;
    flex-direction: column;

    /* collapsed state */
    max-height: 0;
    opacity: 0;
    transform: translateY(-0.4rem);
    overflow: hidden;
    pointer-events: none;
    visibility: hidden; /* override desktop dropdown */

    transition: all 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  body.menu-open .main--navigation .menu > li::after,
  body.menu-open .rls--nav--item .menu > li::after {
    content: none;
  }

  .main--navigation .menu > li.menu-item-has-children > a,
  .rls--nav--item .menu > li.menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.8rem 0;
  }

  .main--navigation .menu > li.menu-item-has-children > a::after,
  .rls--nav--item .menu > li.menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    margin-left: 0.8rem;
    background-image: url("../assets/utility/dropdown-arrow.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: all 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  .main--navigation .menu > li.menu-item-has-children.is-open > a::after,
  .rls--nav--item .menu > li.menu-item-has-children.is-open > a::after {
    transform: rotate(180deg);
    transition: all 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  /* body.menu-open
    .main--navigation
    .menu
    > li.menu-item-has-children.is-open
    > .sub-menu,
  body.menu-open
    .rls--nav--item
    .menu
    > li.menu-item-has-children.is-open
    > .sub-menu {
    display: flex;
    padding-bottom: 2.4rem;
    border-bottom: 0.1rem solid var(--clr-brand-neutral-300);
  } */

  body.menu-open
    .main--navigation
    .menu
    > li.menu-item-has-children.is-open
    > .sub-menu,
  body.menu-open
    .rls--nav--item
    .menu
    > li.menu-item-has-children.is-open
    > .sub-menu {
    /* expanded state */
    max-height: 100rem; /* large enough to fit content */
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible; /* keep visible even when mouse leaves */

    padding-bottom: 2.4rem;
    border-bottom: 0.1rem solid var(--clr-brand-neutral-300);
  }

  body.menu-open .primary-nav--wrapper:hover,
  body.menu-open .rls--nav--wrapper:hover {
    background-color: transparent;
  }

  #primary-menu--item--diagnostics,
  #primary-menu--item--company,
  #primary-menu--item--laser-systems {
    font-size: 2.4rem;
    font-weight: 300;
    color: var(--clr-brand-teal-900, #0b4446);
  }
}

/* small screens*/
@media (max-width: 512px) {
  .sub-menu--links--wrapper {
    flex-direction: column;
  }
}

/* Desktop reset */
@media (min-width: 1024px) {
  .menu--toggle,
  .menu--panel-close {
    display: none;
  }
}

/*---------------------------------------------- 
	legal
----------------------------------------------*/

.legal--content--wrapper {
  gap: 4rem;
  margin-bottom: 20vh;
}

.legal--hero {
  padding-top: 1.6rem;
  margin-top: 28vh;
  margin-bottom: 6.4rem;
}

.legal--content {
  gap: 0.8rem;
}

.legal--content--paragraph {
  gap: 0.8rem;
}

/*---------------------------------------------- 
	contact
----------------------------------------------*/

/* contact hero */
.contact--hero {
  margin-bottom: 16vh;
}

.contact--hero--wrapper {
  position: relative;
  padding: 20vh 0 16vh 0;
}

.contact--hero--copy,
.contact--hero--head {
  align-items: center;
  gap: 0.8rem;
  z-index: 1;
}

.contact--hero--head {
  text-align: center;
}

.contact--hero--video--wrapper,
.contact--hero--video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* video fallback images */
.contact--hero--video--wrapper {
  background: url(../assets/videos/refined-diagnostics-contact.webp) no-repeat
    center;
  background-size: cover;
}

/* contact section */

/* contact details */
.contact-form--section--wrapper {
  gap: 8rem;
}

.contact-details--wrapper,
.contact-form--wrapper {
  flex: 1;
}

.contact-details--wrapper {
  gap: 0.8rem;
}

.contact--details {
  gap: 2.4rem;
}

/* contact form */
.contact-form-field {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  font-family: "GT-Planar", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8rem;
  font-weight: 300;
  padding: 1.6rem;
  background-color: transparent;
  border: 0.1rem solid var(--clr-brand-neutral-300, #e3e1de);
  border-radius: 0.4rem;
  margin-top: 1.6rem;
  color: var(--clr-brand-teal-900, #0b4446);
}

.wpcf7 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image: url("../assets/utility/dropdown-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-size: 1.6rem;
  padding-right: 3.2rem; /* add some space for the arrow */
  cursor: pointer;
  color: var(--clr-brand-neutral-900, #aba69c);
}

.wpcf7 select option:first-child {
  color: var(--clr-brand-neutral-900, #aba69c);
}

.wpcf7 select:has(option:checked:not([value=""])) {
  color: var(--clr-brand-teal-900, #0b4446);
}

::placeholder {
  color: var(--clr-brand-neutral-900, #aba69c);
}

#contact-form-message {
  resize: none;
}

.wpcf7-form-control:focus {
  outline: none;
  border-color: var(--clr-brand-primary-600, #2cd4dd);
}

/* button */
.contact-form-button {
  display: inline-flex;
  width: 100%;
  padding: 1.6rem;
  font-family: "GT-Planar", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8rem;
  font-weight: 400;
  color: var(--clr-brand-teal-50, #f4fefe);
  justify-content: center;
  align-items: center;
  background: var(--clr-brand-teal-900, #0b4446);
  border: none;
  border-radius: 0.4rem;
  margin-top: 1.6rem;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.contact-form-button:hover {
  background: var(--clr-brand-teal-800, #0e5558);
  transition: all 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.wpcf7-not-valid-tip {
  color: #d74a4a;
  font-size: 1.2rem;
  line-height: 1.4rem;
  display: block;
  padding: 0.4rem 0 0 0.4rem;
}

.wpcf7 form .wpcf7-response-output {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.8rem;
  color: var(--clr-brand-teal-900, #0b4446);
  margin: 0.8rem 0 0 0;
  padding: 1.6rem;
  border: none;
  border-radius: 0.4rem;
}

.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  background-color: #c2ffca; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  background-color: #ffcac2; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
  background-color: #ffdac2; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: var(--clr-brand-teal-50, #f4fefe);
  border: 0.1rem solid var(--clr-brand-teal-200, #d6f2f2);
}

/* directions */

.directions--map {
  width: 100%;
  height: 40rem;
  border-radius: 0.8rem;
}

@media (min-width: 720px) {
  .contact-form--section--wrapper {
    flex-direction: row;
    gap: 2.4rem;
  }
}

/*---------------------------------------------- 
	primary hero
----------------------------------------------*/

/* primary hero */
.primary-hero--section,
.primary-hero--subpage--section {
  padding: 1.6rem 0;
  margin-top: 28vh;
  margin-bottom: 12.8vh;
}

/* section headline-cta */
.primary-hero--copy-cta--wrapper {
  gap: 0.8rem;
  margin-bottom: 4rem;
}

.primary-hero--copy-cta {
  grid-template-rows: auto;
  gap: 2.4rem;
}

.primary-hero--copy {
  max-width: 48rem;
  gap: 1.6rem;
}

.primary-hero--cta {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.8rem;
}

/* primary-hero-subpage */
.primary-hero--subpage-content--wrapper {
  gap: 1.6rem;
}

.primary-hero--subpage--copy {
  max-width: 64rem;
  gap: 1.6rem;
}

@media (min-width: 1024px) {
  /* section headline and copy */
  .primary-hero--copy-cta {
    grid-template-columns: 2fr 1fr;
    gap: 4.8rem;
  }

  .primary-hero--cta {
    justify-content: flex-start;
    align-items: end;
    flex-direction: row-reverse;
  }

  /* subpage primary hero */
  .primary-hero--subpage-content--wrapper {
    grid-template-columns: 1fr 1fr;
    gap: 4.8rem;
  }

  .primary-hero--subpage--copy {
    justify-content: center;
  }
}

/* primary hero visual */
.primary-hero--visual--wrapper {
  height: 32rem;
  background: url(../assets/videos/refined-diagnostics-laser-systems.webp)
    no-repeat center;
  background-size: cover;
  clip-path: polygon(
    0% 2.5%,
    0% 2.5%,
    0.009% 2.094%,
    0.033% 1.71%,
    0.073% 1.351%,
    0.126% 1.024%,
    0.192% 0.732%,
    0.268% 0.482%,
    0.354% 0.279%,
    0.447% 0.127%,
    0.548% 0.033%,
    0.654% 0%,
    99.284% 0%,
    99.284% 0%,
    99.404% 0.042%,
    99.517% 0.162%,
    99.62% 0.354%,
    99.711% 0.607%,
    99.79% 0.915%,
    99.854% 1.269%,
    99.901% 1.662%,
    99.93% 2.085%,
    99.938% 2.531%,
    99.926% 2.99%,
    94.954% 97.99%,
    94.954% 97.99%,
    94.93% 98.331%,
    94.894% 98.648%,
    94.848% 98.94%,
    94.792% 99.202%,
    94.727% 99.433%,
    94.656% 99.629%,
    94.577% 99.787%,
    94.493% 99.903%,
    94.405% 99.975%,
    94.312% 100%,
    0.654% 100%,
    0.654% 100%,
    0.548% 99.967%,
    0.447% 99.873%,
    0.354% 99.721%,
    0.268% 99.518%,
    0.192% 99.268%,
    0.126% 98.976%,
    0.073% 98.649%,
    0.033% 98.29%,
    0.009% 97.905%,
    0% 97.5%,
    0% 2.5%
  );
}

.primary-hero--visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* video fallback images */
#primary-hero--visual--diagnostics {
  background: url(../assets/videos/refined-diagnostics-primary-visual.webp)
    no-repeat center;
  background-size: cover;
}

#primary-hero--visual--laser-systems {
  background: url(../assets/videos/refined-diagnostics-laser-systems-primary-visual.webp)
    no-repeat center;
  background-size: cover;
}

#primary-hero--subpage-visual--clinical-benefits {
  background: url(../assets/videos/refined-diagnostics-secondary-visual.webp)
    no-repeat center;
  background-size: cover;
}

#primary-hero--subpage-visual--srs-imaging-solutions {
  background: url(../assets/videos/refined-diagnostics-laser-systems-visual-2.webp)
    no-repeat center;
  background-size: cover;
}

@media (max-width: 640px) {
  .primary-hero--visual--wrapper {
    /* height: 20rem; */
    clip-path: polygon(
      0% 4%,
      0% 4%,
      0.033% 3.351%,
      0.127% 2.736%,
      0.279% 2.162%,
      0.482% 1.638%,
      0.732% 1.172%,
      1.024% 0.772%,
      1.351% 0.446%,
      1.71% 0.204%,
      2.094% 0.052%,
      2.5% 0%,
      97.5% 0%,
      97.5% 0%,
      97.905% 0.052%,
      98.29% 0.204%,
      98.649% 0.446%,
      98.976% 0.772%,
      99.268% 1.172%,
      99.518% 1.638%,
      99.721% 2.162%,
      99.873% 2.736%,
      99.967% 3.351%,
      100% 4%,
      100% 80.38%,
      100% 80.38%,
      99.971% 80.985%,
      99.889% 81.563%,
      99.755% 82.107%,
      99.576% 82.61%,
      99.354% 83.064%,
      99.093% 83.463%,
      98.799% 83.799%,
      98.474% 84.065%,
      98.122% 84.254%,
      97.749% 84.36%,
      2.749% 99.56%,
      2.749% 99.56%,
      2.314% 99.57%,
      1.898% 99.464%,
      1.506% 99.251%,
      1.145% 98.942%,
      0.822% 98.546%,
      0.544% 98.071%,
      0.316% 97.528%,
      0.145% 96.925%,
      0.037% 96.273%,
      0% 95.58%,
      0% 4%
    );
  }
}

/*---------------------------------------------- 
	text hero
----------------------------------------------*/

.text--hero {
  padding-top: 1.6rem;
  margin-top: 28vh;
  margin-bottom: 16vh;
}

.text--hero--wrapper {
  gap: 8vh;
}

.text--hero--copy {
  gap: 3.2rem;
}

/* company */
#company--hero--visual-lg {
  display: none;
}

@media (min-width: 640px) {
  /* company */
  #company--hero--visual-sm {
    display: none;
  }

  #company--hero--visual-lg {
    display: block;
  }
}

/*---------------------------------------------- 
	product hero
----------------------------------------------*/

.pdp-hero--section--wrapper {
  gap: 8rem;
}

.pdp-hero--section {
  padding: 1.6rem 0;
  margin-top: 24vh;
  margin-bottom: 8vh;
}

.pdp-hero--content-visual--wrapper {
  grid-template-rows: auto;
  gap: 4rem;
}

.pdp-hero--content--wrapper {
  gap: 0.8rem;
}

.pdp-hero-copy--wrapper {
  max-width: 60rem;
  gap: 4rem;
}

.pdp-hero--copy {
  gap: 2.4rem;
}

.pdp-hero--cta--wrapper {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.8rem;
}

.pdp-hero--visual {
  border-radius: 0.8rem;
}

.pdp-hero--product-features--wrapper {
  gap: 1.2rem;
}

.pdp-hero--product-features--list-wrapper {
  grid-template-rows: auto;
  gap: 1.6rem;
  padding: 2.4rem;
  background-color: var(--clr-brand-primary-50);
  border-radius: 0.8rem;
}

.pdp-hero--product-features--list {
  gap: 1.6rem;
}

.pdp-hero--product-features--list-item {
  flex-direction: row;
  gap: 0.4rem;
  align-items: center;
}

.pdp-hero--product-features--list-icon {
  width: 2.4rem;
  height: 2.4rem;
}

.pdp-hero--product-features--info-bar--wrapper {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1.6rem;
  padding: 0 0.8rem;
}

@media (min-width: 720px) {
  .pdp-hero--product-features--list-wrapper {
    grid-template-columns: 1fr 1fr 1fr;
  }

  #list--wrapper--two-columns {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 960px) {
  .pdp-hero--section--wrapper {
    gap: 9.6rem;
  }

  .pdp-hero--section {
    margin-bottom: 12.8vh;
  }

  .pdp-hero--content-visual--wrapper {
    grid-template-columns: 2fr 1fr;
    gap: 2.4rem;
  }

  .pdp-hero--product-features--info-bar--wrapper {
    padding: 0 2.4rem;
  }
}

/*---------------------------------------------- 
	case studies
----------------------------------------------*/
.case-studies--list {
  gap: 1.2rem;
}

.case-studies--link {
  flex-direction: row;
  gap: 1.6rem;
  justify-content: space-between;
  padding: 1.6rem;
  border-radius: 0.8rem;
  background-color: var(--clr-brand-neutral-100, #f6f6f5);
}

.case-study--icon--wrapper {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}

.case-study--icon {
  width: 2.4rem;
  height: 2.4rem;
}

/*---------------------------------------------- 
	team
----------------------------------------------*/

.team--founder--wrapper {
  gap: 4.8rem;
  margin-bottom: 16vh;
}

.founder--visual-info--wrapper {
  gap: 2.4rem;
}

#founder--tim-hellwig {
  flex-direction: column-reverse;
}

.founder--info {
  gap: 0.8rem;
}

/* team slider */
.team--slider--wrapper {
  gap: 2.4rem;
}

.team--slider--item {
  height: 32rem;
  width: 24rem;
  position: relative;
  padding: 0.8rem;
  border-radius: 0.8rem;
  overflow: hidden;
  justify-content: flex-end;
}

.team--slider--img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.team--slider--info-wrapper {
  z-index: 1;
  gap: 0.2rem;
  padding: 1.6rem;
  border-radius: 0.4rem;
  background: rgba(11, 68, 70, 0.32);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.team--slider--info-wrapper p {
  color: var(--clr-brand-neutral-50, #fafaf9);
}

@media (min-width: 720px) {
  .founder--visual-info--wrapper,
  #founder--tim-hellwig {
    flex-direction: row;
  }

  .founder--info--wrapper,
  .founder--visual {
    width: 50%;
  }

  .founder--info--wrapper {
    justify-content: center;
    align-items: center;
  }
}

/*---------------------------------------------- 
	origins section
----------------------------------------------*/

.origins--section--visual--wrapper {
  height: 32rem;
  background: url(../assets/videos/refined-diagnostics-laser-systems.webp)
    no-repeat center;
  background-size: cover;
  clip-path: polygon(
    0% 2.5%,
    0% 2.5%,
    0.009% 2.094%,
    0.033% 1.71%,
    0.073% 1.351%,
    0.126% 1.024%,
    0.192% 0.732%,
    0.268% 0.482%,
    0.354% 0.279%,
    0.447% 0.127%,
    0.548% 0.033%,
    0.654% 0%,
    99.284% 0%,
    99.284% 0%,
    99.404% 0.042%,
    99.517% 0.162%,
    99.62% 0.354%,
    99.711% 0.607%,
    99.79% 0.915%,
    99.854% 1.269%,
    99.901% 1.662%,
    99.93% 2.085%,
    99.938% 2.531%,
    99.926% 2.99%,
    94.954% 97.99%,
    94.954% 97.99%,
    94.93% 98.331%,
    94.894% 98.648%,
    94.848% 98.94%,
    94.792% 99.202%,
    94.727% 99.433%,
    94.656% 99.629%,
    94.577% 99.787%,
    94.493% 99.903%,
    94.405% 99.975%,
    94.312% 100%,
    0.654% 100%,
    0.654% 100%,
    0.548% 99.967%,
    0.447% 99.873%,
    0.354% 99.721%,
    0.268% 99.518%,
    0.192% 99.268%,
    0.126% 98.976%,
    0.073% 98.649%,
    0.033% 98.29%,
    0.009% 97.905%,
    0% 97.5%,
    0% 2.5%
  );
}

.origins--section--visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* video fallback images */
#origins--visual {
  background: url(../assets/videos/refined-diagnostics-laser-systems-primary-visual.webp)
    no-repeat center;
  background-size: cover;
}

#cross-link--visual--laser-systems {
  background: url(../assets/videos/refined-diagnostics-laser-systems-cross-link.webp)
    no-repeat center;
  background-size: cover;
}

#cross-link--visual--diagnostics {
  background: url(../assets/videos/refined-diagnostics-cross-link.webp)
    no-repeat center;
  background-size: cover;
}

@media (max-width: 640px) {
  .origins--section--visual--wrapper {
    /* height: 20rem; */
    clip-path: polygon(
      0% 4%,
      0% 4%,
      0.033% 3.351%,
      0.127% 2.736%,
      0.279% 2.162%,
      0.482% 1.638%,
      0.732% 1.172%,
      1.024% 0.772%,
      1.351% 0.446%,
      1.71% 0.204%,
      2.094% 0.052%,
      2.5% 0%,
      97.5% 0%,
      97.5% 0%,
      97.905% 0.052%,
      98.29% 0.204%,
      98.649% 0.446%,
      98.976% 0.772%,
      99.268% 1.172%,
      99.518% 1.638%,
      99.721% 2.162%,
      99.873% 2.736%,
      99.967% 3.351%,
      100% 4%,
      100% 80.38%,
      100% 80.38%,
      99.971% 80.985%,
      99.889% 81.563%,
      99.755% 82.107%,
      99.576% 82.61%,
      99.354% 83.064%,
      99.093% 83.463%,
      98.799% 83.799%,
      98.474% 84.065%,
      98.122% 84.254%,
      97.749% 84.36%,
      2.749% 99.56%,
      2.749% 99.56%,
      2.314% 99.57%,
      1.898% 99.464%,
      1.506% 99.251%,
      1.145% 98.942%,
      0.822% 98.546%,
      0.544% 98.071%,
      0.316% 97.528%,
      0.145% 96.925%,
      0.037% 96.273%,
      0% 95.58%,
      0% 4%
    );
  }
}

/*---------------------------------------------- 
	cta
----------------------------------------------*/
.cta--section--wrapper {
  align-items: center;
  position: relative;
  padding: 8rem 4rem;
  border-radius: 0.8rem;
  overflow: hidden;
}

.cta--wrapper {
  gap: 0.8rem;
  align-items: center;
  max-width: 56rem;
  z-index: 1;
}

.cta--copy--button {
  gap: 4.8rem;
}

.cta--copy {
  gap: 1.2rem;
  text-align: center;
}

.cta--copy h2,
.cta--copy p {
  color: var(--clr-brand-primary-50);
}

.cta--button {
  align-items: center;
  flex-direction: column-reverse;
  gap: 0.8rem;
}

.cta--video--wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.cta--video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#cta--video--diagnostics {
  background: url(../assets/videos/refined-diagnostics-visual-1-blurred.webp)
    no-repeat center;
  background-size: cover;
}

#cta--video--laser-systems {
  background: url(../assets/videos/refined-diagnostics-laser-systems-blurred.webp)
    no-repeat center;
  background-size: cover;
}

/*---------------------------------------------- 
	quote
----------------------------------------------*/

.quote--section--wrapper {
  gap: 4.8rem;
}

.quote--visual--wrapper {
  align-items: center;
}

.quote--visual {
  width: clamp(16rem, 13.91vw + 11.55rem, 28.8rem);
  height: auto;
}

.quote--copy--wrapper {
  align-items: center;
  gap: 1.6rem;
}

.key-visual--quote {
  width: 2.4rem;
  height: 2.4rem;
  fill: var(--clr-brand-primary-900);
}

.quote--copy--info {
  align-items: center;
  text-align: center;
  gap: 3.2rem;
}

.quote--avatar--info {
  align-items: center;
  gap: 1.6rem;
  max-width: 40rem;
}

.quote--avatar--info img {
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 6.4rem;
}

.quote--divider {
  height: 0.1rem;
  width: 4rem;
  background-color: var(--clr-brand-neutral-500, #d0cdc8);
}

.quote--info {
  gap: 0.4rem;
}

/*---------------------------------------------- 
	logo-slider
----------------------------------------------*/
.logo-slider--section {
  overflow: hidden;
}

.logo-slider--section--wrapper {
  gap: 8rem;
  align-items: center;
}

.logo-slider {
  position: relative;
  overflow: hidden;
}

.logo-track {
  display: inline-flex;
  align-items: center;
  gap: 9.6rem;
}

.logo-track img {
  height: 9.6rem;
  width: auto;
  flex-shrink: 0;
}

/*---------------------------------------------- 
	features section
----------------------------------------------*/
.features--main-visual {
  margin-bottom: 8rem;
}

.features--subhead-content--wrapper {
  gap: 4.8rem;
  margin-bottom: 8rem;
}

.features--subhead-content--wrapper-last {
  gap: 4.8rem;
  margin-bottom: 0rem;
}

.features--subhead-content {
  grid-template-rows: auto;
  gap: 2.4rem;
}

.features--content {
  gap: 1.6rem;
}

/* aquila */
#features-aquila--blurb-wrapper,
#features-clinical-benefits--blurb-wrapper {
  margin-bottom: 8rem;
}

@media (min-width: 1024px) {
  .features--subhead-content {
    grid-template-columns: 1fr 2fr;
    gap: 4.8rem;
  }
}

/*---------------------------------------------- 
	portfolio section
----------------------------------------------*/

.portfolio--product-listing--container {
  overflow-x: auto;
  scrollbar-gutter: stable;
}

.portfolio--product-listing--container::-webkit-scrollbar {
  display: none;
}

.portfolio--product-listing--wrapper {
  display: flex;
  gap: 0.8rem;
}

.portfolio--product-listing--product {
  gap: 5.6rem;
  flex-shrink: 0;
  justify-content: space-between;
  background-color: var(--clr-brand-primary-50);
  border-radius: 0.8rem;
  padding: 2.4rem;
}

.product-listing--name-specs--wrapper {
  gap: 4rem;
}

.product-listing--name--wrapper {
  gap: 0.8rem;
}

.product-listing--specs--wrapper {
  gap: 1.6rem;
}

.product-listing--list {
  gap: 1.2rem;
}

.product-listing--list-item {
  flex-direction: row;
  gap: 0.4rem;
  align-items: center;
}

.product-listing--list-icon {
  width: 2.4rem;
  height: 2.4rem;
}

@media (min-width: 640px) {
  .portfolio--product-listing--wrapper {
    justify-content: space-between;
  }

  .portfolio--product-listing--product {
    flex-shrink: 1;
    min-width: 40rem;
  }
}

/*---------------------------------------------- 
	about us section
----------------------------------------------*/

#about-us--section--visual-md,
#about-us--section--visual-lg {
  display: none;
}

@media (min-width: 640px) {
  #about-us--section--visual-sm {
    display: none;
  }

  #about-us--section--visual-md {
    display: block;
  }
}

@media (min-width: 960px) {
  #about-us--section--visual-md {
    display: none;
  }

  #about-us--section--visual-lg {
    display: block;
  }
}

/*---------------------------------------------- 
	clinical benefits
----------------------------------------------*/
/* what we deliver slider */
.what-we-deliver--slider--wrapper {
  gap: 2.4rem;
  margin-bottom: 8rem;
}

.wwd--slider--item {
  height: 32rem;
  width: 32rem;
  position: relative;
  padding: 0.8rem;
  border-radius: 0.8rem;
  overflow: hidden;
  justify-content: flex-end;
}

.wwd--slider--img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.wwd--slider--info-wrapper {
  z-index: 1;
  gap: 0.2rem;
  padding: 1.6rem;
  border-radius: 0.4rem;
  background: rgba(11, 68, 70, 0.32);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.wwd--slider--info-wrapper p {
  color: var(--clr-brand-neutral-50, #fafaf9);
}

/*---------------------------------------------- 
	recent-news
----------------------------------------------*/

.recent-news--section {
  padding: 9.6rem 0;
  background: url(../assets/utility/background-recent-news.svg) no-repeat center;
  background-size: cover;
}

/*---------------------------------------------- 
	recent-news
----------------------------------------------*/

.recent-posts--wrapper {
  grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
  gap: 1.2rem;
}

.recent-news--post-tile {
  align-self: self-start;
}

#recent-news--post-tile:hover {
  background-color: var(--clr-brand-teal-800, #0e5558);
}

#recent-news--post-tile--title {
  color: var(--clr-brand-teal-50, #f4fefe);
}

#recent-news--post-tile--icon {
  stroke: var(--clr-brand-teal-50, #f4fefe);
}

#recent-news--post-tile--date {
  color: var(--clr-brand-teal-300, #c8ecec);
}

@media (min-width: 640px) {
  .recent-posts--wrapper {
    grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
  }

  .post-tile.big {
    grid-column: span 2;
  }
}

@media (min-width: 1168px) {
  .recent-posts--wrapper {
    grid-template-columns: repeat(auto-fit, minmax(256px, 1fr));
  }
}

/*---------------------------------------------- 
	acf-accordion-section
----------------------------------------------*/

.acf-acc--section--wrapper {
  gap: 8rem;
}

.acf-acc--head--wrapper {
  flex: 1;
  gap: 0.8rem;
}

.acf-acc--accordion--wrapper {
  flex: 1;
  gap: 1.2rem;
}

.acf-acc--head {
  gap: 0.8rem;
  max-width: 40rem;
}

.acf-acc--accordion {
  gap: 1.2rem;
}

.job-listing--content,
.job-listing--content ul {
  gap: 0.8rem;
}

.job-listing--content--bullet-point {
  list-style-type: disc;
  list-style-position: outside;
  margin-left: 1.6rem;
}

@media (min-width: 960px) {
  .acf-acc--section--wrapper {
    flex-direction: row;
    gap: 2.4rem;
  }
}

/*---------------------------------------------- 
	news
----------------------------------------------*/

.news-page--wrapper {
  padding-top: 1.6rem;
  margin-top: 28vh;
}

.blog-posts--wrapper {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2.4rem;
}

.blog-pagination--wrapper {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.4rem;
  justify-content: center;
  margin-top: 6.4rem;
}

.blog-pagination--wrapper a {
  transition: color 0.25s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.blog-pagination--wrapper a:hover {
  color: var(--clr-brand-teal-700, #17888c);
  transition: color 0.25s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.blog-pagination--numbers {
  flex-direction: row;
  gap: 1.6rem;
}

.current {
  text-decoration: underline;
}

/*---------------------------------------------- 
	single post
----------------------------------------------*/

.single-post--wrapper {
  max-width: 80rem;
  padding-top: 8rem;
  margin-top: 8vh;
  margin-inline: auto;
  gap: 4rem;
}

.single-post {
  gap: 8rem;
}

.single-post--article {
  gap: 4rem;
}

.single-post--head {
  gap: 0.8rem;
}

.single-post--thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 0.8rem;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

.single-post--navigation {
  flex-direction: row;
  justify-content: space-between;
  padding-top: 1.6rem;
  border-top: 0.1rem solid var(--clr-brand-neutral-200, #ecebe9);
}

/* --------
  Restore default WordPress content styles inside single post only 
-------- */

.single-post--content {
  font-family: inherit;
  font-size: 1.6rem; /* matches your <p> base */
  line-height: 1.7;
  color: var(--clr-brand-teal-900, #0b4446);
}

/* Paragraphs */
.single-post--content p {
  margin-bottom: 1.5em;
}

/* Headings */
.single-post--content h1,
.single-post--content h2,
.single-post--content h3,
.single-post--content h4,
.single-post--content h5,
.single-post--content h6 {
  font-weight: 600;
  line-height: 1.25;
  color: var(--clr-brand-teal-900, #0b4446);
  margin-top: 2em;
  margin-bottom: 0.75em;
}

.single-post--content h1 {
  font-size: 2.8rem;
}
.single-post--content h2 {
  font-size: 2.4rem;
}
.single-post--content h3 {
  font-size: 2rem;
}
.single-post--content h4 {
  font-size: 1.8rem;
}
.single-post--content h5 {
  font-size: 1.6rem;
}
.single-post--content h6 {
  font-size: 1.4rem;
  font-weight: 500;
}

/* Lists — restore bullets/numbers */
.single-post--content ul,
.single-post--content ol {
  margin: 1.5em 0 1.5em 2.5em;
  padding-left: 1.5em;
}

.single-post--content ul {
  list-style: disc;
}

.single-post--content ol {
  list-style: decimal;
}

.single-post--content li {
  margin-bottom: 0.5em;
  line-height: 1.6;
}

/* Nested lists keep bullets/numbers */
.single-post--content li ul {
  list-style-type: circle;
  margin-top: 0.5em;
}
.single-post--content li ol {
  list-style-type: lower-alpha;
  margin-top: 0.5em;
}

/* Blockquotes */
.single-post--content blockquote {
  margin: 1.5em 0;
  padding: 1em 1.5em;
  border-left: 4px solid #ccc;
  font-style: italic;
  color: #555;
  background-color: #f9f9f9;
}

/* Links */
.single-post--content a {
  color: var(--clr-brand-teal-900, #0b4446);
  text-decoration: underline;
}
.single-post--content a:hover,
.single-post--content a:focus {
  color: var(--clr-brand-teal-700, #17888c);
  text-decoration: underline;
}

/* Images & Figures */
.single-post--content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5em auto;
  border-radius: 0.8rem;
}

.single-post--content figure {
  margin: 1.5em 0;
  text-align: center;
}

.single-post--content figcaption {
  font-size: 1.4rem;
  color: #555;
  margin-top: 0.5em;
}

/* Tables */
.single-post--content table {
  border-collapse: collapse;
  width: 100%;
  margin: 1.5em 0;
}

.single-post--content th,
.single-post--content td {
  border: 1px solid #ddd;
  padding: 0.75em;
  text-align: left;
}

.single-post--content th {
  background: #f2f2f2;
  font-weight: 600;
}

/* Horizontal rules */
.single-post--content hr {
  border: none;
  border-top: 1px solid #ccc;
  margin: 2em 0;
}

/* Code blocks */
.single-post--content code {
  font-family: monospace, monospace;
  background: #f4f4f4;
  padding: 0.2em 0.4em;
  border-radius: 3px;
}

.single-post--content pre {
  background: #f4f4f4;
  padding: 1.2em;
  overflow-x: auto;
  border-radius: 4px;
  margin: 1.5em 0;
}

.single-post--content pre code {
  background: none;
  padding: 0;
}

/* Emphasis & strong */
.single-post--content strong,
.single-post--content b {
  font-weight: 700;
}
.single-post--content em,
.single-post--content i {
  font-style: italic;
}

/* Captions (classic WP .wp-caption) */
.single-post--content .wp-caption {
  max-width: 100%;
  text-align: center;
  margin: 1.5em auto;
}

.single-post--content .wp-caption img {
  margin-bottom: 0.5em;
}

.single-post--content .wp-caption-text {
  font-size: 1.4rem;
  color: #555;
}

/* Gutenberg block fallback spacing */
.single-post--content .wp-block-image,
.single-post--content .wp-block-gallery,
.single-post--content .wp-block-quote,
.single-post--content .wp-block-table,
.single-post--content .wp-block-list {
  margin-bottom: 1.5em;
}

/*---------------------------------------------- 
	cross-links
----------------------------------------------*/

.cross-links--section--wrapper {
  gap: 8rem;
}

.cross-link--wrapper {
  gap: 4rem;
  flex: 1;
}

.cross-link--copy--wrapper {
  gap: 0.8rem;
}

.cross-link--copy--cta {
  gap: 2.4rem;
}

.cross-link--copy {
  gap: 0.8rem;
}

.cross-link--visual--wrapper {
  clip-path: polygon(
    0% 2.5%,
    0% 2.5%,
    0.016% 2.095%,
    0.062% 1.71%,
    0.136% 1.352%,
    0.236% 1.024%,
    0.358% 0.733%,
    0.5% 0.483%,
    0.66% 0.279%,
    0.836% 0.128%,
    1.023% 0.033%,
    1.221% 0%,
    98.787% 0%,
    98.787% 0%,
    99.001% 0.038%,
    99.203% 0.148%,
    99.388% 0.323%,
    99.555% 0.556%,
    99.7% 0.84%,
    99.821% 1.169%,
    99.914% 1.535%,
    99.977% 1.933%,
    100.007% 2.355%,
    100% 2.795%,
    94.484% 97.795%,
    94.484% 97.795%,
    94.449% 98.162%,
    94.389% 98.507%,
    94.307% 98.826%,
    94.204% 99.115%,
    94.082% 99.369%,
    93.944% 99.586%,
    93.792% 99.761%,
    93.628% 99.891%,
    93.453% 99.972%,
    93.271% 100%,
    1.221% 99.999%,
    1.221% 99.999%,
    1.023% 99.967%,
    0.836% 99.872%,
    0.66% 99.72%,
    0.5% 99.517%,
    0.358% 99.267%,
    0.236% 98.975%,
    0.136% 98.648%,
    0.062% 98.289%,
    0.016% 97.905%,
    0% 97.499%,
    0% 2.5%
  );
}

.cross-link--visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.cross-link--visual:hover {
  transform: scale(1.05);
  transition: all 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}

/* video fallback images */
#cross-link--visual--laser-systems {
  background: url(../assets/videos/refined-diagnostics-laser-systems-cross-link.webp)
    no-repeat center;
  background-size: cover;
}

#cross-link--visual--diagnostics {
  background: url(../assets/videos/refined-diagnostics-cross-link.webp)
    no-repeat center;
  background-size: cover;
}

#cross-link--visual--noctua,
#cross-link--visual--picus-duo-plus {
  background: url(../assets/videos/refined-diagnostics-laser-systems-noctua-picus-duo-plus.webp)
    no-repeat center;
  background-size: cover;
}

#cross-link--visual--picus-duo {
  background: url(../assets/videos/refined-diagnostics-laser-systems-picus-duo.webp)
    no-repeat center;
  background-size: cover;
}

/*---------------------------------------------- 
	footer
----------------------------------------------*/

footer a {
  color: var(--clr-brand-teal-500, #9df0f0);
  transition: color 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}

footer a:hover {
  color: var(--clr-brand-teal-600, #2cd4dd);
  transition: color 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.site--footer {
  color: var(--clr-brand-teal-500, #9df0f0);
  background-color: var(--clr-brand-primary-900, #0b4446);
  padding: 9.6rem 0;
  white-space: nowrap;
}

.footer--wrapper {
  --max-width: 124rem;
  --padding: 8vw;
  width: min(var(--max-width), 100% - var(--padding));
  margin-inline: auto;
}

.footer--branding--wrapper {
  align-items: flex-end;
  gap: 0.4rem;
  margin-bottom: 4rem;
}

.footer--disclaimer {
  white-space: normal;
  overflow-wrap: anywhere;
  margin-bottom: 4rem;
  text-align: center;
}

.footer--content--wrapper {
  gap: 8rem;
}

.footer--social-claim--wrapper {
  align-items: center;
  gap: 4rem;
}

/* linkedin logo */
.footer--linkedin-logo {
  fill: var(--clr-brand-teal-500, #9df0f0);
  width: 2.4rem;
  height: 2.4rem;
  transition: all 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.footer--linkedin-logo:hover {
  fill: var(--clr-brand-teal-600, #2cd4dd);
  transition: all 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.footer--links--wrapper {
  align-items: center;
  gap: 4.8rem;
}

.footer--contact--wrapper {
  gap: 1.6rem;
}

#primary-footer-menu {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}

#primary-footer-menu > li {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

#primary-footer-menu > li > a,
#footer--headline--contact {
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.6rem;
  font-weight: 400;
  color: var(--clr-brand-teal-500, #9df0f0);
}

.site--footer .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 2rem;
  text-align: center;
}

.footer--sub-menu--address {
  margin-top: 2.4rem;
  line-height: 2.8rem;
}

/*---------------------------------------------- 
	responsive
----------------------------------------------*/

/* breakpoint
----------------------------------------------*/

@media (min-width: 960px) {
  /* cta */
  .cta--button {
    flex-direction: row;
    justify-content: center;
  }
  /* quote */
  .quote--section--wrapper {
    flex-direction: row;
    align-items: center;
  }

  .quote--visual--wrapper {
    width: 40%;
  }

  .quote--copy--wrapper {
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    width: 60%;
  }

  .key-visual--quote {
    width: 8rem;
  }

  .quote--copy--info {
    align-items: flex-start;
    padding-top: 2.4rem;
    text-align: left;
  }

  .quote--avatar--info {
    flex-direction: row;
  }

  .quote--divider {
    height: 4rem;
    width: 0.1rem;
  }

  /* cross-links */
  .cross-links--section--wrapper {
    flex-direction: row;
  }

  /* footer */
  .footer--branding--wrapper {
    margin-bottom: 12.8rem;
  }

  .footer--disclaimer {
    text-align: left;
  }

  .footer--content--wrapper {
    flex-direction: row;
    justify-content: space-between;
    gap: 4rem;
  }

  .footer--social-claim--wrapper {
    align-items: flex-start;
    justify-content: space-between;
  }

  .footer--links--wrapper {
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 6.4rem;
  }

  .footer--contact--wrapper {
    align-items: flex-start;
    width: 100%;
  }

  #primary-footer-menu {
    flex-direction: row;
    gap: 6.4rem;
  }

  #primary-footer-menu > li {
    align-items: flex-start;
  }

  .site--footer .sub-menu {
    text-align: left;
  }
}
