/* Restore the original 2200px page grid instead of frozen capture offsets. */
body .elementor .av-grid-guide-left,
body .elementor .av-grid-guide-right {
  --av-guide-gutter: 48px;
}
body .elementor .av-grid-guide-left {
  left: max(
    var(--av-guide-gutter),
    calc(50% - 1100px + var(--av-guide-gutter))
  ) !important;
}
body .elementor .av-grid-guide-right {
  left: min(
    calc(100% - var(--av-guide-gutter)),
    calc(50% + 1100px - var(--av-guide-gutter))
  ) !important;
}
@media (width < 48rem) {
  body .elementor .av-grid-guide-left,
  body .elementor .av-grid-guide-right {
    --av-guide-gutter: 24px;
  }
}

/*
 * Original viewport-dependent layout, which cannot be represented by the
 * converter's captured pixel values. Native Elementor content remains editable.
 */
:root {
  --app-font-sans: "Inter", sans-serif;
  --app-font-display: "Anton", sans-serif;
  --app-font-clash: "Kumbh Sans", sans-serif;
  --app-font-futura: Futura, "Futura PT", "Trebuchet MS", "Century Gothic", sans-serif;
  --aardvark-heading-h1: clamp(26px, 6.8vw, 42px);
  --aardvark-hero-size: calc(var(--aardvark-heading-h1) * 1.18);
  --heading-h1: var(--aardvark-heading-h1);
  --heading-h2: max(22px, calc(var(--heading-h1) * 0.74));
  --heading-h3: clamp(18px, calc(var(--heading-h1) * 0.5), 48px);
  --heading-h4: clamp(16px, calc(var(--heading-h1) * 0.36), 32px);
}

/* Tailwind's source reset gives pseudo-elements zero-width borders. A captured
   border-style:solid without that zero becomes the browser's 3px "medium". */
body .elementor-element::before,
body .elementor-element::after {
  border-width: 0;
}

/* Native widgets keep the source's semantic classes, but do not load
   Tailwind's base utilities. Preserve case on their actual text elements. */
body .elementor .uppercase { text-transform: uppercase !important; }
body .elementor .normal-case { text-transform: none !important; }
body .elementor-element.uppercase,
body .elementor-element.uppercase > :is(h1,h2,h3,h4,h5,h6,p),
body .elementor-element.uppercase > .elementor-widget-container > *,
body .elementor-element.uppercase .aardvark-fluid-headline {
  text-transform: uppercase !important;
}

/* The source page-grid is fluid up to 2200px, not a fixed 1440px snapshot. */
body .elementor-element-b178956 {
  width: 100% !important;
}
body .elementor-element-17c16a9 {
  width: 100% !important;
  max-width: 2200px !important;
  margin-inline: auto !important;
}
body header nav a[aria-current="page"]:not([href*="#"]) {
  color: #f68720 !important;
  border-bottom: 1px solid #f68720 !important;
  padding-bottom: 4px !important;
}

body .av-inline-heading {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  text-wrap: balance;
}
body .av-inline-heading-group { display: inline !important; }
body .av-inline-heading-word {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  vertical-align: baseline !important;
  padding: 0 .12em 0 0 !important;
  margin: 0 .1em 0 0 !important;
  font-kerning: none;
  font-variant-ligatures: none;
}
body .av-inline-heading-group > .av-inline-heading-word:last-child {
  margin-right: -.12em !important;
}
body .av-inline-heading-word > .elementor-widget-text-editor,
body .av-inline-heading-word > .elementor-widget-text-editor > .elementor-widget-container {
  display: contents !important;
}
body .av-inline-heading-word .elementor-widget-container > span {
  display: inline-flex !important;
}

body .av-testimonial-card {
  width: 80vw !important;
  height: auto !important;
  min-height: 300px !important;
  flex-shrink: 0 !important;
}
body .av-testimonial-track,
body .av-testimonial-track > .e-con {
  height: auto !important;
  min-height: 0 !important;
}
@media (min-width: 640px) {
  body .av-testimonial-card { width: 380px !important; }
}
@media (min-width: 768px) {
  body .av-testimonial-card {
    width: 420px !important;
    min-height: 320px !important;
  }
}
body .av-testimonial-mark,
body .av-testimonial-mark * {
  transition: color 0.3s ease-out;
}
body .av-testimonial-card:hover .av-testimonial-mark,
body .av-testimonial-card:hover .av-testimonial-mark * {
  color: #0e1320 !important;
}
body .av-testimonial-accent {
  width: 40px !important;
  transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
body .av-testimonial-card:hover .av-testimonial-accent {
  width: 100% !important;
  transition-duration: 0.6s;
}

.aardvark-fluid-h1 { --av-heading-size: var(--heading-h1); --av-heading-line: 0.95; }
.aardvark-fluid-h2 { --av-heading-size: var(--heading-h2); --av-heading-line: 1.02; }
.aardvark-fluid-h3 { --av-heading-size: var(--heading-h3); --av-heading-line: 1.1; }
.aardvark-fluid-h4 { --av-heading-size: var(--heading-h4); --av-heading-line: 1.2; }
body .aardvark-fluid-headline,
body .aardvark-fluid-headline * {
  font-size: var(--av-heading-size) !important;
  line-height: var(--av-heading-line) !important;
  font-family: var(--av-heading-family) !important;
  font-weight: var(--av-heading-weight) !important;
}
body :is(.aardvark-fluid-h1, .aardvark-fluid-h2, .aardvark-fluid-h3),
body :is(.aardvark-fluid-h1, .aardvark-fluid-h2, .aardvark-fluid-h3) * {
  letter-spacing: -0.02em !important;
}
body h1.aardvark-fluid-h1:has(> .e-con > .e-con > .elementor-widget-text-editor) * {
  font-kerning: none;
  font-variant-ligatures: none;
}

@media (min-width: 768px) {
  :root {
    --aardvark-heading-h1: clamp(32px, min(6vw, calc((54dvh - 152px) * 0.22)), 120px);
    --aardvark-hero-size: calc(var(--aardvark-heading-h1) * 1.1);
  }
  body .elementor-element-50f78e0 {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }
  body .elementor-element-01a570a {
    container-type: size;
    min-height: 0 !important;
  }
  body .elementor-element-5377f72 {
    height: 46dvh !important;
    min-height: 46dvh !important;
  }
}

body .elementor-element-d341430,
body .elementor-element-d341430 .e-con,
body .elementor-element-d341430 .elementor-widget-text-editor,
body .elementor-element-d341430 .elementor-widget-container {
  font-family: "Kumbh Sans", sans-serif !important;
  font-size: var(--aardvark-hero-size) !important;
  line-height: 0.9 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

body .elementor-element-d341430 > .e-con > .e-con {
  padding-right: 0.12em !important;
  margin-right: 0.1em !important;
}
body .elementor-element-d341430 > .e-con > .e-con:last-child {
  margin-right: -0.12em !important;
}

body .elementor-element-d9c4e40,
body .elementor-element-d9c4e40 > .elementor-widget-container,
body .elementor-element-d9c4e40 video {
  height: 100% !important;
}

/* The source's flush video frame intentionally has no orange frame. */
body .elementor-element-5377f72::after {
  content: none !important;
}

/* Preserve separate arrow spans as flex items, like the source links. */
body .elementor-widget-button {
  display: flex !important;
}
body .elementor-widget-button[hidden] {
  display: none !important;
}
@media (max-width: 767px) {
  body .elementor-widget-button.elementor-hidden-mobile {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body .elementor-widget-button.elementor-hidden-tablet {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  body .elementor-widget-button.elementor-hidden-desktop {
    display: none !important;
  }
}
body .elementor-widget-button .elementor-button {
  display: inline-flex !important;
  white-space: normal !important;
  align-items: center;
  justify-content: center;
  gap: var(--av-button-gap, 8px);
}
body .elementor-widget-button.whitespace-nowrap .elementor-button {
  white-space: nowrap !important;
}
/* Source Tailwind grid-cols utilities use zero-minimum tracks. Plain 1fr
   retains each column's intrinsic minimum and changes service-list wrapping. */
body .av-cap-body ul {
  grid-template-columns: minmax(0, 1fr) !important;
}
@media (min-width: 640px) {
  body .av-cap-body ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
body .elementor-widget-button .elementor-button-content-wrapper,
body .elementor-widget-button .elementor-button-text {
  display: contents !important;
}

body .elementor-element-360cdc6,
body .elementor-element-360cdc6 .elementor-widget-container {
  text-wrap: balance;
}
body .elementor-element-d0d9ecc {
  gap: 8px !important;
}
@media (min-width: 768px) {
  body .elementor-element-d0d9ecc {
    gap: clamp(8px, 4cqh, 24px) !important;
  }
}

.aardvark-footer-wordmark {
  display: block;
  width: 100%;
  height: auto;
}
.aardvark-footer-wordmark text {
  line-height: 1.5;
}

body .elementor-element-110645a,
body .elementor-element-f0fed71 {
  height: var(--av-guide-bottom) !important;
}
body .elementor-element-110645a,
body .elementor-element-a51de8e,
body .elementor-element-13da6d0,
body .elementor-element-59315d2 {
  left: var(--av-guide-left) !important;
}
body .elementor-element-f0fed71,
body .elementor-element-0ddba8b,
body .elementor-element-acc6ea8,
body .elementor-element-4376d74 {
  left: var(--av-guide-right) !important;
}
body .elementor-element-a51de8e,
body .elementor-element-0ddba8b {
  top: var(--av-guide-header) !important;
}
body .elementor-element-ec4947f,
body .elementor-element-13da6d0,
body .elementor-element-acc6ea8 {
  top: var(--av-guide-top) !important;
}
body .elementor-element-256cfca,
body .elementor-element-59315d2,
body .elementor-element-4376d74 {
  top: var(--av-guide-bottom) !important;
}

@media (min-width: 1024px) {
  body .elementor-element-d341430 {
    margin-bottom: -0.11em !important;
  }
}
@media (max-width: 767.98px) {
  body .elementor-element-d341430 > .e-con {
    display: block !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-wrap: balance;
  }
  body .elementor-element-d341430 > .e-con > .e-con {
    display: inline-block !important;
    vertical-align: top;
  }
  body .elementor-element-5377f72 {
    height: 40dvh !important;
    min-height: 40dvh !important;
  }
}
