html {
  scroll-behavior: smooth;
}

a {
  color: inherit;
}

p,
li,
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
  word-break: keep-all;
}

p,
li {
  text-wrap: pretty;
}

.wp-block-buttons > .wp-block-button .wp-block-button__link[href] {
  overflow: hidden;
  position: relative;
  display: flex;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
}

a[href].wp-block-button__link.wp-element-button::after {
  background-color: currentColor;
  content: '';
  height: 100%;
  left: 50%;
  mix-blend-mode: exclusion;
  position: absolute;
  top: 0;
  transition: width 0.675s ease-out;
  transition-property: background-color, left, width;
  width: 0;
}

a[href].wp-block-button__link.wp-element-button:focus::after,
a[href].wp-block-button__link.wp-element-button:hover::after {
  left: 0;
  width: 100%;
}

a[href].wp-block-button__link.wp-element-button:active::after {
  background-color: var(--wp--preset--color--custom-mint);
  background-color: transparent;
  transition-duration: 0.05s;
}

.is-column-curved {
	border-radius: var(--wp--preset--spacing--40);
}

.overflow--hidden {
	overflow: hidden;
}

.no-underline a,
.no-underline {
	text-decoration-line: none;
}

.list--small {
	list-style-type: none;
}

.list--small > li::before {
	background-color: currentColor;
	border-radius: 50%;
	content: '';
	display: inline-block;
	height: 0.25rem;
	position: relative;
	right: 0.5rem;
	width: 0.25rem;
	vertical-align: middle;
}

.list--square {
	list-style-type: square;
}

.list--spaced > li {
  margin-block-end: var(--wp--preset--spacing--30);
}

.list--spaced > li:last-of-type {
	margin-block-end: 0;
}

.list--small-indent {
	padding-inline-start: var(--wp--preset--spacing--40);
}

.post-excerpt-read-more-button .wp-block-post-excerpt__more-link,
.wp-block-post-terms > a {
  transition: color 0.25s ease-out;
}

.post-excerpt-read-more-button .wp-block-post-excerpt__more-link {
  border: 1px currentColor solid;
  border-radius: 2rem;
  color: var(--wp--preset--color--grey-light);
  margin-block-start: 1rem;
  padding: 0.75rem 1.25rem;
  text-decoration-line: none;
}

.post-excerpt-read-more-button .wp-block-post-excerpt__more-link:focus,
.post-excerpt-read-more-button .wp-block-post-excerpt__more-link:hover {
  color: white;
}

@media screen and (max-width: 961px) {
  .wp-block-columns {
    flex-wrap: wrap !important;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}

/* Site logo block */

.custom-logo {
  filter: drop-shadow(0 0 0.5rem var(--wp--preset--color--contrast));
}

/* Form styles */

.gform_button {
	border-radius: 9999px !important;
}

/* Footer form */

.form-footer {
  & .gform_fields {
    align-items: center;
    align-items: baseline;
    display: flex;
    font-size: 2.5rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
    column-gap: 0;
    line-height: 1.2;

    & .gfield {
      display: inline;
      display: inline-flex;
      font-weight: 300;
      margin-inline-end: 0.5rem;
      width: auto !important;
    }

    & .gfield--type-html {
      font-size: 1.75rem;
    }

    & .gform-field-label {
      display: none;
    }

    & .gfield--type-email,
    & .gfield--type-text {
      display: inline;
      display: inline-block;
      flex-basis: 40%;
      min-width: 40%;
    }

    & input {
      border-color: #fff;
      border-width: 0;
      border-bottom-width: 2px;
      font-size: 1.5rem;

      &:placeholder-shown {
        border-color: #777;
      }

      &:focus {
        border-color: #fff;
        outline: none !important;
      }

      &::placeholder {
        color: #777;
      }
    }
	}

  & .gform_footer {
    margin-block-start: 2rem;
  }

  & .gform_button {
    border: 2px solid currentcolor !important;
    font-size: 1.25rem !important;
    font-weight: 300;
    letter-spacing: 1px !important;
    padding: 1rem 2rem !important;

    &:hover,
    &:focus {
      background-color: white !important;
      color: black !important;
    }
  }
}

/* Header */

.header--fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
}

.header--top:before {
  background-image: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0.25) 80%, transparent 100%);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.975) 0%, rgba(0, 0, 0, 0.925) 5%, rgba(0, 0, 0, 0.85) 10%, rgba(0, 0, 0, 0.54) 38%, rgba(0, 0, 0, 0.38) 50%, rgba(0, 0, 0, 0.26) 60%, rgba(0, 0, 0, 0.18) 70%, rgba(0, 0, 0, 0.12) 75%, rgba(0, 0, 0, 0.08) 80%, rgba(0, 0, 0, 0.05) 85%, rgba(0, 0, 0, 0.025) 92%, transparent 100%);
  bottom: 0;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}

@media screen and (max-width: 600px) {
  header .custom-logo {
    width: 3.25rem;
  }
}

/* Word slider */

.wp-block-word-slider-item[aria-hidden=true] {
  opacity: 0;
  transform: translateY(-4px);
}

.wp-block-word-slider-item {
  transition-property: opacity, transform;
  transform: translateY(0);
}

@media screen and (min-width: 600px) {
 .field--dual-column {
  column-count: 2;
 }
}

/* Details block */
.wp-block-details > summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: var(--wp--preset--spacing--20);
}
.wp-block-details > summary::after {
  background-color: currentColor;
  content: '';
  display: block;
  flex-shrink: 0;
  height: 1.5em;
  margin-left: 1rem;
  mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22.8353 22.3641L22.364 22.8354C22.1036 23.0958 21.6815 23.0959 21.4212 22.8355L16 17.4143L10.5788 22.8355C10.3185 23.0958 9.89639 23.0958 9.63603 22.8354L9.16468 22.3641C8.90432 22.1037 8.90432 21.6816 9.1646 21.4213L14.5858 16.0001L9.16463 10.579C8.90428 10.3186 8.9043 9.89648 9.16465 9.63613L9.63601 9.16477C9.89637 8.90441 10.3185 8.9044 10.5788 9.16475L16 14.5859L21.4212 9.16474C21.6815 8.90439 22.1036 8.90441 22.364 9.16476L22.8353 9.63612C23.0957 9.89648 23.0957 10.3186 22.8354 10.5789L17.4142 16.0001L22.8354 21.4213C23.0957 21.6816 23.0957 22.1037 22.8353 22.3641Z' fill='%23000000'/%3E%3C/svg%3E%0A");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
  width: 1.5em;
}
.wp-block-details[open] > summary::after {
  transform: rotate(90deg);
}
.wp-block-details > *:not(summary) {
  margin-left: var(--wp--preset--spacing--20);
  margin-right: var(--wp--preset--spacing--20);
}
.wp-block-details > summary::-webkit-details-marker,
.wp-block-details > summary::marker {
    display: none !important;
}

.wp-block-details[open] > *:not(summary) {
    animation: 0.3s ease details-open 1 forwards;
}

@keyframes details-open {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.wp-block-post-link.case-study-link {
  display: block;
  & .wp-block-cover .wp-block-cover__image-background {
    transition: scale 0.5s ease;
  }
}
.wp-block-post-link.case-study-link .wp-block-post-link__link {
  z-index: 1;
}
.wp-block-post-link.case-study-link:has(.wp-block-post-link__link:focus) {
    z-index: 1;
    outline: 2px solid currentColor;
}
.wp-block-post-link.case-study-link:hover .wp-block-cover .wp-block-cover__image-background,
.wp-block-post-link.case-study-link:has(.wp-block-post-link__link:focus) .wp-block-cover .wp-block-cover__image-background {
    scale: 1.05;
}