/* Lighthouse Local Growth Partners | site motion + details */
:root{--llgp-harbor:#1C212B;--llgp-harbor-2:#232937;--llgp-cream:#F8F5F0;--llgp-stone:#EDE8E0;--llgp-rust:#B66138;--llgp-rust-ink:#9A4A24;--llgp-beacon:#FFBC7D;--llgp-mist:#C9D3D9;--llgp-steel:#8FA6B1;--llgp-ease:cubic-bezier(.16,1,.3,1)}
.elementor-template-full-width .site-content>.ast-container,.elementor-page.ast-page-builder-template .site-content>.ast-container{max-width:none;width:100%;padding-left:0;padding-right:0;margin:0;display:block}
.elementor-template-full-width .site-content,.elementor-template-full-width #primary{margin:0;padding:0;width:100%}
.llgp-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:14px}
.llgp-eyebrow .elementor-heading-title::before{content:"";width:9px;height:9px;flex:none;background:currentColor;transform:rotate(45deg);box-shadow:0 0 0 5px color-mix(in srgb,currentColor 14%,transparent),0 0 0 11px color-mix(in srgb,currentColor 0%,transparent);outline:1.5px solid color-mix(in srgb,currentColor 35%,transparent);outline-offset:6px;margin:0 6px}
.llgp-eyebrow .elementor-heading-title::after{content:"";width:56px;height:2px;flex:none;background:linear-gradient(90deg,currentColor,transparent);transform-origin:left;transition:transform 1.1s var(--llgp-ease) .25s}
.llgp-eyebrow .elementor-heading-title{background:linear-gradient(currentColor,currentColor) 34px 100%/calc(100% - 104px) 2px no-repeat;padding-bottom:6px}
.llgp-eyebrow--center .elementor-heading-title{justify-content:center}
.llgp-js .llgp-eyebrow:not(.llgp-in) .elementor-heading-title::after{transform:scaleX(0)}
.llgp-dark .llgp-eyebrow .elementor-heading-title::before{box-shadow:0 0 0 5px rgba(255,188,125,.14),0 0 18px rgba(255,188,125,.6)}
.llgp-dark .llgp-eyebrow.llgp-in .elementor-heading-title::before{animation:llgp-beacon 2.8s ease-in-out 3}
@keyframes llgp-beacon{50%{box-shadow:0 0 0 9px rgba(255,188,125,.08),0 0 28px rgba(255,188,125,.9)}}
.elementor-heading-title em.hl{font-style:italic;color:var(--llgp-rust-ink)}
.llgp-dark .elementor-heading-title em.hl,.llgp-dark .elementor-heading-title em{color:var(--llgp-beacon)}
.llgp-beam{isolation:isolate}
.llgp-beam::before{content:"";position:absolute;z-index:0;pointer-events:none;top:-40%;right:-10%;width:160vmax;height:160vmax;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,188,125,.16) 8deg,rgba(255,188,125,.05) 22deg,transparent 30deg,transparent 360deg);-webkit-mask-image:radial-gradient(circle,#000 0,#000 30%,transparent 62%);mask-image:radial-gradient(circle,#000 0,#000 30%,transparent 62%);animation:llgp-sweep 14s linear infinite}
.llgp-beam>.e-con-inner,.llgp-beam>.elementor-element{position:relative;z-index:1}
@keyframes llgp-sweep{from{transform:translate(18%,-6%) rotate(150deg)}to{transform:translate(18%,-6%) rotate(510deg)}}
.llgp-spot{position:absolute;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(255,188,125,.10),transparent 65%);pointer-events:none;z-index:0;opacity:0;transition:opacity .5s}
.llgp-beam:hover .llgp-spot{opacity:1}
.llgp-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:99999;pointer-events:none}
.llgp-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--llgp-rust),var(--llgp-beacon));transform-origin:left;transform:scaleX(0)}
.llgp-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.llgp-word>span{display:inline-block;transition:transform .9s var(--llgp-ease);transition-delay:calc(var(--i) * 55ms)}
.llgp-js .llgp-split:not(.llgp-in) .llgp-word>span{transform:translateY(105%)}
.llgp-wipe .elementor-widget-container,.llgp-wipe{overflow:hidden}
.llgp-wipe .elementor-widget-container{position:relative;border-radius:inherit}
.llgp-js .llgp-wipe .elementor-widget-container::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,var(--llgp-harbor) 0 96%,var(--llgp-rust) 96%);transform-origin:right;transition:transform 1.15s cubic-bezier(.77,0,.18,1)}
.llgp-js .llgp-wipe.llgp-in .elementor-widget-container::after{transform:scaleX(0)}
.llgp-js .llgp-wipe img{transform:scale(1.14);transition:transform 1.6s var(--llgp-ease)}
.llgp-js .llgp-wipe.llgp-in img{transform:none}
.llgp-bob{animation:llgp-bob 4.5s ease-in-out 1.2s 3}
@keyframes llgp-bob{50%{transform:translateY(-10px)}}
.llgp-shine .elementor-button{position:relative;overflow:hidden;isolation:isolate}
.llgp-shine .elementor-button::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-120%) skewX(-18deg);animation:llgp-shine 1.3s var(--llgp-ease) 1.4s 1}
.llgp-shine .elementor-button:hover::after{animation:llgp-shine 1s var(--llgp-ease)}
@keyframes llgp-shine{to{transform:translateX(320%) skewX(-18deg)}}
.elementor-widget-icon .elementor-icon{transition:transform .5s var(--llgp-ease)}
.llgp-lift{transition:transform .5s var(--llgp-ease),box-shadow .5s var(--llgp-ease)}
.llgp-lift:hover{transform:translateY(-5px)}
.llgp-lift:hover .elementor-widget-icon .elementor-icon{transform:translateY(-3px) rotate(-8deg) scale(1.06)}
.llgp-rail{position:relative}
.llgp-rail::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:2px;background:currentColor;opacity:.18;transform-origin:left;transition:transform 1.6s var(--llgp-ease) .2s}
.llgp-js .llgp-rail:not(.llgp-in)::before{transform:scaleX(0)}
.llgp-rail .elementor-widget-icon .elementor-icon-wrapper{position:relative;z-index:1}
.llgp-js .llgp-rail:not(.llgp-in) .elementor-widget-icon .elementor-icon{transform:scale(.3)}
.llgp-rail .elementor-widget-icon .elementor-icon{transition:transform .7s cubic-bezier(.34,1.56,.64,1)}
.llgp-chain{position:relative}
.llgp-chain::before{content:"";position:absolute;left:10%;right:10%;top:32px;height:2px;background:repeating-linear-gradient(90deg,var(--llgp-steel) 0 8px,transparent 8px 14px);opacity:.5}
.llgp-chain .elementor-icon{transition:background .4s,color .4s,transform .6s var(--llgp-ease)}
.llgp-chain.llgp-in .elementor-widget-icon .elementor-icon{animation:llgp-light .6s var(--llgp-ease) both;animation-delay:calc(.35s + var(--n) * .6s)}
@keyframes llgp-light{50%{transform:scale(1.18);background:var(--llgp-beacon);color:var(--llgp-harbor);box-shadow:0 0 0 10px rgba(255,188,125,.14),0 0 40px rgba(255,188,125,.5)}100%{background:rgba(255,188,125,.14);color:var(--llgp-beacon);fill:var(--llgp-beacon)}}
.llgp-glow{position:relative}
.llgp-glow.llgp-in{animation:llgp-glow 3s ease-in-out 3}
@keyframes llgp-glow{50%{box-shadow:0 0 0 1px rgba(255,188,125,.4),0 0 40px rgba(255,188,125,.25)}}
.lh-art{width:min(380px,100%);height:auto;overflow:visible;margin-inline:auto;display:block}
.lh-beam{transform-origin:200px 128px;animation:llgp-lh 9s linear infinite}
.lh-beam-b{animation-delay:-4.5s}
@keyframes llgp-lh{0%{transform:rotate(-25deg);opacity:0}15%{opacity:1}50%{transform:rotate(25deg);opacity:1}65%{opacity:0}100%{transform:rotate(-25deg);opacity:0}}
.lh-glow{transform-origin:200px 128px;animation:llgp-lhglow 3s ease-in-out infinite}
@keyframes llgp-lhglow{50%{transform:scale(1.25);opacity:.7}}
.lh-waves{animation:llgp-waves 6s linear infinite}
@keyframes llgp-waves{to{transform:translateX(80px)}}
.lh-stars circle{animation:llgp-twinkle 3s ease-in-out infinite}
.lh-stars circle:nth-child(2n){animation-delay:1.2s}.lh-stars circle:nth-child(3n){animation-delay:2s}
@keyframes llgp-twinkle{50%{opacity:.25}}
.lh-gulls{animation:llgp-gulls 8s ease-in-out infinite}
@keyframes llgp-gulls{50%{transform:translate(14px,-8px)}}
.llgp-skel{display:grid;gap:14px;background:var(--llgp-cream);border:1px dashed #D9D2C7;border-radius:12px;padding:22px}
.llgp-skel i{display:block;position:relative;overflow:hidden;background:var(--llgp-stone);border-radius:6px;height:12px}
.llgp-skel i.f{height:48px;background:#fff;border:1.5px solid #D9D2C7}
.llgp-skel i.t{height:100px;background:#fff;border:1.5px solid #D9D2C7}
.llgp-skel i.b{height:52px;width:220px;background:var(--llgp-rust-ink)}
.llgp-skel .row{display:grid;grid-template-columns:repeat(var(--c,2),1fr);gap:10px}
.llgp-skel i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(-100%);animation:llgp-skel 1.8s ease-in-out infinite}
@keyframes llgp-skel{to{transform:translateX(100%)}}
.llgp-mobile-bar{display:none!important}
@media (max-width:767px){
.llgp-mobile-bar{display:flex!important;position:fixed!important;left:0;right:0;bottom:0;z-index:9990;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}
body{padding-bottom:72px}
.llgp-eyebrow .elementor-heading-title::after{display:none}
.llgp-eyebrow .elementor-heading-title{background-size:calc(100% - 34px) 2px}
.llgp-chain::before{top:24px}
.llgp-rail::before{display:none}
}
:focus-visible{outline:3px solid var(--llgp-rust-ink);outline-offset:3px}
.llgp-dark :focus-visible{outline-color:var(--llgp-beacon)}
@media (prefers-reduced-motion:reduce){
.llgp-beam::before,.lh-beam,.lh-glow,.lh-waves,.lh-stars circle,.lh-gulls,.llgp-bob,.llgp-skel i::after,.llgp-glow.llgp-in,.llgp-chain.llgp-in .elementor-widget-icon .elementor-icon,.llgp-shine .elementor-button::after{animation:none!important}
.llgp-js .llgp-split:not(.llgp-in) .llgp-word>span,.llgp-js .llgp-wipe img,.llgp-js .llgp-rail:not(.llgp-in) .elementor-widget-icon .elementor-icon,.llgp-js .llgp-eyebrow:not(.llgp-in) .elementor-heading-title::after,.llgp-js .llgp-rail:not(.llgp-in)::before{transform:none}
.llgp-js .llgp-wipe .elementor-widget-container::after,.llgp-spot,.llgp-progress{display:none}
}
.llgp-reveal{transition:opacity .9s var(--llgp-ease),transform 1s var(--llgp-ease)}
.llgp-js .llgp-reveal:not(.llgp-in){opacity:0;transform:translateY(24px)}
.llgp-rd1{transition-delay:.06s}.llgp-rd2{transition-delay:.12s}.llgp-rd3{transition-delay:.18s}.llgp-rd4{transition-delay:.24s}.llgp-rd5{transition-delay:.3s}.llgp-rd6{transition-delay:.36s}
@media (prefers-reduced-motion:reduce){.llgp-js .llgp-reveal:not(.llgp-in){opacity:1;transform:none}.llgp-reveal{transition:none}}
