:root{--page-title-display:none;}/* Start custom CSS */[data-elementor-type=wp-page] section:has(.e-accordion-base) h2 { font-size: clamp(34px,4.2vw,68px) !important; line-height: 1.02 !important; }
@media (min-width: 1025px) { div:has(> [id^=lgp-lbar-]) > p:first-of-type { min-height: 2.4em; } }
[id^=lgp-bar-]::before { content: ''; position: absolute; left: 0px; top: 0px; height: 100%; width: var(--a); border-radius: 6px; background: rgba(250,246,241,0.32); }
[id^=lgp-bar-]::after { content: ''; position: absolute; left: 0px; top: 0px; height: 100%; width: var(--z); border-radius: 6px; background: var(--nivo-apricot); }
#lgp-prov, #lgp-stamp { animation: none; }
/* Lead generation: service-area map, page map + tracking loop, stacked price bar, dark track */
#lgp-map { background-image: linear-gradient(rgba(59,30,63,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(59,30,63,0.06) 1px, transparent 1px); background-size: 28px 28px; }
#lgp-map::before { content: ''; position: absolute; left: -10%; top: 58%; width: 120%; height: 14px; background: rgba(250,246,241,0.9); transform: rotate(-12deg); }
#lgp-map::after { content: ''; position: absolute; left: 30%; top: -10%; width: 12px; height: 120%; background: rgba(250,246,241,0.9); transform: rotate(18deg); }
#lgp-base::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--nivo-apricot); opacity: 0; }
#lgp-base { position: relative; }
#lgp-track::after { content: ''; position: absolute; top: -6px; left: 0%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--nivo-apricot); box-shadow: 0px 0px 0px 6px rgba(240,163,94,0.25); }
[id^=lgp-stage-]::before { content: ''; position: absolute; width: 12px; height: 12px; top: calc(-1 * clamp(24px,3vw,48px) - 8px); left: 0px; border-radius: 50%; background: var(--nivo-plum); border: 3px solid rgba(250,246,241,0.4); box-sizing: border-box; }
@media (max-width: 1024px) { [id^=lgp-stage-]::before { top: 4px; left: -7px; } #lgp-t1 { right: 0%; } #lgp-t2 { left: 0%; } }
#lgp-stack { position: relative; }
#lgp-stack::after { content: ''; position: absolute; top: 0px; bottom: 0px; left: -30%; width: 30%; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.45), rgba(255,255,255,0)); }
[id^=lgp-lp-]:not(:last-child)::after { content: '→'; position: absolute; right: -14px; color: var(--nivo-apricot); }
[id^=lgp-lp-] { position: relative; }
@media (max-width: 767px) { [id^=lgp-lp-]::after { display: none; } }
#lgp-stack > * { width: auto !important; min-width: 0px !important; flex-basis: 0% !important; }
#lgp-sb-1 { flex-grow: 1.2 !important; } #lgp-sb-2 { flex-grow: 1.6 !important; } #lgp-sb-3 { flex-grow: 1 !important; } #lgp-sb-4 { flex-grow: 1.3 !important; } #lgp-sb-5 { flex-grow: 0.9 !important; border-right: 0px !important; }
@media (max-width: 767px) { #lgp-map div:has(> #lgp-base) { left: 50% !important; } }
div:has(> #lgp-pin-6) { left: 7% !important; top: 44% !important; } div:has(> #lgp-pin-3) { left: 76% !important; }
div:has(> #lgp-sv-1), div:has(> #lgp-ar-1) { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
@media (max-width: 767px) { #lgp-map div:has(> [id^=lgp-pin-]) > :last-child { display: none !important; } }
[id^=lgp-tick-]::after { content: ''; position: absolute; left: 10px; top: 7px; width: 6px; height: 11px; border-right: 2px solid var(--nivo-apricot); border-bottom: 2px solid var(--nivo-apricot); transform: rotate(45deg); }
@media (prefers-reduced-motion: no-preference) {
  @keyframes lgpProv { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }
  #lgp-prov, #lgp-stamp { animation: lgpProv 3s ease-in-out infinite; }
  @keyframes lgpBar { 0%, 12% { width: var(--a); } 45%, 100% { width: var(--z); } }
  [id^=lgp-bar-]::after { animation: lgpBar 6s cubic-bezier(.3,.7,.2,1) infinite alternate; }
  @keyframes lgpRise { 0% { transform: scaleY(0.2); } 100% { transform: scaleY(1); } }
  [id^=lgp-lbar-] { transform-origin: center bottom; animation: lgpRise 1.2s cubic-bezier(.3,.7,.2,1) both; }
  @keyframes lgpPin { 0%, 100% { transform: scale(1); background-color: var(--nivo-plum); } 6% { transform: scale(1.5); background-color: var(--nivo-apricot); } 14% { transform: scale(1); background-color: var(--nivo-apricot); } }
  #lgp-pin-1 { animation: lgpPin 9s ease-out 1.5s infinite; }
  #lgp-pin-2 { animation: lgpPin 9s ease-out 2.6s infinite; }
  #lgp-pin-3 { animation: lgpPin 9s ease-out 3.7s infinite; }
  #lgp-pin-4 { animation: lgpPin 9s ease-out 4.8s infinite; }
  #lgp-pin-5 { animation: lgpPin 9s ease-out 5.9s infinite; }
  #lgp-pin-6 { animation: lgpPin 9s ease-out 7.0s infinite; }
  @keyframes lgpPing { 0% { transform: scale(1); opacity: 0.9; } 70%, 100% { transform: scale(2.6); opacity: 0; } }
  #lgp-base::after { animation: lgpPing 2.4s ease-out infinite; }
  @keyframes lgpRing { 0% { transform: translate(-50%,-50%) rotate(0deg); } 100% { transform: translate(-50%,-50%) rotate(360deg); } }
  #lgp-ring { animation: lgpRing 40s linear infinite; }
  @keyframes lgpT1 { 0%, 30% { opacity: 0; transform: translateY(10px); } 36%, 100% { opacity: 1; transform: none; } }
  #lgp-t1 { animation: lgpT1 9s ease-out 2 both; }
  @keyframes lgpT2 { 0%, 58% { opacity: 0; transform: translateY(10px); } 64%, 100% { opacity: 1; transform: none; } }
  #lgp-t2 { animation: lgpT2 9s ease-out 2 both; }
  @keyframes lgpNode { 0%, 100% { background-color: var(--nivo-white); color: var(--nivo-ink); } 8%, 16% { background-color: #FBE3CC; color: var(--nivo-ink); } }
  #lgp-sv-1 { animation: lgpNode 9s ease-in-out 0.5s infinite; }
  #lgp-sv-2 { animation: lgpNode 9s ease-in-out 1.0s infinite; }
  #lgp-sv-3 { animation: lgpNode 9s ease-in-out 1.5s infinite; }
  #lgp-ar-1 { animation: lgpNode 9s ease-in-out 2.5s infinite; }
  #lgp-ar-2 { animation: lgpNode 9s ease-in-out 3.0s infinite; }
  #lgp-ar-3 { animation: lgpNode 9s ease-in-out 3.5s infinite; }
  #lgp-ar-4 { animation: lgpNode 9s ease-in-out 4.0s infinite; }
  #lgp-ar-5 { animation: lgpNode 9s ease-in-out 4.5s infinite; }
  #lgp-ar-6 { animation: lgpNode 9s ease-in-out 5.0s infinite; }
  @keyframes lgpLoop { 0%, 100% { background-color: var(--nivo-white); color: var(--nivo-plum); } 10%, 22% { background-color: var(--nivo-plum); color: var(--nivo-white); } }
  #lgp-lp-1 { animation: lgpLoop 8s ease-in-out 1.2s infinite; }
  #lgp-lp-2 { animation: lgpLoop 8s ease-in-out 2.4s infinite; }
  #lgp-lp-3 { animation: lgpLoop 8s ease-in-out 3.6s infinite; }
  #lgp-lp-4 { animation: lgpLoop 8s ease-in-out 4.8s infinite; }
  @keyframes lgpStack { 0% { left: -30%; } 60%, 100% { left: 110%; } }
  #lgp-stack::after { animation: lgpStack 4s ease-in-out infinite; }
  @keyframes lgpTrack { 0% { left: 0%; } 80%, 100% { left: 100%; } }
  #lgp-track::after { animation: lgpTrack 8s ease-in-out infinite; }
  @keyframes lgpTick { 0%, 10% { transform: rotate(45deg) scale(0); } 20%, 100% { transform: rotate(45deg) scale(1); } }
  #lgp-tick-1::after { animation: lgpTick 6s ease-out 0.5s infinite; }
  #lgp-tick-2::after { animation: lgpTick 6s ease-out 1.0s infinite; }
  #lgp-tick-3::after { animation: lgpTick 6s ease-out 1.5s infinite; }
  #lgp-tick-4::after { animation: lgpTick 6s ease-out 2.0s infinite; }
}
@media (prefers-reduced-motion: reduce) {
  #lgp-track::after { left: 100%; }
  [data-elementor-type=wp-page] [data-interaction-id]:not(.e-accordion-item-icon-base > *) { opacity: 1 !important; transform: none !important; }
}
/* Nov 2026 package update (batch40_packages_update.py). Page ids only (nb-*); no global custom properties or registered properties. */
[id^=nb-slot-] { min-width: 0px; } [id^=nb-slot-] > .elementor-widget-html, [id^=nb-slot-] .elementor-widget-container { width: 100%; }
@media (prefers-reduced-motion: no-preference) {
  @keyframes nbBen { from { width: 0px; } to { width: 30px; } }
  @supports (animation-timeline: view()) { [id^=nb-ben-] { animation: nbBen linear both; animation-timeline: view(); animation-range: entry 20% cover 30%; } }
}/* End custom CSS */