.elementor-kit-7{--e-global-color-primary:#0F8A7E;--e-global-color-secondary:#0E2D30;--e-global-color-text:#123236;--e-global-color-accent:#2FBBAC;--e-global-color-inksoft:#4B6367;--e-global-color-surfalt:#EAF6F4;--e-global-color-border:#D3E4E1;--e-global-color-deeptext:#F2EFE4;--e-global-color-deepsoft:#B9C9C8;--e-global-color-deeplink:#C9D6D4;--e-global-color-deepmute:#8FA5A3;--e-global-color-surface:#FFFFFF;--e-global-typography-primary-font-family:"Big Shoulders Display";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.05em;--e-global-typography-secondary-font-family:"Big Shoulders Display";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-family:"Work Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.55em;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:1.6px;color:#123236;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.55em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#0F8A7E;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:15px 26px 15px 26px;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#0F8A7E;}.elementor-kit-7 a:hover{color:#0E2D30;}.elementor-kit-7 h1{color:#123236;font-family:"Big Shoulders Display", Sans-serif;font-weight:800;line-height:1.05em;}.elementor-kit-7 h2{color:#123236;font-family:"Big Shoulders Display", Sans-serif;font-weight:700;line-height:1.05em;}.elementor-kit-7 h3{color:#123236;font-family:"Big Shoulders Display", Sans-serif;font-weight:700;line-height:1.05em;}.elementor-kit-7 h4{color:#123236;font-family:"Big Shoulders Display", Sans-serif;font-weight:700;line-height:1.05em;}.elementor-kit-7 h5{color:#123236;font-family:"Big Shoulders Display", Sans-serif;font-weight:700;line-height:1.05em;}.elementor-kit-7 h6{color:#123236;font-family:"Big Shoulders Display", Sans-serif;font-weight:700;line-height:1.05em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Huckleberry — desktop mega-menu opens on hover (matches the source design).
   Elementor's SmartMenus falls back to click-to-open when it cannot confirm a
   mouse device; this restores hover on pointer devices without touching JS. */
@media (min-width: 1025px) {
  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children {
    position: relative;
  }
  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
    top: 100% !important;
    left: 0 !important;
    min-width: 250px;
  }
  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
  .elementor-location-header .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* keep the sticky header above page content */
.elementor-location-header { position: relative; z-index: 200; }

/* Huckleberry — stat counters.
   The number in a .hhr-count widget counts up from zero the first time it
   scrolls into view (wp-content/novamira-sandbox/huckleberry-stat-counters.php).
   Each .hhr-stat card lifts, brightens, and grows a teal rule on hover;
   .hhr-stat--light is the variant for stats on a light background. */
.hhr-stat {
  position: relative;
  border: 1px solid rgba(47, 187, 172, .16);
  border-radius: 10px;
  background-color: rgba(47, 187, 172, .05);
  transition: transform .4s cubic-bezier(.2, .7, .3, 1),
              background-color .4s ease,
              border-color .4s ease,
              box-shadow .4s ease;
}
.hhr-stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background-color: #2FBBAC;
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform .4s cubic-bezier(.2, .7, .3, 1);
}
.hhr-stat:hover {
  transform: translateY(-6px);
  background-color: rgba(47, 187, 172, .11);
  border-color: rgba(47, 187, 172, .40);
  box-shadow: 0 18px 36px rgba(0, 0, 0, .26);
}
.hhr-stat:hover::before { transform: scaleY(1); }

.hhr-count .elementor-heading-title {
  display: block;
  font-variant-numeric: tabular-nums;
  transform-origin: left center;
  transition: transform .4s cubic-bezier(.2, .7, .3, 1), text-shadow .4s ease;
}
.hhr-stat:hover .hhr-count .elementor-heading-title {
  transform: translateY(-2px) scale(1.06);
  text-shadow: 0 0 26px rgba(47, 187, 172, .55);
}

.hhr-stat--light {
  border-color: #D3E4E1;
  background-color: #FFFFFF;
}
.hhr-stat--light::before {
  top: 12px;
  bottom: 12px;
  background-color: #0F8A7E;
}
.hhr-stat--light:hover {
  transform: translateY(-5px);
  background-color: #FFFFFF;
  border-color: rgba(15, 138, 126, .50);
  box-shadow: 0 14px 30px rgba(15, 138, 126, .16);
}
.hhr-stat--light:hover .hhr-count .elementor-heading-title {
  transform: translateY(-2px) scale(1.05);
  text-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .hhr-stat,
  .hhr-stat::before,
  .hhr-count .elementor-heading-title { transition-duration: .01ms; }
  .hhr-stat:hover { transform: none; }
  .hhr-stat:hover .hhr-count .elementor-heading-title { transform: none; }
}

/* Process steps ("Our Process" 1-5) share the counter script through
   .hhr-count; the number sits in a round teal badge, so it scales from its own
   centre instead of the left edge the stat cards use. */
.hhr-step { transition: transform .4s cubic-bezier(.2, .7, .3, 1); }
.hhr-step:hover { transform: translateY(-6px); }

.hhr-count--badge { transition: transform .4s cubic-bezier(.2, .7, .3, 1), box-shadow .4s ease; }
.hhr-count--badge .elementor-heading-title {
  transform: none;
  text-shadow: none;
  transform-origin: center center;
}
.hhr-step:hover .hhr-count--badge {
  transform: scale(1.12);
  box-shadow: 0 10px 22px rgba(15, 138, 126, .35);
}

@media (prefers-reduced-motion: reduce) {
  .hhr-step, .hhr-count--badge { transition-duration: .01ms; }
  .hhr-step:hover, .hhr-step:hover .hhr-count--badge { transform: none; }
}

/* Huckleberry — site-wide hover system.
   One vocabulary everywhere: surfaces lift and warm toward teal, icon tiles
   fill in, arrows step forward. Same easing curve as the stat counters, so
   the whole site moves like one thing.

   Note on the doubled classes below: Elementor's per-page stylesheet loads
   after this one and targets these elements at three to five classes deep
   (".elementor-22 .elementor-element.elementor-element-xxx .elementor-icon"),
   so a plain ".hhr-card:hover" loses the cascade on any property Elementor
   already sets — border and icon colour. The repeats buy the specificity
   without !important, which would block later edits in the builder. */

/* --- cards (services, areas, testimonials, pricing, blog, FAQ asides) --- */
.hhr-card {
  transition: transform .35s cubic-bezier(.2, .7, .3, 1),
              border-color .35s ease,
              box-shadow .35s ease;
}
.hhr-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(14, 45, 48, .10);
}
.elementor .hhr-card.hhr-card:hover {
  border-color: rgba(15, 138, 126, .45);
  --border-color: rgba(15, 138, 126, .45);
}
/* Featured pricing tiers keep their teal edge and get a teal-tinted shadow. */
.hhr-card--feature:hover { box-shadow: 0 18px 34px rgba(15, 138, 126, .20); }
.elementor .hhr-card--feature.hhr-card--feature:hover {
  border-color: #0F8A7E;
  --border-color: #0F8A7E;
}
/* Cards holding a form never move — the fields must not slide under the cursor. */
.hhr-card--quiet:hover { transform: none; }
.elementor .hhr-card--quiet.hhr-card--quiet:hover { box-shadow: 0 14px 30px rgba(14, 45, 48, .14); }

/* The tinted icon tile in a card fills solid on hover. */
.hhr-card .elementor-icon {
  transition: background-color .35s ease,
              color .35s ease,
              transform .35s cubic-bezier(.2, .7, .3, 1);
}
.elementor .hhr-card.hhr-card:hover .elementor-widget-icon .elementor-icon {
  background-color: #0F8A7E;
  color: #FFFFFF;
  transform: translateY(-2px);
}
/* Elementor writes the glyph fill onto the svg itself, one class deeper. */
.hhr-card .elementor-widget-icon .elementor-icon svg { transition: fill .35s ease; }
.elementor .hhr-card.hhr-card:hover .elementor-widget-icon .elementor-icon svg { fill: #FFFFFF; }

/* --- links: the chevron steps forward, on the link or anywhere in its card --- */
.elementor-icon-list-item > a { transition: color .3s ease; }
.elementor-icon-list-item > a .elementor-icon-list-icon {
  transition: transform .3s cubic-bezier(.2, .7, .3, 1);
}
.elementor-icon-list-item > a:hover .elementor-icon-list-icon,
.hhr-card:hover .elementor-icon-list-item > a .elementor-icon-list-icon {
  transform: translateX(4px);
}

/* --- buttons --- */
.elementor-button {
  transition: transform .3s cubic-bezier(.2, .7, .3, 1),
              box-shadow .3s ease,
              background-color .3s ease,
              color .3s ease,
              border-color .3s ease;
}
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(14, 45, 48, .16); }
.elementor-button:active { transform: translateY(0); box-shadow: none; }

/* --- imagery eases in a touch; the header and footer logo only dims --- */
.elementor-widget-image img { transition: transform .5s cubic-bezier(.2, .7, .3, 1); }
.elementor-widget-image:hover img { transform: scale(1.03); }
.elementor-location-header .elementor-widget-image img,
.elementor-location-footer .elementor-widget-image img { transition: opacity .3s ease; }
.elementor-location-header .elementor-widget-image:hover img,
.elementor-location-footer .elementor-widget-image:hover img { transform: none; opacity: .82; }

/* --- FAQ toggles --- */
.elementor-toggle .elementor-tab-title { transition: color .3s ease; }
.elementor .elementor-widget-toggle .elementor-toggle .elementor-tab-title.elementor-tab-title:hover {
  color: #0F8A7E;
}
.elementor-toggle .elementor-toggle-icon { transition: transform .3s cubic-bezier(.2, .7, .3, 1); }
.elementor-toggle .elementor-tab-title:hover .elementor-toggle-icon { transform: translateX(3px); }

/* --- footer text links brighten to the accent teal on the dark ground.
   Contact links nest the anchor inside .elementor-icon-list-text, menu links
   do not, so both shapes are covered by widget rather than by list markup. --- */
.elementor.elementor-location-footer .elementor-widget-icon-list a,
.elementor.elementor-location-footer .elementor-widget-text-editor a,
.elementor.elementor-location-footer .elementor-nav-menu a { transition: color .3s ease; }
.elementor.elementor-location-footer .elementor-widget-icon-list a:hover,
.elementor.elementor-location-footer .elementor-widget-text-editor a:hover,
.elementor.elementor-location-footer .elementor-nav-menu a:hover { color: #2FBBAC; }

@media (prefers-reduced-motion: reduce) {
  .hhr-card,
  .hhr-card .elementor-icon,
  .elementor-icon-list-item > a .elementor-icon-list-icon,
  .elementor-button,
  .elementor-widget-image img,
  .elementor-toggle .elementor-toggle-icon { transition-duration: .01ms; }
  .hhr-card:hover,
  .elementor-button:hover,
  .elementor-widget-image:hover img,
  .elementor-icon-list-item > a:hover .elementor-icon-list-icon,
  .hhr-card:hover .elementor-icon-list-item > a .elementor-icon-list-icon,
  .elementor-toggle .elementor-tab-title:hover .elementor-toggle-icon { transform: none; }
  .elementor .hhr-card.hhr-card:hover .elementor-widget-icon .elementor-icon { transform: none; }
}/* End custom CSS */