/* Bizlon — shared motion & polish layer (lightweight, no libraries) */

/* Scroll progress bar */
.fx-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:9999;pointer-events:none;
  background:linear-gradient(90deg,#652E8F,#8B4FC4,#D9A441);transform-origin:0 50%;transform:scaleX(0);}

/* Animated gradient on hero highlight text */
.hero h1 em,.page-hero h1 em{background-size:200% auto !important;animation:fxShift 6s ease-in-out infinite alternate;}
@keyframes fxShift{from{background-position:0% 50%}to{background-position:100% 50%}}

/* Shine sweep on primary buttons */
.pill-btn.primary{position:relative;overflow:hidden;isolation:isolate;}
.pill-btn.primary::after{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s ease;}
.pill-btn.primary:hover::after{left:130%;}

/* Cursor spotlight on cards */
.svc-card-new,.tst-card,.pp-card,.value-card,.proc-card,.gr-card{--mx:50%;--my:50%;}
.svc-card-new::after,.pp-card::after,.proc-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(380px circle at var(--mx) var(--my),rgba(139,79,196,.12),transparent 45%);}
.svc-card-new:hover::after,.pp-card:hover::after,.proc-card:hover::after{opacity:1;}
.pp-card,.proc-card{position:relative;}

/* Services strip -> endless ticker */
.strip{overflow:hidden;}
.strip .wrap.fx-ticker{display:flex;flex-wrap:nowrap !important;justify-content:flex-start !important;gap:56px !important;width:max-content;max-width:none;padding:0;
  animation:fxTicker 32s linear infinite;}
.strip .wrap.fx-ticker .item{white-space:nowrap;}
.strip .wrap.fx-ticker .item::before{content:"◆";color:#8B4FC4;font-size:9px;margin-right:14px;align-self:center;}
.strip:hover .wrap.fx-ticker{animation-play-state:paused;}
@keyframes fxTicker{to{transform:translateX(-50%)}}

/* Icon pop on service cards */
.svc-icon-new{position:relative;}
.svc-icon-new::before{content:"";position:absolute;inset:-6px;border-radius:24px;border:2px solid rgba(139,79,196,.25);opacity:0;transform:scale(.85);transition:all .4s;}
.svc-card-new:hover .svc-icon-new::before{opacity:1;transform:scale(1);}

/* Image zoom on hover */
.svc-media-img{overflow:hidden;}
.svc-media-img img{transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.svc-media:hover .svc-media-img img{transform:scale(1.06);}

/* ================= GOOGLE REVIEWS ================= */
.g-reviews{position:relative;padding:110px 0 100px;background:#041D33;overflow:hidden;color:#fff;}
.g-reviews::before{content:"";position:absolute;width:700px;height:700px;top:-300px;right:-200px;border-radius:50%;
  background:radial-gradient(circle,rgba(139,79,196,.28),transparent 60%);pointer-events:none;}
.g-reviews::after{content:"";position:absolute;width:600px;height:600px;bottom:-320px;left:-200px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,164,65,.14),transparent 60%);pointer-events:none;}
.gr-head{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:48px;}
.gr-head h2{color:#fff;margin:10px 0 0;font-size:clamp(30px,4vw,46px);line-height:1.1;}
.gr-head p{color:rgba(255,255,255,.65);margin-top:12px;max-width:520px;font-size:16px;line-height:1.7;}
.gr-score{display:flex;align-items:center;gap:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:22px;padding:18px 22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.gr-score .num{font-family:var(--mono,monospace);font-size:44px;font-weight:700;line-height:1;color:#fff;}
.gr-score .meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:rgba(255,255,255,.7);}
.gr-score .meta b{color:#fff;font-weight:600;}
.gr-stars{color:#F4B400;letter-spacing:2px;font-size:16px;line-height:1;}
.gr-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
.gr-actions .pill-btn.on-dark{border:1px solid rgba(255,255,255,.3);color:#fff;background:transparent;}
.gr-actions .pill-btn.on-dark:hover{background:rgba(255,255,255,.1);}

.gr-rows{position:relative;z-index:2;display:flex;flex-direction:column;gap:22px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.gr-track{display:flex;gap:22px;width:max-content;animation:grScroll var(--dur,60s) linear infinite;}
.gr-track.rev{animation-direction:reverse;}
.gr-rows:hover .gr-track{animation-play-state:paused;}
@keyframes grScroll{to{transform:translateX(-50%)}}

.gr-card{position:relative;width:380px;flex:none;background:rgba(255,255,255,.97);color:#041D33;border-radius:22px;padding:26px 26px 22px;
  box-shadow:0 18px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;transition:transform .35s ease;}
.gr-card:hover{transform:translateY(-6px) rotate(-.4deg);}
.gr-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.gr-av{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:16px;font-family:var(--disp,sans-serif);}
.gr-name{font-weight:700;font-size:15px;line-height:1.2;}
.gr-when{font-size:12px;color:#8A93A3;margin-top:3px;}
.gr-g{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5B6472;
  border:1px solid #E7E3EF;border-radius:100px;padding:5px 10px;white-space:nowrap;}
.gr-card .gr-stars{margin-bottom:12px;}
.gr-text{font-size:14.5px;line-height:1.7;color:#24324a;margin:0;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.gr-foot{margin-top:16px;font-size:12px;color:#8A93A3;display:flex;align-items:center;gap:6px;}
.gr-foot svg{width:14px;height:14px;stroke:#1a9e5c;}

@media (max-width:700px){
  .g-reviews{padding:80px 0 70px;}
  .gr-card{width:290px;padding:22px 20px;}
  .gr-score .num{font-size:36px;}
}

/* Reduced motion: keep everything static */
@media (prefers-reduced-motion:reduce){
  .gr-track,.strip .wrap.fx-ticker,.hero h1 em{animation:none !important;}
  .gr-rows{overflow-x:auto;}
  .fx-progress{display:none;}
}

/* Footer logo: dark logo was invisible on the navy footer */
.foot-brand img{background:#fff;padding:9px 16px;border-radius:14px;height:50px !important;box-shadow:0 8px 24px rgba(0,0,0,.25);}

/* Rating stars with partial fill (4.4) */
.gr-rating{position:relative;display:inline-block;color:rgba(255,255,255,.25);letter-spacing:2px;font-size:16px;line-height:1;}
.gr-rating span{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:#F4B400;}
.g-reviews{margin-bottom:90px;}

/* ===== Reviews slider ===== */
.gr-slider{position:relative;z-index:2;}
.gr-viewport{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:10px 4px 24px;scrollbar-width:none;-ms-overflow-style:none;outline:none;}
.gr-viewport::-webkit-scrollbar{display:none;}
.gr-slider .gr-card{width:calc((100% - 44px)/3);scroll-snap-align:start;}
.gr-slider .gr-card:hover{transform:translateY(-6px);}
@media (max-width:980px){.gr-slider .gr-card{width:calc((100% - 22px)/2);}}
@media (max-width:640px){.gr-slider .gr-card{width:88%;}.gr-viewport{gap:14px;}}
.gr-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px;}
.gr-arrow{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);
  color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;}
.gr-arrow svg{width:20px;height:20px;}
.gr-arrow:hover{background:linear-gradient(135deg,#652E8F,#8B4FC4);border-color:transparent;transform:scale(1.08);}
.gr-dots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:60vw;}
.gr-dots button{width:9px;height:9px;border-radius:100px;border:0;padding:0;background:rgba(255,255,255,.3);cursor:pointer;transition:all .3s;}
.gr-dots button.on{width:28px;background:#F4B400;}

/* =====================================================================
   HERO IMAGE SLIDER (homepage)
   ===================================================================== */
.hs-bgs{position:absolute;inset:0;z-index:0;overflow:hidden;background:#041D33;}
.hs-img{position:absolute;inset:-2%;background-size:cover;background-position:center;opacity:0;transform:scale(1.12);
  transition:opacity 1.4s ease, transform 7s linear;will-change:opacity,transform;}
.hs-img.on{opacity:1;transform:scale(1.0);}
.hero .hero-overlay{background:
  linear-gradient(100deg,rgba(4,29,51,.95) 0%,rgba(4,29,51,.85) 36%,rgba(10,43,73,.55) 64%,rgba(101,46,143,.45) 100%) !important;}
.hs-particles{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.55;
  background-image:radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1.5px 1.5px at 70% 60%,rgba(217,164,65,.9),transparent 60%),
  radial-gradient(1.5px 1.5px at 40% 80%,rgba(196,150,240,.9),transparent 60%),radial-gradient(2px 2px at 85% 20%,rgba(255,255,255,.6),transparent 60%),
  radial-gradient(1px 1px at 55% 15%,rgba(255,255,255,.8),transparent 60%);
  background-size:420px 420px;animation:fxDrift 40s linear infinite;}
@keyframes fxDrift{to{background-position:420px -420px}}

.hs-stack{display:grid;}
.hs-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;}
.hs-slide.on{opacity:1;visibility:visible;pointer-events:auto;}
.hs-slide > *{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .8s cubic-bezier(.2,.8,.2,1);}
.hs-slide.on > *{opacity:1;transform:none;}
.hs-slide.on > *:nth-child(2){transition-delay:.12s}
.hs-slide.on > *:nth-child(3){transition-delay:.24s}
.hs-slide.on > *:nth-child(4){transition-delay:.36s}
.hs-title{font-family:var(--disp);font-size:clamp(40px,5.6vw,70px);line-height:1.04;letter-spacing:-.02em;color:#fff;margin:14px 0 0;font-weight:700;}
.hs-title em{font-style:normal;background:linear-gradient(100deg,#c49af0,#8B4FC4,#F2C46B,#c49af0);background-size:300% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:fxShift 6s ease-in-out infinite alternate;}
.hs-slide .lead{margin-top:22px;font-size:19px;color:rgba(255,255,255,.8);max-width:540px;line-height:1.7;}

.hs-controls{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px;margin-bottom:30px;}
.hs-tab{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:rgba(255,255,255,.55);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-family:var(--body);}
.hs-n{font-family:var(--mono);font-size:13px;font-weight:600;color:rgba(255,255,255,.45);transition:color .3s;}
.hs-l{font-size:14px;font-weight:600;transition:color .3s;}
.hs-bar{flex-basis:100%;display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden;margin-top:8px;}
.hs-bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,#8B4FC4,#F2C46B);}
.hs-tab.on .hs-n{color:#F2C46B}.hs-tab.on .hs-l{color:#fff}
.hs-tab.on .hs-bar b{animation:hsFill var(--hs-dur,5s) linear forwards;}
.hs-tab:hover .hs-l{color:#fff}
.hero.hs-paused .hs-tab.on .hs-bar b{animation-play-state:paused;}
@keyframes hsFill{from{width:0}to{width:100%}}
@media (max-width:760px){
  .hs-controls{grid-template-columns:repeat(4,1fr);gap:8px;}
  .hs-l{display:none}
  .hs-slide .lead{font-size:16.5px}
}

/* =====================================================================
   THEME UPGRADE — bolder brand look on every page
   ===================================================================== */
:root{--grad:linear-gradient(120deg,#652E8F 0%,#8B4FC4 45%,#C2569B 75%,#F2C46B 120%);}
::selection{background:#8B4FC4;color:#fff;}
html{scrollbar-color:#8B4FC4 #0A2B49;}
::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:#041D33}
::-webkit-scrollbar-thumb{background:linear-gradient(#652E8F,#8B4FC4);border-radius:10px;border:2px solid #041D33}

/* Primary buttons: richer gradient + glow */
.pill-btn.primary{background:var(--grad) !important;background-size:200% auto !important;
  box-shadow:0 10px 30px rgba(139,79,196,.45),0 0 0 1px rgba(255,255,255,.08) inset !important;transition:background-position .6s ease, transform .3s, box-shadow .3s !important;}
.pill-btn.primary:hover{background-position:100% 0 !important;box-shadow:0 18px 44px rgba(194,86,155,.5) !important;}

/* Eyebrows become glowing chips */
.eyebrow{background:rgba(139,79,196,.10);border:1px solid rgba(139,79,196,.22);padding:7px 14px 7px 12px;border-radius:100px;}
.eyebrow::before{width:7px !important;height:7px !important;border-radius:50%;background:#8B4FC4 !important;box-shadow:0 0 0 4px rgba(139,79,196,.2);animation:fxPulse 2s ease-in-out infinite;}
.eyebrow.on-dark{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);}
.eyebrow.on-dark::before{background:#F2C46B !important;box-shadow:0 0 0 4px rgba(242,196,107,.2);}
@keyframes fxPulse{50%{box-shadow:0 0 0 7px rgba(139,79,196,0)}}

/* Section headings: gradient accent bar */
.section-head h2::after,.gr-head h2::after{content:"";display:block;width:64px;height:4px;border-radius:4px;margin-top:18px;background:var(--grad);}
.section-head.center h2::after{margin-left:auto;margin-right:auto;}

/* Light sections: soft dotted grid */
.services,.about,.pricing,.faq,.svc-detail{background-image:radial-gradient(rgba(101,46,143,.09) 1px,transparent 1px) !important;background-size:26px 26px !important;}
.svc-detail.on-tint{background-color:#F6F1FC !important;}

/* Service cards: animated gradient border + gradient icon */
.svc-card-new{border:1px solid rgba(139,79,196,.14) !important;background:rgba(255,255,255,.9) !important;}
.svc-card-new::before{height:100% !important;inset:0;padding:2px;border-radius:inherit;background:conic-gradient(from var(--fxa,0deg),#652E8F,#C2569B,#F2C46B,#8B4FC4,#652E8F) !important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fxSpin 4s linear infinite;}
@property --fxa{syntax:'<angle>';inherits:false;initial-value:0deg;}
@keyframes fxSpin{to{--fxa:360deg}}
.svc-icon-new{background:var(--grad) !important;box-shadow:0 12px 26px rgba(139,79,196,.35);}
.svc-icon-new svg{stroke:#fff !important;}
.svc-num-new{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent !important;opacity:.18;transition:opacity .3s;}
.svc-card-new:hover .svc-num-new{opacity:.6;}

/* Product cards: 3D tilt (driven by JS) */
.premium-card{transform-style:preserve-3d;will-change:transform;}
.premium-card .pc-img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .9s ease;pointer-events:none;}
.premium-card:hover .pc-img-wrap::after{transform:translateX(100%);}

/* Featured pricing card: glowing animated border */
.pp-card.featured{box-shadow:0 30px 70px rgba(101,46,143,.35) !important;}
.pp-card.featured{animation:fxGlow 3.5s ease-in-out infinite;}
@keyframes fxGlow{0%,100%{box-shadow:0 30px 70px rgba(101,46,143,.35),0 0 0 2px rgba(139,79,196,.5)}50%{box-shadow:0 30px 90px rgba(194,86,155,.5),0 0 0 2px rgba(242,196,107,.8)}}

/* CTA banner: living gradient */
.cta-banner{background:linear-gradient(120deg,#041D33,#0A2B49,#3d1d63,#652E8F,#041D33) !important;background-size:300% 300% !important;animation:fxBg 14s ease infinite;
  box-shadow:0 30px 80px rgba(101,46,143,.35);}
@keyframes fxBg{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Navbar: gradient hairline when scrolled */
.nav.scrolled{box-shadow:0 15px 50px rgba(4,29,51,.14),0 0 0 1px rgba(139,79,196,.18) !important;}
.nav-links a{position:relative;}
.nav-links a::after{content:"";position:absolute;left:50%;right:50%;bottom:4px;height:2px;border-radius:2px;background:var(--grad);transition:left .3s,right .3s;}
.nav-links a:hover::after{left:18px;right:18px;}

/* Footer: gradient top line */
footer{position:relative;}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad);opacity:.9;z-index:3;}

/* Page heroes on inner pages: animated aurora */
.page-hero{position:relative;overflow:hidden;}
.page-hero::after{content:"";position:absolute;width:700px;height:700px;right:-200px;top:-250px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(194,86,155,.35),transparent 60%);animation:floatOrbFx 12s ease-in-out infinite alternate;z-index:1;}
.page-hero .wrap{position:relative;z-index:2;}
@keyframes floatOrbFx{to{transform:translate(-120px,80px) scale(1.15)}}

@media (prefers-reduced-motion:reduce){
  .hs-img{transition:opacity .4s !important;transform:none !important;}
  .svc-card-new::before,.pp-card.featured,.cta-banner,.hs-particles,.page-hero::after,.eyebrow::before{animation:none !important;}
}
/* hero slider layout fix: controls pinned to bottom of hero */
.hero{padding-bottom:170px !important;}
.hero .hs-controls{position:absolute;left:0;right:0;bottom:84px;margin:0 auto;}
@media (max-width:760px){ .hero{padding-bottom:150px !important;} .hero .hs-controls{bottom:56px;} }
@media (max-width:760px){ .hero{padding-top:140px !important;} }

/* Performance: only run decorative loops when they're actually visible/hovered */
.svc-card-new::before{animation-play-state:paused !important;}
.svc-card-new:hover::before{animation-play-state:running !important;}
.hs-particles{animation:none !important;}
.eyebrow::before{animation:none !important;}
.cta-banner{animation-duration:20s !important;}
@media (max-width:760px){
  .cta-banner,.pp-card.featured,.page-hero::after{animation:none !important;}
  .hs-img{transition:opacity 1.2s ease !important;transform:none !important;}
}
