:root {
  --swiper-pagination-color: var(--wp--preset--color--accent-cta);
}

body {
  --ie-text-font-size: 1rem;
}
@media (min-width: 1200px) {
  body {
    --wp--preset--font-size--large: 2.25rem;
    --ie-text-font-size: var(--wp--preset--font-size--medium) ;
  }
}
@media (max-width: 400px) {
  body {
    --wp--preset--font-size--x-large: 2rem;
  }
}

@media (min-width: 1200px) {
  :root {
    --wp--style--global--content-size: 45rem;
    --wp--style--global--wide-size: 65rem;
  }
}

body {
  font-family: var(--wp--preset--font-family--nunito-sans, "Nunito Sans", sans-serif);
  font-size: var(--ie-text-font-size, 1rem);
}

p,
li,
dd,
blockquote {
  text-wrap: pretty;
}

.wp-block-button {
  font-weight: 650;
}

.wp-block-heading {
  text-wrap: balance;
}

h1 {
  font-size: var(--wp--preset--font-size--x-large, 3rem);
  text-transform: uppercase;
}
h1.has-medium-font-size {
  font-size: calc(var(--wp--preset--font-size--x-large, 1.75rem) * 0.875) !important;
}

.wp-block-cover h1 {
  text-transform: none;
}

h2 {
  font-size: var(--wp--preset--font-size--large, 2rem);
}
h2.has-medium-font-size {
  font-size: calc(var(--wp--preset--font-size--large, 1.75rem) * 0.875) !important;
}

@media (min-width: 768px) {
  h1 {
    font-size: var(--wp--preset--font-size--x-large, 3rem);
  }
  h2 {
    font-size: var(--wp--preset--font-size--x-large, 2rem);
  }
  h2.has-medium-font-size {
    font-size: var(--wp--preset--font-size--large, 1.75rem) !important;
  }
}
@media (min-width: 1400px) {
  html {
    font-size: 20px;
  }
}
@media (min-width: 1800px) {
  html {
    font-size: 24px;
  }
}
/* Headings styling - theme.json usually handles this */
h1,
h2,
h3,
h4,
.wp-block-heading {
  font-family: var(--wp--preset--font-family--playfair-display, "Playfair Display", serif);
  color: var(--wp--preset--color--ternary, #333333);
}

.emphasized-text {
  line-height: 1.2;
}
.emphasized-text strong {
  font-weight: 900;
}

body {
  color: var(--wp--preset--color--contrast, #4A4A4A);
  background-color: var(--wp--preset--color--base, #F8F7F4);
}

.wp-block-read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.1em;
}
.wp-block-read-more svg {
  width: 1em;
  height: 1em;
  display: inline-block;
  pointer-events: none;
  fill: currentColor;
  scale: 1.6;
}

.ie-icon-element.ie-icon-size-sm {
  --icon-size: 1.75em;
}
.ie-icon-element.ie-icon-size-md {
  --icon-size: 2.5em;
}
.ie-icon-element.ie-icon-size-lg {
  --icon-size: 3.5em;
}
.ie-icon-element.ie-icon-size-xl {
  --icon-size: 5em;
}

.wp-block-pullquote blockquote > * {
  max-width: 45rem;
  margin-inline: auto;
}
.wp-block-pullquote blockquote > *:first-child {
  position: relative;
}
.wp-block-pullquote blockquote > *:first-child::before {
  content: "";
  width: 3em;
  height: 3em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cpath d='M162 250q0-46 16.5-85.5T228 100h-97q-22 38-35 82t-13 87q0 55 23 88t63 33q34 0 52.5-22.5T240 312q0-30-19-49t-48-19q-16 0-33 6v-1zm215 0q0-46 16.5-85.5T443 100h-97q-22 38-35 82t-13 87q0 55 23 88t63 33q34 0 52.5-22.5T455 312q0-30-19-49t-48-19q-16 0-33 6v-1z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: top left;
  background-size: contain;
  line-height: 1;
  margin: 0;
  position: absolute;
  translate: -100% -80%;
  pointer-events: none;
  opacity: 0.25;
}

.wp-site-blocks {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
}

.is-layout-grid li > article {
  min-height: 100%;
}

header.wp-block-template-part,
footer.wp-block-template-part,
.site-header,
.site-main,
.site-footer,
.section {
  margin-block: 0;
  min-width: 0;
}

.site-header-container,
.site-footer-container,
.section {
  padding-inline: 1rem;
}

.site-header-container {
  padding-block: 0.5rem;
}

.site-footer-container {
  padding-block: 1.5rem;
}

.section {
  padding-block: 3rem;
  overflow-x: clip;
}

.wp-element-button {
  line-height: 1.4 !important;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.wp-block-button .wp-block-button__link.has-accent-cta-background-color:hover {
  background-color: color-mix(in srgb, var(--wp--preset--color--accent-cta), black 15%) !important;
}

.button-cta .wp-element-button {
  box-shadow: 0 0.2em 0.5em hsla(0, 5%, 60%, 0.6);
}

a:where(:not(.wp-element-button)) {
  color: color-mix(in srgb, var(--wp--preset--color--accent-cta), black 10%);
}

/* Additional global styles can go here */
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.text-small {
  font-size: 0.875rem;
  /* 14px */
}

.text-reduced {
  font-size: 0.875em;
  /* 14px */
}

.uppercase {
  text-transform: uppercase;
}

.wp-block-site-logo .custom-logo {
  width: clamp(60px, 5vw, 200px);
  max-height: 150px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 0 0;
     object-position: 0 0;
}

.home header.wp-block-template-part {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
.home .wp-block-site-logo .custom-logo {
  filter: invert(1);
  width: clamp(60px, 7.5vw, 200px);
}

@media (min-width: 1400px) and (min-aspect-ratio: 1400/570) {
  .wp-block-site-logo .custom-logo {
    max-height: 10vh;
  }
}
.hero-section {
  padding: 0;
}

.home .site-main header .wp-block-cover {
  height: 80vh;
  max-height: 40rem;
}
.home .site-main header .wp-block-cover img {
  filter: drop-shadow(0 0 4rem rgba(255, 255, 255, 0.35));
  max-width: 1920px;
  margin-inline: auto;
}
.home .hero-section {
  --fade-out-mask: linear-gradient(to top,
          rgb(0 0 0 / 0) 0%,
          rgb(0 0 0 / 0.3) 5%,
          rgb(0 0 0 / 0.75) 10%,
          rgb(0 0 0 / 1) 15%);
  -webkit-mask-image: var(--fade-out-mask);
  mask-image: var(--fade-out-mask);
}

@media (max-width: 599px) {
  .hero-section {
    padding-top: 2.5rem;
  }
  .home .hero-section .wp-block-cover__inner-container {
    padding-right: 15%;
  }
  .home .hero-section .wp-block-cover__image-background {
    -webkit-mask-image: linear-gradient(45deg, transparent 20%, black 85%);
    mask-image: linear-gradient(45deg, transparent 20%, black 85%);
  }
}
.wp-block-navigation {
  row-gap: 0.75rem;
}

nav a {
  font-weight: 700;
  color: var(--wp--preset--color--contrast, #4A4A4A);
}

.site-footer .contact-options {
  margin-block: 2.5rem;
}

.site-footer .contact-options .wp-block-media-text {
  grid-template-columns: 2rem max-content !important;
  gap: 1rem;
}

.site-footer .contact-options .wp-block-media-text__content {
  width: -moz-max-content;
  width: max-content;
  padding-inline: 0;
}

.site-footer .contact-options .wp-block-media-text__content p {
  margin: 0;
}

@media (max-width: 599px) {
  .site-footer .contact-options .wp-block-media-text {
    grid-template-columns: 1fr !important;
    justify-content: center;
  }
  .site-footer .contact-options .wp-block-media-text__media {
    width: 2rem;
    margin: auto;
  }
  .site-footer .contact-options .wp-block-media-text__content {
    text-align: center;
  }
  .clients-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100%;
  }
}
@media (max-width: 599px) {
  .clients-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100%;
  }
}
.services-section .wp-block-media-text {
  max-width: 1920px;
  margin-inline: auto;
}

.services-section .wp-block-media-text__media {
  aspect-ratio: 16/9;
  max-width: 100%;
}

@media (min-width: 600px) {
  .services-section .wp-block-post:nth-child(even) .wp-block-media-text__media {
    grid-column: 2;
  }
  .services-section .wp-block-post:nth-child(even) .wp-block-media-text__content {
    grid-column: 1;
  }
}/*# sourceMappingURL=main.css.map */