.elementor-kit-6{--e-global-color-primary:#F0542D;--e-global-color-secondary:#54595F;--e-global-color-text:#3F3F46;--e-global-color-accent:#EBB268;--e-global-color-ded40c1:#444444;--e-global-color-2fee802:#777777;--e-global-color-9e09c8d:#FFFFFF;--e-global-color-3099770:#F1F0EE;--e-global-color-21a27b1:#525252;--e-global-color-9c1ddd1:#E0E0E0;--e-global-color-82c8f67:#C63C13;--e-global-color-368b265:#F38E2E;--e-global-color-2c75949:#000000;--e-global-color-24ce9d2:#FFFFFF;--e-global-color-e7521f1:#02010100;--e-global-color-9dfc8f5:#F0542DCC;--e-global-typography-primary-font-family:"Nunito Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Nunito Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Nunito Sans";--e-global-typography-text-font-size:1.125rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Nunito Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-890bab3-font-family:"Nunito";--e-global-typography-890bab3-font-size:4.5rem;--e-global-typography-890bab3-font-weight:600;--e-global-typography-890bab3-font-style:normal;--e-global-typography-890bab3-line-height:1.05;--e-global-typography-32be134-font-family:"Nunito";--e-global-typography-32be134-font-size:3.25rem;--e-global-typography-32be134-font-weight:600;--e-global-typography-32be134-line-height:1.1;--e-global-typography-169da23-font-family:"Nunito";--e-global-typography-169da23-font-size:2.25rem;--e-global-typography-169da23-font-weight:500;--e-global-typography-169da23-line-height:1.15;--e-global-typography-1e2f29a-font-family:"Nunito";--e-global-typography-1e2f29a-font-size:1.5rem;--e-global-typography-1e2f29a-font-weight:600;--e-global-typography-1e2f29a-line-height:1.2;--e-global-typography-c3472a8-font-family:"Nunito Sans";--e-global-typography-c3472a8-font-size:1.15rem;--e-global-typography-c3472a8-font-weight:400;--e-global-typography-c3472a8-line-height:1.6;--e-global-typography-7ebd15c-font-family:"Nunito Sans";--e-global-typography-7ebd15c-font-size:1rem;--e-global-typography-7ebd15c-font-weight:400;--e-global-typography-7ebd15c-line-height:1.6;--e-global-typography-7ebd15c-letter-spacing:0px;--e-global-typography-d685af9-font-family:"Nunito Sans";--e-global-typography-d685af9-font-size:1rem;--e-global-typography-d685af9-font-weight:700;--e-global-typography-d685af9-text-transform:uppercase;--e-global-typography-d685af9-line-height:1.4;--e-global-typography-d685af9-letter-spacing:1.6px;--e-global-typography-eb3a3fb-font-family:"Nunito Sans";--e-global-typography-eb3a3fb-font-size:14px;--e-global-typography-eb3a3fb-font-weight:700;--e-global-typography-eb3a3fb-text-transform:uppercase;--e-global-typography-eb3a3fb-letter-spacing:1.4px;--e-global-typography-ac4bc54-font-family:"Nunito";--e-global-typography-ac4bc54-font-size:10px;--e-global-typography-ac4bc54-font-weight:500;--e-global-typography-ac4bc54-text-transform:uppercase;--e-global-typography-ac4bc54-line-height:1.16;--e-global-typography-ac4bc54-letter-spacing:1px;--e-global-typography-fa4147c-font-family:"Nunito Sans";--e-global-typography-fa4147c-font-size:1rem;--e-global-typography-fa4147c-font-weight:700;--e-global-typography-3f3c827-font-family:"Nunito Sans";--e-global-typography-3f3c827-font-size:18px;--e-global-typography-3f3c827-font-weight:500;--e-global-typography-3f3c827-line-height:1.6;--e-global-typography-8357578-font-family:"Nunito Sans";--e-global-typography-8357578-font-size:1rem;--e-global-typography-8357578-font-weight:600;--e-global-typography-8357578-line-height:28px;--e-global-typography-6227e55-font-family:"Nunito Sans";--e-global-typography-6227e55-font-size:1.5rem;--e-global-typography-6227e55-font-weight:600;--e-global-typography-22ba0ef-font-family:"Nunito Sans";--e-global-typography-22ba0ef-font-size:16px;--e-global-typography-22ba0ef-font-weight:500;--e-global-typography-22ba0ef-text-transform:uppercase;--e-global-typography-22ba0ef-line-height:1.6;--e-global-typography-22ba0ef-letter-spacing:1.6px;--e-global-typography-804a04c-font-family:"Nunito Sans";--e-global-typography-804a04c-font-size:1rem;--e-global-typography-804a04c-font-weight:700;--e-global-typography-804a04c-line-height:1.25;--e-global-typography-804a04c-letter-spacing:0px;--e-global-typography-6b64a8c-font-family:"Nunito";--e-global-typography-6b64a8c-font-size:2rem;--e-global-typography-6b64a8c-font-weight:500;--e-global-typography-6b64a8c-line-height:1.15;--e-global-typography-619fb01-font-family:"Nunito";--e-global-typography-619fb01-font-size:1.75rem;--e-global-typography-619fb01-font-weight:500;--e-global-typography-619fb01-line-height:1.15;color:var( --e-global-color-text );font-family:"Nunito Sans", Sans-serif;font-size:18px;font-weight:400;line-height:1.6;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-fa4147c-font-family ), Sans-serif;font-size:var( --e-global-typography-fa4147c-font-size );font-weight:var( --e-global-typography-fa4147c-font-weight );color:var( --e-global-color-24ce9d2 );border-radius:6px 6px 6px 6px;padding:15px 24px 15px 24px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1416px;}.e-con{--container-max-width:1416px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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:1200px){.elementor-kit-6{--e-global-typography-890bab3-font-size:3.75rem;--e-global-typography-890bab3-line-height:1.05;--e-global-typography-32be134-font-size:2.75rem;--e-global-typography-169da23-font-size:2rem;--e-global-typography-1e2f29a-font-size:1.375rem;--e-global-typography-c3472a8-font-size:1rem;--e-global-typography-d685af9-font-size:0.9rem;--e-global-typography-6227e55-font-size:1.375rem;--e-global-typography-6b64a8c-font-size:2rem;--e-global-typography-619fb01-font-size:1.5rem;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-fa4147c-font-size );}}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-text-font-size:1.0625rem;--e-global-typography-890bab3-font-size:3rem;--e-global-typography-890bab3-line-height:1.15;--e-global-typography-32be134-font-size:2.125rem;--e-global-typography-169da23-font-size:1.75rem;--e-global-typography-1e2f29a-font-size:1.25rem;--e-global-typography-c3472a8-font-size:1rem;--e-global-typography-7ebd15c-font-size:0.9375rem;--e-global-typography-fa4147c-font-size:0.9375rem;--e-global-typography-6227e55-font-size:1.25rem;--e-global-typography-804a04c-font-size:1.0625rem;--e-global-typography-6b64a8c-font-size:1.75rem;--e-global-typography-619fb01-font-size:1.25rem;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-fa4147c-font-size );}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-text-font-size:1rem;--e-global-typography-890bab3-font-size:2.375rem;--e-global-typography-32be134-font-size:1.75rem;--e-global-typography-169da23-font-size:1.5rem;--e-global-typography-1e2f29a-font-size:1.125rem;--e-global-typography-1e2f29a-line-height:1.2;--e-global-typography-c3472a8-font-size:1rem;--e-global-typography-7ebd15c-font-size:0.875rem;--e-global-typography-6227e55-font-size:1.125rem;--e-global-typography-804a04c-font-size:1rem;--e-global-typography-6b64a8c-font-size:1.5rem;--e-global-typography-619fb01-font-size:1rem;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-fa4147c-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =====================================
   Base utility
===================================== */

.hide {
  display: none;
}

/* fallback for bootstrap utility classes used by legacy SF form */
.d-none { display: none !important; }


/* =====================================
   Global tokens
===================================== */

:root {
  --acc: #F15A33;      /* accent */
  --text: #2c2c2c;     /* base text */
  --ease: cubic-bezier(.22, .61, .36, 1);
}


/* =====================================
   Body overlay
===================================== */

/* Light background overlay over the body background */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.55);
  z-index: 0;
  pointer-events: none;
}

body {
  position: relative;
  z-index: 1;
}


/* =====================================
   Main nav dropdown icon
===================================== */

span.sub-arrow {
  margin-left: 5px;
  color: #F0542D;
}


/* =====================================
   Global mega menu arrow styles
===================================== */

.arrow-white-bg-orange,
.arrow-black-bg-white {
  display: inline-block;
  width: 28px;
  height: 28px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.2s ease, filter 0.2s ease;
  z-index: 999;
}

.arrow-white-bg-orange {
  background-image: url('/wp-content/uploads/arrow-white-bg-orange.svg');
}

.arrow-black-bg-white {
  background-image: url('/wp-content/uploads/arrow-black-bg-white1.svg');
}

/* Hover lift on CTA rows */
.mm-cta-row:hover .arrow-white-bg-orange,
.mm-cta-row:hover .arrow-black-bg-white,
.text-btn:hover .arrow-black-bg-white,
.text-btn:hover .arrow-white-bg-orange {
  transform: translateX(4px);
}

.mm-cta-row:hover .arrow-white-bg-orange {
  filter: brightness(1.1);
}

/* Text button arrow hover + color */
.text-btn:hover p,
.text-btn:hover a,
.text-btn:hover span {
  color: #F15A29; /* Acumen orange */
}


/* =====================================
   Mega menu link column animations
===================================== */

/* Base link styling inside the mega menu link columns */
.mm-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0;
  text-decoration: none;
  color: var(--e-global-color-text, #333);
  transition: color 0.25s ease, transform 0.25s ease;
}

/* Subtle lift and color shift on hover/focus */
.mm-links a:hover,
.mm-links a:focus-visible {
  color: var(--e-global-color-accent, #ee5a33);
  transform: translateY(-1px);
}

/* Underline that slides in */
.mm-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: #000;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.mm-links a:hover::after,
.mm-links a:focus-visible::after {
  transform: scaleX(1);
}

/* Better focus outline for keyboard users */
.mm-links a:focus-visible {
  outline: 2px solid var(--e-global-color-accent, #ee5a33);
  outline-offset: 2px;
  border-radius: 4px;
}

/* =====================================
   Mega menu support column animations
===================================== */

/* Make the whole row a nice hit area */
.mm-support .elementor-icon-list-item > a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--text);
  transition: color 0.2s var(--ease);
}

/* Work whether there is an icon or not */
.mm-support .elementor-icon-list-icon {
  display: inline-flex;
  transition: color 0.2s var(--ease), transform 0.25s var(--ease);
}

/* Text underline and nudge */
.mm-support .elementor-icon-list-text {
  position: relative;
  display: inline-block;
  transition: color 0.2s var(--ease), transform 0.25s var(--ease);
}

.mm-support .elementor-icon-list-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2em;
  width: 0;
  height: 2px;
  background: var(--acc);
  transition: width 0.25s var(--ease);
}

/* Hover state works with or without an icon element */
.mm-support .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: var(--acc);
  transform: translateX(2px);
}

.mm-support .elementor-icon-list-item:hover .elementor-icon-list-text::after {
  width: 100%;
}

.mm-support .elementor-icon-list-item:hover .elementor-icon-list-icon {
  color: var(--acc);
  transform: translateX(2px);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .mm-support .elementor-icon-list-item * {
    transition: none !important;
    transform: none !important;
  }
}


/* =====================================
   Loop card layout helpers
===================================== */

/* Make each card fill the grid row and pin CTA to the bottom */
.e-loop-item .card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.e-loop-item .card__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto; /* let content area grow to fill */
}

.e-loop-item .card__cta {
  margin-top: auto; /* push CTA to the bottom */
}


/* =====================================
   Generic card hover interactions
===================================== */

.acumen-card,
.hero-service-card,
.section-photo,
.location-card {
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}


/* =====================================
   Hero service cards (home hero)
===================================== */

.hero-service-card {
  overflow: hidden;
}

/* Lift and shadow on hover/focus */
.hero-service-card:hover,
.hero-service-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

/* Image zoom on hover */
.hero-service-card img {
  transition: transform 0.35s var(--ease);
}

.hero-service-card:hover img,
.hero-service-card:focus-within img {
  transform: scale(1.05);
}

/* Default state - hide overlay */
.hero-service-card .hero-service-overlay {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.28s var(--ease), transform 0.28s var(--ease);
  pointer-events: none;
}

/* Show overlay on hover/focus */
.hero-service-card:hover .hero-service-overlay,
.hero-service-card:focus-within .hero-service-overlay {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Fade out the static title */
.hero-service-card .hero-service-title {
  transition: opacity 0.2s var(--ease);
}

.hero-service-card:hover .hero-service-title,
.hero-service-card:focus-within .hero-service-title {
  opacity: 0;
}

/* Subtle lift animation for overlay content */
.hero-service-card .hero-service-content {
  transform: translateY(6px);
  transition: transform 0.28s var(--ease);
}

.hero-service-card:hover .hero-service-content,
.hero-service-card:focus-within .hero-service-content {
  transform: translateY(0);
}

/* Stagger helpers for scroll reveal */
.hero-service-card.delay-1 {
  transition-delay: 0.12s;
}

.hero-service-card.delay-2 {
  transition-delay: 0.24s;
}

.hero-service-card.delay-3 {
  transition-delay: 0.36s;
}


/* =====================================
   Text button icon adjustments
===================================== */

.elementor-button-content-wrapper {
  flex-direction: row-reverse;
}

.text-btn-lg .elementor-button-content-wrapper{
 align-items: center;
}

.text-btn-orange {
    align-items: flex-start;
}

.text-btn-primary svg {
    width: 1.5rem;
    height: 1.5rem;
}

.ue-grid-item-category a {
    color: #F0542D !important;
}

.uc_btn_icon {
    padding-top: 0.5rem;
}

.uc_post_button svg {
    height: 1.5rem!important;
    width: 1.5rem!important;
}

.text-btn-lg svg {
    height: 2rem!important;
    width: 2rem!important;
}

/* =====================================
   Expertise list section
===================================== */

.expertise-list {
  display: grid;
  column-gap: 56px;
  row-gap: 32px;
}

.expertise-list li {
  width: 222px;
}

/* Link behaves like a full-width button with space-between text and icon */
.expertise-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 0 24px;
  text-decoration: none;
  color: inherit;
}

/* Icon size and subtle hover nudge */
.expertise-link .icon-arrow {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  transition: transform 0.2s ease;
}

.expertise-link:hover .icon-arrow {
  transform: translate(2px, -2px);
}

/* Responsive: stack to 1 column on tablet/mobile */
@media (max-width: 900px) {
  .expertise-list {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}


/* =====================================
   Pricing table striping
===================================== */

.pricing_table .elementor-loop-container > .e-loop-item:nth-child(odd) {
  background: #fff; /* 1st, 3rd, 5th rows white */
}

.pricing_table .elementor-loop-container > .e-loop-item:nth-child(even) {
  background: #f3f2f0; /* 2nd, 4th, 6th rows grey */
}

/* =====================================
   Page scroll animations
===================================== */

/* Cards / blocks that fade up */
.fade-up-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}

/* When the card becomes visible */
.fade-up-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger helpers for scroll reveal */
.fade-up-on-scroll.delay-1 {
  transition-delay: 0.12s;
}

.fade-up-on-scroll.delay-2 {
  transition-delay: 0.24s;
}

.fade-up-on-scroll.delay-3 {
  transition-delay: 0.36s;
}

/* Copy reveal (paragraphs, lists, small content) */
.copy-reveal {
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.5s var(--ease),
    transform 0.5s var(--ease);
}

/* When the observer adds .is-visible */
.copy-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* A slightly quieter version for tiny text (optional) */
.copy-reveal-soft {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.45s var(--ease),
    transform 0.45s var(--ease);
}

.copy-reveal-soft.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* CTA reveal */
.cta-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.6s var(--ease),
    transform 0.6s var(--ease);
}

.cta-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Optional stagger helper */
.cta-delay-1 { transition-delay: 0.1s; }
.cta-delay-2 { transition-delay: 0.2s; }

/* =====================================
   Header base + intro animation
===================================== */

@media (min-width: 1025px) {
/* Front end only - do not animate inside builder (handled at bottom) */
.acumen-header {
  opacity: 0;
  transform: translateY(-12px);
  animation: acumenHeaderIn 0.45s var(--ease) 0.05s forwards;
}
}

@keyframes acumenHeaderIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* =====================================
   Header navigation (UC Mega Menu)
===================================== */

/* Reset UC defaults a bit */
.header-nav .uc-mega_menu_list_item {
  background: transparent !important;
  border-radius: 0;
}

/* Top level links */
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;              /* text ↔ arrow */
  padding: 0.4rem 0;
  color: var(--text);
  text-decoration: none;
  transition: color 0.2s var(--ease), transform 0.2s var(--ease);
}

/* Underline */
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 2px;
  width: 100%;
  background-color: var(--acc);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s var(--ease);
}

/* Hover / focus */
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title:hover,
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title:focus-visible {
  color: var(--acc);
}

.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title:hover::after,
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title:focus-visible::after {
  transform: scaleX(1);
}

/* Active / current item (UC + WP + manual) */
.header-nav .uc-mega_menu_list_item.uc-active > a.uc-mega_menu_title,
.header-nav .uc-mega_menu_list_item.current-menu-item > a.uc-mega_menu_title,
.header-nav .uc-mega_menu_list_item.current_page_item > a.uc-mega_menu_title,
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title.is-current,
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title[aria-expanded="true"] {
  color: var(--acc);
}

.header-nav .uc-mega_menu_list_item.uc-active > a.uc-mega_menu_title::after,
.header-nav .uc-mega_menu_list_item.current-menu-item > a.uc-mega_menu_title::after,
.header-nav .uc-mega_menu_list_item.current_page_item > a.uc-mega_menu_title::after,
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title.is-current::after,
.header-nav .uc-mega_menu_list_item > a.uc-mega_menu_title[aria-expanded="true"]::after {
  transform: scaleX(1);
}


/* =====================================
   Header CTA button
===================================== */

.header-cta {
  transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.header-cta:hover,
.header-cta:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}


/* =====================================
   Hero video
===================================== */

.hero-video-frame {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

/* One-time page load entrance */
.hero-video-entrance {
  opacity: 0;
  transform: scale(0.98);
  animation: heroVideoIn 0.7s var(--ease) 0.2s forwards;
}

@keyframes heroVideoIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}


/* =====================================
   Section feature photos
===================================== */

.section-photo {
  overflow: hidden;
  border-radius: 24px;          /* match your design */
}

.section-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s var(--ease);
}

/* Hover: tiny lift + zoom */
.section-photo:hover,
.section-photo:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

.section-photo:hover img,
.section-photo:focus-within img {
  transform: scale(1.03);
}


/* =====================================
   Inline CTA links
===================================== */

.cta-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  color: var(--acc);
  text-decoration: none;
  cursor: pointer;
  transition:
    color 0.2s var(--ease),
    transform 0.2s var(--ease);
}

/* Underline bar */
.cta-link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.15em;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s var(--ease);
}

/* Hover / focus */
.cta-link:hover,
.cta-link:focus-visible {
  color: #ff6a3b; /* slightly brighter than var(--acc) if you want */
  transform: translateY(-1px);
}

.cta-link:hover::before,
.cta-link:focus-visible::before {
  transform: scaleX(1);
}

.cta-link:hover::after,
.cta-link:focus-visible::after {
  transform: translateX(4px);
}

/* Keyboard focus ring */
.cta-link:focus-visible {
  outline: 2px solid rgba(241, 90, 51, 0.5);
  outline-offset: 3px;
  border-radius: 4px;
}


/* =====================================
   Location cards
===================================== */

.location-card-logo {
  flex: 0 0 auto;
  transition: transform 0.25s var(--ease);
}

.location-card:hover .location-card-logo,
.location-card:focus-within .location-card-logo {
  transform: translateX(4px);
}

/* Base reveal for all location cards */
.locations-grid .location-card.fade-up-on-scroll {
  transition-delay: 0s;
}

/* Stagger pattern: repeats every 3 cards */
.locations-grid .location-card.fade-up-on-scroll:nth-child(3n + 1) {
  transition-delay: 0s;
}

.locations-grid .location-card.fade-up-on-scroll:nth-child(3n + 2) {
  transition-delay: 0.08s;
}

.locations-grid .location-card.fade-up-on-scroll:nth-child(3n + 3) {
  transition-delay: 0.16s;
}



.section_surgeons .e-loop-no-results {
  display: none;
}

.section_surgeons:has(.e-loop-no-results) {
  display: none;
}

/* =====================================
   Gravity Form Styles
===================================== */
.gform_button {
    background: #f0542c!important;
}


/* =====================================
   Elementor editor visibility fixes
===================================== */

/* Disable all entrance / scroll animations in Elementor editor */
body.elementor-editor-active
  .fade-up-on-scroll,
body.elementor-editor-active
  .fade-heading,
body.elementor-editor-active
  .copy-reveal,
body.elementor-editor-active
  .copy-reveal-soft,
body.elementor-editor-active
  .cta-reveal,
body.elementor-editor-active
  .hero-video-entrance,
body.elementor-editor-active
  .acumen-header {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}/* End custom CSS */