/* Livingston Site Kit — animations & components */
:root{--lma-ink:#06101F;--lma-ink2:#0B1A33;--lma-navy:#0F2D5C;--lma-green:#22C55E;--lma-green-d:#16A34A;--lma-sky:#38BDF8;--lma-border:#E3E9F2;--lma-muted:#5B6B82;--lma-light:#F5F8FC}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
.lma-style-holder{margin:0!important;height:0;overflow:hidden}
/* scroll progress */
#lma-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--lma-green),var(--lma-sky));z-index:100000;transition:width .1s linear}
/* ---------- dark hero / dark bands ---------- */
.lma-hero,.lma-darkband{position:relative;overflow:hidden;isolation:isolate}
.lma-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
 background-size:58px 58px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 20%,transparent 75%)}
.lma-hero::after,.lma-darkband::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:720px;height:720px;right:-220px;top:-260px;border-radius:50%;
 background:radial-gradient(circle,rgba(34,197,94,.26),rgba(56,189,248,.10) 40%,transparent 68%);animation:lmaFloat 16s ease-in-out infinite}
.lma-darkband::after{left:-260px;right:auto;top:auto;bottom:-380px;background:radial-gradient(circle,rgba(56,189,248,.18),transparent 65%)}
@keyframes lmaFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-90px,70px) scale(1.12)}}
/* ---------- badge / eyebrow ---------- */
.lma-badge .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.08)}
.lma-badge .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lma-green);animation:lmaPulse 2s infinite}
@keyframes lmaPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.lma-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.lma-eyebrow .elementor-heading-title::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.elementor-widget-heading.lma-eyebrow[class*="center"] .elementor-heading-title,.lma-center .lma-eyebrow .elementor-heading-title{justify-content:center}
/* ---------- text effects ---------- */
.lma-grad{background:linear-gradient(92deg,#22C55E 0%,#38BDF8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lma-rotate{color:var(--lma-green);position:relative;white-space:nowrap}
.lma-rotate::after{content:"";display:inline-block;width:3px;height:.9em;margin-left:4px;background:var(--lma-green);vertical-align:-0.08em;animation:lmaCaret .9s steps(1) infinite}
@keyframes lmaCaret{50%{opacity:0}}
.lma-underline{position:relative;white-space:nowrap}
.lma-underline::after{content:"";position:absolute;left:0;right:0;bottom:-.05em;height:.14em;border-radius:4px;background:linear-gradient(90deg,var(--lma-green),var(--lma-sky));transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.8,.2,1) .4s}
.lma-in .lma-underline::after,.animated .lma-underline::after{transform:scaleX(1)}
/* ---------- buttons ---------- */
.lma-btn .elementor-button{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease!important}
.lma-btn .elementor-button:hover{transform:translateY(-3px)}
.lma-btn-primary .elementor-button,.lma-form .elementor-button{box-shadow:0 10px 30px -10px rgba(34,197,94,.65)}
.lma-btn-primary .elementor-button:hover,.lma-form .elementor-button:hover{box-shadow:0 16px 36px -10px rgba(34,197,94,.8)}
.lma-btn .elementor-button::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg)}
.lma-btn .elementor-button:hover::after{left:140%;transition:left .8s ease}
.lma-btn .elementor-button-icon{transition:transform .25s ease}
.lma-btn .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}
.lma-btn-ghost .elementor-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lma-center-btns>.elementor-widget-wrap{justify-content:center}
@media(max-width:1024px){.lma-empty-side{display:none!important}.lma-empty-side+.elementor-column,.lma-center-btns{width:100%!important}}
/* ---------- cards ---------- */
.lma-card>.elementor-widget-wrap,.lma-card>.elementor-column-wrap{background:#fff;border:1px solid var(--lma-border);border-radius:22px;padding:36px 32px!important;
 transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease;position:relative;overflow:hidden}
.lma-card:hover>.elementor-widget-wrap,.lma-card:hover>.elementor-column-wrap{transform:translateY(-8px);box-shadow:0 30px 60px -28px rgba(15,45,92,.35);border-color:rgba(34,197,94,.55)}
.lma-card>.elementor-widget-wrap::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--lma-green),var(--lma-sky));transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.lma-card:hover>.elementor-widget-wrap::before{transform:scaleX(1)}
.lma-card-dark>.elementor-widget-wrap,.lma-card-dark>.elementor-column-wrap{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:34px 30px!important;
 -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .35s ease,border-color .35s ease,background .35s ease}
.lma-card-dark:hover>.elementor-widget-wrap{transform:translateY(-6px);border-color:rgba(34,197,94,.5);background:rgba(255,255,255,.07)}
.lma-glass>.elementor-widget-wrap{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:26px 24px!important;
 -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .35s ease,box-shadow .35s ease}
.lma-glass:hover>.elementor-widget-wrap{transform:translateY(-6px);box-shadow:0 20px 50px -20px rgba(34,197,94,.45)}
.lma-float-a>.elementor-widget-wrap{animation:lmaBob 6s ease-in-out infinite}
.lma-float-b>.elementor-widget-wrap{animation:lmaBob 6s ease-in-out -3s infinite}
@keyframes lmaBob{0%,100%{translate:0 0}50%{translate:0 -10px}}
.lma-card-pop>.elementor-widget-wrap{background:linear-gradient(165deg,#0F2D5C 0%,#06101F 100%)!important;border-color:rgba(34,197,94,.6)!important;box-shadow:0 30px 70px -30px rgba(15,45,92,.7)}
.lma-pill .elementor-heading-title{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--lma-green);color:#fff!important}
.lma-empty{visibility:hidden}
/* card spacing: cards override Elementor's column-gap padding, so space them with margins instead */
.lma-card>.elementor-widget-wrap,.lma-card-dark>.elementor-widget-wrap,.lma-ind>.elementor-widget-wrap,.lma-bad>.elementor-widget-wrap,.lma-good>.elementor-widget-wrap,.lma-quote>.elementor-widget-wrap{margin:12px;width:calc(100% - 24px)!important}
.lma-glass>.elementor-widget-wrap{margin:7px;width:calc(100% - 14px)!important}
@media(max-width:767px){.lma-empty{display:none!important}}
/* icon boxes */
.lma-ib .elementor-icon{border-radius:16px!important;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.lma-card:hover .lma-ib .elementor-icon,.lma-card-dark:hover .lma-ib .elementor-icon,.lma-ib:hover .elementor-icon{transform:rotate(-8deg) scale(1.1)}
.lma-ib-row .elementor-icon-box-wrapper{gap:18px}
/* link arrows */
.lma-link .elementor-heading-title a,.lma-link .elementor-heading-title{display:inline-flex;align-items:center;gap:8px}
.lma-link .elementor-heading-title::after{content:"→";transition:transform .25s ease}
.lma-link:hover .elementor-heading-title::after{transform:translateX(5px)}
/* ---------- counters ---------- */
.lma-counter .elementor-counter{display:flex;flex-direction:column!important;align-items:flex-start;gap:6px}
.lma-counter .elementor-counter-number-wrapper{order:0}.lma-counter .elementor-counter-title{order:1}
.lma-counter-center .elementor-counter{align-items:center;text-align:center}
.lma-counter .elementor-counter-number-wrapper{justify-content:flex-start}
.lma-counter-center .elementor-counter-number-wrapper{justify-content:center}
.lma-counter .elementor-counter-title{text-align:inherit}
.lma-statband .elementor-column+.elementor-column>.elementor-widget-wrap{border-left:1px solid rgba(255,255,255,.1)}
/* ---------- marquee ---------- */
.lma-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lma-track{display:flex;gap:18px;width:max-content;animation:lmaScroll 38s linear infinite}
.lma-marquee:hover .lma-track{animation-play-state:paused}
.lma-chip{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:999px;border:1px solid var(--lma-border);background:#fff;font:600 15px/1 'Plus Jakarta Sans',sans-serif;color:#0F2D5C;white-space:nowrap}
.lma-chip svg{width:14px;height:14px;fill:var(--lma-green);flex:none}
.lma-chip b{color:var(--lma-green-d);font-weight:700}
.lma-marquee-dark .lma-chip{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#D6E0EE}
@keyframes lmaScroll{to{transform:translateX(-50%)}}
.lma-reverse .lma-track{animation-direction:reverse}
/* ---------- process steps ---------- */
.lma-step-num .elementor-heading-title{-webkit-text-stroke:1.5px var(--lma-green);color:transparent!important;transition:color .4s ease}
.lma-step:hover .lma-step-num .elementor-heading-title{color:var(--lma-green)!important}
.lma-steps{position:relative}
.lma-steps::before{content:"";position:absolute;left:8%;right:8%;top:62px;height:2px;background:repeating-linear-gradient(90deg,rgba(34,197,94,.45) 0 10px,transparent 10px 18px);z-index:0}
.lma-steps-dark::before{background:repeating-linear-gradient(90deg,rgba(34,197,94,.55) 0 10px,transparent 10px 18px)}
@media(max-width:1024px){.lma-steps::before{display:none}}
/* ---------- funnel ---------- */
.lma-funnel{margin-left:auto!important;margin-right:auto!important}
.lma-funnel .elementor-widget-container{border-radius:16px;padding:22px 28px;background:linear-gradient(90deg,rgba(34,197,94,.16),rgba(56,189,248,.10));border:1px solid rgba(34,197,94,.3);transition:transform .3s ease,background .3s}
.lma-funnel:hover .elementor-widget-container{transform:scale(1.02);background:linear-gradient(90deg,rgba(34,197,94,.28),rgba(56,189,248,.16))}
.lma-funnel p{margin:0}
.lma-f1{width:100%!important}.lma-f2{width:88%!important}.lma-f3{width:76%!important}.lma-f4{width:64%!important}
@media(max-width:767px){.lma-f1,.lma-f2,.lma-f3,.lma-f4{width:100%!important}}
/* ---------- compare ---------- */
.lma-bad>.elementor-widget-wrap{background:#fff;border:1px solid var(--lma-border);border-radius:22px;padding:36px!important}
.lma-good>.elementor-widget-wrap{background:linear-gradient(165deg,#0F2D5C,#06101F);border:1px solid rgba(34,197,94,.5);border-radius:22px;padding:36px!important;box-shadow:0 30px 70px -35px rgba(15,45,92,.8)}
.lma-good .elementor-icon-list-item,.lma-bad .elementor-icon-list-item{padding:14px 0!important;border-bottom:1px dashed rgba(127,141,160,.25)}
.lma-good .elementor-icon-list-item:last-child,.lma-bad .elementor-icon-list-item:last-child{border-bottom:0}
/* ---------- faq ---------- */
.lma-faq .elementor-accordion-item{border:1px solid var(--lma-border)!important;border-radius:16px;margin-bottom:14px;background:#fff;overflow:hidden;transition:box-shadow .3s ease,border-color .3s}
.lma-faq .elementor-accordion-item:hover{border-color:rgba(34,197,94,.5)!important;box-shadow:0 14px 30px -18px rgba(15,45,92,.35)}
.lma-faq .elementor-tab-title{border:0!important}
.lma-faq .elementor-tab-content{border:0!important}
/* ---------- quote ---------- */
.lma-quote>.elementor-widget-wrap{background:#fff;border:1px solid var(--lma-border);border-radius:26px;padding:52px!important;position:relative}
.lma-quote>.elementor-widget-wrap::before{content:"\201C";position:absolute;right:36px;top:-10px;font:800 180px/1 'Plus Jakarta Sans',serif;color:rgba(34,197,94,.14)}
.lma-stars .elementor-heading-title{color:#FBBF24!important;letter-spacing:3px}
.lma-avatar .elementor-heading-title{width:56px;height:56px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,#22C55E,#38BDF8);color:#fff!important}
/* ---------- industries ---------- */
.lma-ind>.elementor-widget-wrap{background:#fff;border:1px solid var(--lma-border);border-radius:20px;padding:28px 24px!important;transition:all .35s ease}
.lma-ind:hover>.elementor-widget-wrap{background:#0F2D5C;transform:translateY(-6px);border-color:#0F2D5C}
.lma-ind:hover .elementor-heading-title,.lma-ind:hover .elementor-icon-box-title,.lma-ind:hover .elementor-icon-box-title a{color:#fff!important}
.lma-ind:hover .elementor-icon-box-description{color:#AFC0D6!important}
.lma-ind-featured>.elementor-widget-wrap{border-color:rgba(34,197,94,.6);box-shadow:0 0 0 4px rgba(34,197,94,.08)}
/* ---------- header ---------- */
.lma-topbar a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.lma-header{transition:background .3s ease,box-shadow .3s ease}
.lma-header.elementor-sticky--effects{background:rgba(6,16,31,.86)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px -15px rgba(0,0,0,.6)}
.lma-logo .elementor-heading-title,.lma-logo .elementor-heading-title a{display:inline-flex;flex-direction:column;line-height:1}
.lma-logo .elementor-heading-title small{font:700 9.5px/1.4 Inter,sans-serif;letter-spacing:3.2px;color:#8FA3BF;margin-top:4px}
.lma-logo .lma-wm>span{color:var(--lma-green)}
.lma-nav .elementor-nav-menu--main .elementor-item{transition:color .25s}
.lma-phone .elementor-heading-title a,.lma-phone .elementor-heading-title{color:#D6E0EE}
/* ---------- footer ---------- */
.lma-footer a{transition:color .2s ease,padding .2s ease}
.lma-footer .elementor-icon-list-item a:hover{padding-left:4px}
.lma-social .elementor-social-icon{transition:transform .25s ease,background .25s ease!important}
.lma-social .elementor-social-icon:hover{transform:translateY(-4px);background:var(--lma-green)!important}
/* ---------- mockups ---------- */
.lma-browser{border-radius:18px;overflow:hidden;background:#0B1A33;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);animation:lmaBobT 7s ease-in-out infinite}
@keyframes lmaBobT{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-12px) rotate(.4deg)}}
.lma-browser-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.lma-browser-bar i{width:11px;height:11px;border-radius:50%;background:#FF5F57;display:block}.lma-browser-bar i:nth-child(2){background:#FEBC2E}.lma-browser-bar i:nth-child(3){background:#28C840}
.lma-browser-url{margin-left:10px;flex:1;background:rgba(255,255,255,.06);border-radius:8px;padding:6px 12px;font:500 12px Inter,sans-serif;color:#8FA3BF}
.lma-browser-body{padding:22px}
.lma-sk{height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(255,255,255,.16),rgba(255,255,255,.07));background-size:200% 100%;animation:lmaShimmer 2.2s linear infinite;margin-bottom:10px}
@keyframes lmaShimmer{to{background-position:-200% 0}}
.lma-sk-hero{height:110px;border-radius:12px;background:linear-gradient(120deg,rgba(34,197,94,.35),rgba(56,189,248,.25));margin-bottom:16px;position:relative;overflow:hidden}
.lma-sk-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.25),transparent 70%);background-size:200% 100%;animation:lmaShimmer 2.6s linear infinite}
.lma-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.lma-score{text-align:center;padding:14px 6px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.lma-ring{--p:0;width:64px;height:64px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22C55E calc(var(--p)*1%),rgba(255,255,255,.08) 0);transition:--p 1.6s ease}
.lma-ring span{width:50px;height:50px;border-radius:50%;background:#0B1A33;display:grid;place-items:center;font:800 15px 'Plus Jakarta Sans',sans-serif;color:#fff}
.lma-score small{font:500 12px Inter,sans-serif;color:#AFC0D6}
@property --p{syntax:'<number>';inherits:true;initial-value:0}
.lma-chart{border-radius:20px;padding:26px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:lmaBobT 8s ease-in-out infinite}
.lma-chart h4{margin:0 0 18px;font:700 14px Inter,sans-serif;color:#AFC0D6;letter-spacing:.3px}
.lma-bars{display:flex;align-items:flex-end;gap:14px;height:170px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:2px}
.lma-bars div{flex:1;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#22C55E,rgba(34,197,94,.25));height:4%;transition:height 1.3s cubic-bezier(.2,.8,.2,1)}
.lma-bars-l{display:flex;gap:14px;margin-top:8px}.lma-bars-l span{flex:1;text-align:center;font:500 12px Inter,sans-serif;color:#8FA3BF}
.lma-chart-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.lma-chart-stats div{padding:12px;border-radius:12px;background:rgba(255,255,255,.05)}
.lma-chart-stats b{display:block;font:800 20px 'Plus Jakarta Sans',sans-serif;color:#fff}.lma-chart-stats small{font:500 12px Inter,sans-serif;color:#AFC0D6}
.lma-tag-row{display:flex;flex-wrap:wrap;gap:10px}
.lma-tag{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font:600 13px Inter,sans-serif;color:#D6E0EE}
.lma-tag svg{width:14px;height:14px;fill:#22C55E;flex:none}
.lma-tag-light{background:#fff;border-color:var(--lma-border);color:#0F2D5C}
/* ---------- responsive ---------- */
@media(max-width:767px){
 .lma-statband .elementor-column+.elementor-column>.elementor-widget-wrap{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
 .lma-quote>.elementor-widget-wrap{padding:32px 24px!important}
 .lma-card>.elementor-widget-wrap{padding:28px 24px!important}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
