/* polish.css — advance look layer on top of the existing design (colours/layout unchanged) */
html{scroll-behavior:smooth;}
::selection{background:#F5C400;color:#111;}
:focus-visible{outline:3px solid rgba(27,111,216,.45);outline-offset:2px;border-radius:6px;}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

/* ── Scroll progress bar ── */
#jw-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:10001;
  background:linear-gradient(90deg,#1B6FD8,#F5C400,#D42B2B);transition:width .1s linear;}

/* ── Navbar: glass + shadow on scroll ── */
.site-navbar{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);transition:box-shadow .3s,background .3s;}
body.jw-scrolled .site-navbar{box-shadow:0 8px 30px rgba(20,40,90,.10);background:rgba(255,255,255,.94)!important;}
.nli{border-radius:9px;transition:color .2s,background .2s,transform .2s;}
.nli:hover{transform:translateY(-1px);}

/* ── Buttons: gradient, glow, shine sweep ── */
.btn-primary-cta,.btn-cta,.btn-cta-b,.btn-nav-cta,.btn-svc,.mob-cta-full{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s!important;}
.btn-primary-cta::after,.btn-cta::after,.btn-cta-b::after,.btn-nav-cta::after,.btn-svc::after{
  content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);transition:left .6s;pointer-events:none;}
.btn-primary-cta:hover::after,.btn-cta:hover::after,.btn-cta-b:hover::after,.btn-nav-cta:hover::after,.btn-svc:hover::after{left:130%;}
.btn-primary-cta,.btn-cta{background:linear-gradient(135deg,#FFD83A,#F5C400 55%,#EDB800)!important;box-shadow:0 6px 20px rgba(245,196,0,.38);}
.btn-primary-cta:hover,.btn-cta:hover{transform:translateY(-3px)!important;box-shadow:0 12px 30px rgba(245,196,0,.5);}
.btn-nav-cta,.btn-svc-blue{background:linear-gradient(135deg,#2a7de8,#1B6FD8 55%,#1458b0)!important;box-shadow:0 6px 18px rgba(27,111,216,.32);}
.btn-svc-blue:hover,.btn-nav-cta:hover{box-shadow:0 12px 28px rgba(27,111,216,.45)!important;transform:translateY(-2px);}
.btn-svc-red{background:linear-gradient(135deg,#e24848,#D42B2B 60%,#b52222)!important;box-shadow:0 6px 18px rgba(212,43,43,.28);}
.btn-svc-yellow{background:linear-gradient(135deg,#FFD83A,#F5C400)!important;box-shadow:0 6px 18px rgba(245,196,0,.32);}
.btn-svc:hover{transform:translateY(-2px);}
.btn-outline-w{transition:all .25s!important;}
.btn-outline-w:hover{background:rgba(255,255,255,.12)!important;transform:translateY(-2px);}

/* ── Hero: floating colour glows + soft grid ── */
.hero,.hero-slide{position:relative;overflow:hidden;isolation:isolate;}
.hero::before,.hero-slide::before{content:'';position:absolute;z-index:-1;width:520px;height:520px;right:-120px;top:-160px;border-radius:50%;
  background:radial-gradient(circle,rgba(27,111,216,.55),transparent 65%);filter:blur(30px);animation:jwFloat 12s ease-in-out infinite;}
.hero::after,.hero-slide::after{content:'';position:absolute;z-index:-1;width:420px;height:420px;left:-110px;bottom:-170px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,196,0,.28),rgba(212,43,43,.14) 55%,transparent 70%);filter:blur(34px);animation:jwFloat 15s ease-in-out infinite reverse;}
.hero-slider-wrap::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px;}
@keyframes jwFloat{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-30px,24px) scale(1.08);}}
.hero h1 .hl{background:linear-gradient(90deg,#FFD83A,#F5C400,#ff9d3a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero-stats-box,.hero-stat-grid>*{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .3s;}
.hero-stats-box:hover{transform:translateY(-4px);}
.chip{transition:transform .2s,background .2s;}
.chip:hover{transform:translateY(-2px);background:rgba(255,255,255,.16);}

/* ── Section headings ── */
.section-tag{position:relative;padding-left:28px;}
.section-tag::before{content:'';position:absolute;left:12px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:currentColor;animation:jwPulse 2s infinite;}
@keyframes jwPulse{0%{box-shadow:0 0 0 0 rgba(27,111,216,.45);}100%{box-shadow:0 0 0 9px rgba(27,111,216,0);}}
.section-title span{background:linear-gradient(90deg,#1B6FD8,#2a7de8 60%,#7a4be0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ── Cards: depth, gradient edge, icon motion ── */
.service-card,.why-card,.process-card,.step-card,.testi-card,.jcl-card,.contact-card{box-shadow:0 2px 6px rgba(20,40,90,.04),0 12px 28px rgba(20,40,90,.05);}
.service-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;}
.service-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(27,111,216,.18);}
.service-card::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;opacity:0;transition:opacity .35s;
  background:linear-gradient(135deg,#1B6FD8,#F5C400,#D42B2B);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;}
.service-card:hover::after{opacity:1;}
.svc-icon,.why-icon{transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.service-card:hover .svc-icon,.why-card:hover .why-icon{transform:scale(1.12) rotate(-6deg);}
.why-card:hover,.process-card:hover,.step-card:hover{transform:translateY(-5px);}
.process-card,.step-card{transition:transform .3s,border-color .2s,box-shadow .3s;}
.proc-num{box-shadow:0 8px 18px rgba(0,0,0,.15);}
.city-chip{transition:all .2s;}
.city-chip:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(27,111,216,.15);}

/* ── Stats band ── */
.stats-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#1B6FD8 0%,#1240a8 60%,#2a1f8f 100%)!important;}
.stats-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;}
.stat-box{position:relative;transition:transform .3s;}
.stat-box:hover{transform:scale(1.05);}

/* ── Forms ── */
.form-ctrl{transition:border-color .2s,box-shadow .25s,transform .2s;}
.form-ctrl:focus{box-shadow:0 0 0 4px rgba(27,111,216,.14);transform:translateY(-1px);}
.contact-card{border-radius:22px;}

/* ── FAQ ── */
.faq-item{transition:box-shadow .25s,border-color .25s;}
.faq-item:hover{box-shadow:0 8px 22px rgba(20,40,90,.07);}
.faq-item.open{border-color:#bcd5f7;box-shadow:0 10px 28px rgba(27,111,216,.10);}

/* ── Scroll reveal (upgrades the existing .fade-up) ── */
.fade-up{transform:translateY(34px) scale(.985);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1);}
.fade-up.visible{transform:none;}
.jw-reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);}
.jw-reveal.in{opacity:1;transform:none;}

/* ── Footer ── */
footer a{transition:color .2s,transform .2s;}

/* ── Back to top ── */
#jw-top{position:fixed;right:18px;bottom:96px;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;z-index:900;color:#fff;font-size:18px;
  background:linear-gradient(135deg,#1B6FD8,#1240a8);box-shadow:0 10px 26px rgba(27,111,216,.4);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s,transform .3s;}
#jw-top.show{opacity:1;transform:none;pointer-events:auto;}
#jw-top:hover{transform:translateY(-3px);}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .fade-up,.jw-reveal{opacity:1!important;transform:none!important;}
}
@media(max-width:767px){
  .hero::before,.hero-slide::before{width:320px;height:320px;}
  #jw-top{bottom:84px;right:14px;}
}

/* ═══ MEDIUM UPGRADE ═══ */
/* Floating glass stat cards in hero */
.hsg-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);
  box-shadow:0 20px 50px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.2);animation:jwBob 6s ease-in-out infinite;}
.hsg-card:nth-child(2){animation-delay:-1.5s;}.hsg-card:nth-child(3){animation-delay:-3s;}.hsg-card:nth-child(4){animation-delay:-4.5s;}
.hsg-card:hover{transform:translateY(-6px) scale(1.03);background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.07));}

@keyframes jwBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
.hero-eyebrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.slide-h1 .hl-y,.slide-h1 .hl-b,.slide-h1 .hl-g,.slide-h1 .hl-c,.slide-h1 .hl-p,.slide-h1 .hl-o,.slide-h1 .hl-r{text-shadow:0 0 30px rgba(255,255,255,.18);}
.trust-bar{padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);width:fit-content;max-width:100%;}

/* Cursor spotlight on cards */
.service-card,.why-card{--mx:50%;--my:0%;}
.service-card .jw-spot,.why-card .jw-spot{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;border-radius:inherit;
  background:radial-gradient(260px circle at var(--mx) var(--my),rgba(27,111,216,.10),transparent 70%);}
.service-card:hover .jw-spot,.why-card:hover .jw-spot{opacity:1;}
/* Why-us numbered glow */
.why-icon{box-shadow:0 10px 24px rgba(27,111,216,.16);}
/* Section dividers: soft wave-ish gradient fade */
.process-section,.services-section{background:linear-gradient(180deg,#f6f8fd,#fff 140%);}

