/* File: automatic.css - Version: 4.0.0-dev-24 - Generated: 2025-10-07 16:03:41 */
@layer acss-defaults {
  /* Feat: Reset */
  :root {
    interpolate-size: allow-keywords;
  }
  *, *::before, *::after {
    box-sizing: border-box;
  }
  body {
    min-block-size: 100vh;
  }
  input, button, textarea, select {
    font: inherit;
  }
  :where(dd) {
    margin-inline-start: 0;
  }
  /* Feat: Body, Heading, or Text Defaults */
  html {
    font-size: var(--root-font-size) !important;
  }
  /* Feat: Body Defaults */
  :where(body) {
    font-size: var(--default-font-size, var(--text-m));
    font-family: var(--text-font-family);
    color: var(--text-color);
    line-height: var(--text-line-height);
    font-weight: var(--text-font-weight);
    text-wrap: var(--text-text-wrap);
    background-color: var(--body-bg-color, var(--primary));
  }
  /* Feat: Link Defaults */
  body a:where(:not([class*= btn--], nav a, .footer--contact__details a, .clickable-parent a, .skip-link, .accordion-faq__answer a, .card-service a, .footer-contact__item a, a.btn--primary)) {
    color: var(--link-color, var(--accent-hover));
    font-weight: var(--link-weight, 700);
    -webkit-text-decoration: var(--link-decoration, underline);
    text-decoration: var(--link-decoration, underline);
    text-underline-offset: var(--link-underline-offset, 3px);
    transition: var(--link-transition, var(--transition));
  }
  @media (hover: hover) and (pointer: fine) {
    body a:where(:not([class*= btn--], nav a, .footer--contact__details a, .clickable-parent a, .skip-link, .accordion-faq__answer a, .card-service a, .footer-contact__item a, a.btn--primary)):hover {
      color: var(--link-color-hover, var(--accent));
    }
  }
  /* Feat: Heading Defaults */
  h1, :where(.h1), h2, :where(.h2), h3, :where(.h3), h4, :where(.h4), h5, :where(.h5), h6, :where(.h6) {
    font-family: var(--heading-font-family);
    color: var(--heading-color);
    line-height: var(--heading-line-height);
    font-weight: var(--heading-font-weight);
    text-wrap: var(--heading-text-wrap);
  }
  h1 {
    font-size: var(--h1);
    line-height: var(--h1-line-height);
    max-width: var(--h1-max-width);
  }
  h2 {
    font-size: var(--h2);
    line-height: var(--h2-line-height);
    max-width: var(--h2-max-width);
  }
  h3 {
    font-size: var(--h3);
    line-height: var(--h3-line-height);
    max-width: var(--h3-max-width);
  }
  h4 {
    font-size: var(--h4);
    line-height: var(--h4-line-height);
    max-width: var(--h4-max-width);
  }
  h5 {
    font-size: var(--h5);
  }
  h6 {
    font-size: var(--h6);
  }
}
@layer acss-layer-anchors {
  .btn--primary {
    --btn-background: var(--accent);
    --btn-background-hover: var(--accent-hover);
    --btn-text-color: var(--neutral);
    --btn-text-color-hover: var(--neutral);
    --btn-border-color: transparent;
    --btn-border-color-hover: transparent;
    --focus-color: var(--accent-hover);
  }
  .btn--primary-dark {
    --btn-background: var(--primary-dark);
    --btn-background-hover: var(--primary-ultra-dark);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--primary-dark);
    --btn-border-color-hover: var(--primary-ultra-dark);
    --focus-color: var(--primary-semi-dark);
  }
  .btn--primary-light {
    --btn-background: var(--white);
    --btn-background-hover: var(--neutral-ultra-light);
    --btn-text-color: var(--primary);
    --btn-text-color-hover: var(--primary);
    --btn-border-color: transparent;
    --btn-border-color-hover: transparent;
    --focus-color: var(--neutral-ultra-light);
  }
  [class*="btn--"]:where(:not(.btn--none, .wp-block-button)), [class*="btn--"].wp-block-button > .wp-block-button__link {
    background: var(--btn-background);
    color: var(--btn-text-color);
    padding-block: var(--btn-padding-block);
    padding-inline: var(--btn-padding-inline);
    inline-size: var(--btn-width, auto);
    min-inline-size: var(--btn-min-width);
    line-height: var(--btn-line-height);
    font-size: var(--btn-font-size, var(--text-m));
    font-weight: var(--btn-font-weight);
    font-style: var(--btn-font-style);
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-letter-spacing);
    text-decoration: var(--btn-text-decoration);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-border-radius);
    border-color: var(--btn-border-color);
    transition: var(--btn-transition, var(--transition));
    justify-content: var(--btn-justify-content, center);
    text-align: var(--btn-text-align, center);
    display: var(--btn-display, inline-flex);
  }
  @media (hover: hover) and (pointer: fine) {
    [class*="btn--"]:where(:not(.btn--none, .wp-block-button)):hover, [class*="btn--"].wp-block-button > .wp-block-button__link:hover {
      background: var(--btn-background-hover);
      color: var(--btn-text-color-hover);
      border-color: var(--btn-border-color-hover);
      text-decoration: var(--btn-text-decoration-hover);
    }
  }
  [class*="btn--"]:where(:not(.btn--none, .wp-block-button)):where(:focus-visible), [class*="btn--"].wp-block-button > .wp-block-button__link:where(:focus-visible) {
    outline-style: solid;
    outline-color: var(--focus-color);
    outline-width: var(--focus-width);
    outline-offset: var(--focus-offset);
  }
  .btn--xs {
    font-size: var(--text-xs);
  }
  .btn--s {
    font-size: var(--text-s);
  }
  .btn--m {
    font-size: var(--text-m);
  }
  .btn--l {
    font-size: var(--text-l);
  }
  .btn--xl {
    font-size: var(--text-xl);
  }
  .btn--xxl {
    font-size: var(--text-xxl);
  }
  .btn--none {
    background: none;
    border: none;
  }
}
/* Scroll offset */
[id] {
  scroll-margin-top: var(--offset, 0);
}
/* Feat: Smooth Scrolling */
html {
  scroll-behavior: smooth;
}
html:focus-within {
  scroll-behavior: auto;
}
.clickable-parent:not(a) {
  position: static;
}
.clickable-parent:not(a) a {
  position: static;
}
.clickable-parent:not(a) > a::after {
  content: "";
  position: absolute;
  inset: 0;
  cursor: pointer !important;
  display: flex;
}
a.clickable-parent {
  position: static;
}
a.clickable-parent::after {
  content: "";
  position: absolute;
  inset: 0;
  cursor: pointer !important;
  display: flex;
}
.hidden-accessible {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(100%);
  white-space: nowrap;
  /* added line */
  border: 0;
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.link--skip, .skip-link {
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-start: 1rem;
  transform: translateY(-250%);
  --btn-min-width: fit-content;
  z-index: 100;
  background: var(--btn-background);
  color: var(--btn-text-color);
  padding-block: var(--btn-padding-block);
  padding-inline: var(--btn-padding-inline);
  inline-size: var(--btn-width, auto);
  min-inline-size: var(--btn-min-width);
  line-height: var(--btn-line-height);
  font-size: var(--btn-font-size, var(--text-m));
  font-weight: var(--btn-font-weight);
  font-style: var(--btn-font-style);
  text-transform: var(--btn-text-transform);
  letter-spacing: var(--btn-letter-spacing);
  text-decoration: var(--btn-text-decoration);
  border-width: var(--btn-border-width);
  border-style: var(--btn-border-style);
  border-radius: var(--btn-border-radius);
  border-color: var(--btn-border-color);
  transition: var(--btn-transition, var(--transition));
  justify-content: var(--btn-justify-content, center);
  text-align: var(--btn-text-align, center);
  display: var(--btn-display, inline-flex);
  --btn-background: var(--accent);
  --btn-background-hover: var(--accent-hover);
  --btn-text-color: var(--neutral);
  --btn-text-color-hover: var(--neutral);
  --btn-border-color: transparent;
  --btn-border-color-hover: transparent;
  --focus-color: var(--accent-hover);
}
@media (hover: hover) and (pointer: fine) {
  .link--skip:hover, .skip-link:hover {
    background: var(--btn-background-hover);
    color: var(--btn-text-color-hover);
    border-color: var(--btn-border-color-hover);
    text-decoration: var(--btn-text-decoration-hover);
  }
}
.link--skip:where(:focus-visible), .skip-link:where(:focus-visible) {
  outline-style: solid;
  outline-color: var(--focus-color);
  outline-width: var(--focus-width);
  outline-offset: var(--focus-offset);
}
.link--skip:focus-visible, .skip-link:focus-visible {
  transform: translateY(0);
}
.focus-parent:focus-within:not(:has(:focus-visible)) {
  outline: none;
  outline-offset: 0;
}
.focus-parent:focus-within {
  outline: var(--focus-width) solid var(--focus-color);
  outline-offset: var(--focus-offset);
}
.focus-parent :focus {
  outline: none !important;
  box-shadow: none !important;
}
.focus-parent--shadow:focus-within:not(:has(:focus-visible)) {
  box-shadow: none;
}
.focus-parent--shadow:focus-within {
  box-shadow: 0 0 0 var(--focus-width) var(--focus-color);
}
.focus-parent--shadow :focus {
  outline: none !important;
  box-shadow: none !important;
}
.focus-parent--outline:focus-within:not(:has(:focus-visible)) {
  outline: none;
  outline-offset: 0;
}
.focus-parent--outline:focus-within {
  outline: var(--focus-width) solid var(--focus-color);
  outline-offset: var(--focus-offset);
}
.focus-parent--outline :focus {
  outline: none !important;
  box-shadow: none !important;
}
/* Feat: Focus Styles */
:focus {
  outline: none;
  box-shadow: none;
}
:focus-visible {
  outline-style: solid;
  outline-color: var(--focus-color);
  outline-width: var(--focus-width);
  outline-offset: var(--focus-offset);
}
@supports not selector(:focus-visible) {
  :focus {
    outline-style: solid;
    outline-color: var(--focus-color);
    outline-width: var(--focus-width);
    outline-offset: var(--focus-offset);
  }
}
/* Feat: Focus Classes */
.focus--primary {
  --focus-color: var(--primary);
}
.focus--secondary {
  --focus-color: var(--secondary);
}
.focus--accent {
  --focus-color: var(--accent);
}
.focus--base {
  --focus-color: var(--base);
}
.focus--neutral {
  --focus-color: var(--neutral);
}
.focus--white {
  --focus-color: var(--white);
}
/* Feat: Default Section Styles */
:where(section:not(section section)) {
  display: flex;
  flex-direction: column;
  padding-block: var(--section-padding-block);
  padding-inline: var(--gutter);
}
:root, .color-scheme--main {
  --bg-ultra-light-heading: var(--text-dark);
  --bg-light-heading: var(--text-dark);
  --bg-dark-heading: var(--text-light);
  --bg-ultra-dark-heading: var(--text-light);
}
.color-scheme--alt {
  --bg-ultra-light-heading: var(--text-dark);
  --bg-light-heading: var(--text-dark);
  --bg-dark-heading: var(--text-light);
  --bg-ultra-dark-heading: var(--text-light);
  --bg-ultra-dark-text: var(--text-light);
}
:where(.bg--ultra-light) {
  --relative-text-color: var(--bg-ultra-light-text);
  color: var(--relative-text-color, inherit);
}
:where(.bg--light) {
  --relative-text-color: var(--bg-light-text);
  color: var(--relative-text-color, inherit);
}
:where(.bg--dark) {
  --relative-text-color: var(--bg-dark-text);
  color: var(--relative-text-color, inherit);
}
:where(.bg--ultra-dark) {
  --relative-text-color: var(--bg-ultra-dark-text);
  color: var(--relative-text-color, inherit);
}
.bg--ultra-light :where(h1, h2, h3, h4, h5, h6) {
  color: var(--relative-heading-color, inherit);
}
.bg--light :where(h1, h2, h3, h4, h5, h6) {
  color: var(--relative-heading-color, inherit);
}
.bg--dark :where(h1, h2, h3, h4, h5, h6) {
  color: var(--relative-heading-color, inherit);
}
.bg--ultra-dark :where(h1, h2, h3, h4, h5, h6) {
  color: var(--relative-heading-color, inherit);
}
.bg--ultra-light {
  --relative-heading-color: var(--bg-ultra-light-heading);
}
.bg--light {
  --relative-heading-color: var(--bg-light-heading);
}
.bg--dark {
  --relative-heading-color: var(--bg-dark-heading);
}
.bg--ultra-dark {
  --relative-heading-color: var(--bg-ultra-dark-heading);
}
.bg--ultra-light [class*="btn--"]:not(.unrelate) {
  --btn-background: var(--accent);
  --btn-background-hover: var(--accent-hover);
  --btn-text-color: var(--neutral);
  --btn-text-color-hover: var(--neutral);
  --btn-border-color: transparent;
  --btn-border-color-hover: transparent;
  --focus-color: var(--accent-hover);
}
.bg--light [class*="btn--"]:not(.unrelate) {
  --btn-background: var(--accent);
  --btn-background-hover: var(--accent-hover);
  --btn-text-color: var(--neutral);
  --btn-text-color-hover: var(--neutral);
  --btn-border-color: transparent;
  --btn-border-color-hover: transparent;
  --focus-color: var(--accent-hover);
}
.bg--dark [class*="btn--"]:not(.unrelate) {
  --btn-background: var(--accent);
  --btn-background-hover: var(--accent-hover);
  --btn-text-color: var(--neutral);
  --btn-text-color-hover: var(--neutral);
  --btn-border-color: transparent;
  --btn-border-color-hover: transparent;
  --focus-color: var(--accent-hover);
}
.bg--ultra-dark [class*="btn--"]:not(.unrelate) {
  --btn-background: var(--accent);
  --btn-background-hover: var(--accent-hover);
  --btn-text-color: var(--neutral);
  --btn-text-color-hover: var(--neutral);
  --btn-border-color: transparent;
  --btn-border-color-hover: transparent;
  --focus-color: var(--accent-hover);
}
body blockquote {
  text-wrap: wrap;
}
/* Feat: Auto Object Fit */
img {
  object-fit: var(--object-fit, cover);
  object-position: var(--object-position, 50% 50%);
}
.transition {
  transition: var(--transition);
}
/* Feat: Default Section Styles */
#shadow-host-companion {
  padding: 0;
}
