/* ===== HOME page (index.php) ===== */
/* ===== Hero (full-width image, form floats on top) ===== */
.hero{position:relative;background:var(--navy);padding:0;isolation:isolate}
.hero-slider{position:absolute;inset:0;overflow:hidden;z-index:0;perspective:1200px}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s;display:flex;align-items:center}
.slide.active{opacity:1;visibility:visible}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,20,55,.9) 0%,rgba(10,50,140,.62) 55%,rgba(10,50,140,.25) 100%)}
.slide-inner{position:relative;z-index:2}
.slide-content{padding:40px 0;max-width:600px;color:#fff}
.slide.active .slide-content>*{animation:slideUp .8s both}
.slide.active .slide-content>*:nth-child(2){animation-delay:.12s}
.slide.active .slide-content>*:nth-child(3){animation-delay:.24s}
.slide.active .slide-content>*:nth-child(4){animation-delay:.36s}
.slide.active .slide-content>*:nth-child(5){animation-delay:.48s}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.slide h1{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.1;font-weight:800;margin-bottom:18px;letter-spacing:-.02em}
.slide .grad-text{background:linear-gradient(135deg,#6fe3ff,#c79bff);-webkit-background-clip:text;background-clip:text}
.slide p{color:#d6e2ff;margin-bottom:26px;font-size:1.02rem;max-width:480px}
.ticks{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;font-size:.82rem;color:#cfe0ff}
.hero-form-wrap{position:relative;z-index:3;display:flex;justify-content:flex-end;align-items:center;padding-top:44px;padding-bottom:64px;min-height:640px;pointer-events:none}
.hero-form-wrap .query-card{pointer-events:auto;width:390px;max-width:100%;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 30px 70px rgba(3,10,40,.5)}
.s-controls{position:absolute;left:0;right:0;bottom:22px;z-index:5;pointer-events:none}
.s-controls>*{pointer-events:auto}
.s-arrow{position:absolute;bottom:0;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;backdrop-filter:blur(6px);transition:.25s}
.s-arrow:hover{background:#fff;color:var(--blue);transform:scale(1.12)}
.s-arrow.prev{left:max(20px,calc((100vw - 1240px)/2 + 20px))}
.s-arrow.next{left:max(74px,calc((100vw - 1240px)/2 + 74px))}
.s-dots{position:absolute;bottom:16px;left:max(140px,calc((100vw - 1240px)/2 + 140px));display:flex;gap:9px}
.dot{width:11px;height:11px;border-radius:20px;border:0;background:rgba(255,255,255,.45);cursor:pointer;transition:.3s}
.dot.active{width:34px;background:#fff}

.slide-3d{position:absolute;right:calc(max(20px,(100vw - 1240px)/2) + 440px);top:50%;width:200px;height:200px;transform:translateY(-50%);z-index:2;pointer-events:none;transform-style:preserve-3d;perspective:900px}

/* ===== Trust (awards & ratings) ===== */
.trust .section-title{margin-bottom:38px}
.rate-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px;align-items:end;margin-bottom:46px}
.rate-item{text-align:center;transition:transform .3s}
.rate-item:hover{transform:translateY(-8px)}
.rate-logo{height:54px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.rate-logo img{max-height:46px;width:auto;max-width:150px;object-fit:contain}
.wordmark{font-weight:800;font-size:1.35rem;letter-spacing:-.02em}
.rate-score{font-size:1.02rem;color:var(--navy);margin-bottom:6px}
.rate-score b{font-weight:800}
.star-bar{position:relative;display:inline-block;font-size:1.45rem;letter-spacing:4px;line-height:1}
.star-base{color:#dde3ef}
.star-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#ffa31a;z-index:1}
.badge-row{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 30px}
.award{transition:transform .35s}
.award:hover{transform:translateY(-8px) rotate(-2deg)}
.award img{height:150px;width:auto;object-fit:contain}
.shield{--c:#1f5f8b;position:relative;width:132px;min-height:150px;padding:30px 12px 18px;text-align:center;color:#fff;background:linear-gradient(160deg,var(--c),color-mix(in srgb,var(--c) 70%,#000));clip-path:polygon(50% 0,100% 12%,100% 78%,50% 100%,0 78%,0 12%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;filter:drop-shadow(0 10px 14px rgba(11,31,77,.25))}
.shield .crown{position:absolute;top:10px;left:50%;transform:translateX(-50%);color:#ffd27a;font-size:1.2rem;line-height:1}
.shield strong{font-size:.8rem;line-height:1.2;font-weight:800}
.shield small{font-size:.68rem;opacity:.85;font-weight:600}
.badges{margin-top:40px;text-align:center}
.badges img{margin:0 auto;max-width:100%}

/* ===== Reviews slider ===== */
.reviews{padding-bottom:84px}
.reviews .review-card{width:340px;flex:0 0 340px;background:#fff;border:1px solid #e6edfb;border-radius:var(--radius);padding:28px 26px 24px;box-shadow:0 8px 24px rgba(11,31,77,.08);position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .3s;white-space:normal}
.reviews .review-card::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--grad)}
.reviews .review-card:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(10,108,255,.22);border-color:#bcd3ff}
.q-mark{position:absolute;right:20px;top:6px;font-size:4.5rem;line-height:1;color:rgba(10,108,255,.12);font-family:Georgia,serif}
.stars{color:#ffa31a;letter-spacing:3px;font-size:1.1rem;margin-bottom:10px}
.review-card p{color:#43527a;font-size:.93rem;margin-bottom:18px;min-height:78px}
.who-row{display:flex;align-items:center;gap:12px}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 42px}
.who strong{display:block;color:var(--navy);font-size:.95rem}
.who small{color:var(--muted)}

/* ===== Tools ===== */
.tools{background:rgba(244,248,255,.55)}
.tools-img{background:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow);border:1px solid #e3ebfb}
.tools-img img{width:100%;height:auto;margin:0 auto}


/* ===== Services: real 3D cards (mouse tilt + depth + flip) ===== */
.services{position:relative;overflow:hidden;background:linear-gradient(160deg,#071a52 0%,#0d2a78 52%,#3a1f9e 100%);color:#fff;padding:92px 0 100px}
.services .section-title{color:#fff}
.services .section-sub{color:#b9c9f5}
.services .container{position:relative;z-index:1}
.s3d-bg i{position:absolute;display:block;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.22);animation:float3d 9s ease-in-out infinite;pointer-events:none}
.s3d-bg .o1{width:170px;height:170px;left:3%;top:6%}
.s3d-bg .o2{width:90px;height:90px;right:5%;top:12%;animation-delay:-3s}
.s3d-bg .o3{width:120px;height:120px;left:8%;bottom:6%;animation-delay:-5s}
.s3d-bg .o4{width:150px;height:150px;right:7%;bottom:8%;animation-delay:-2s}
.flip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;perspective:1600px}
.flip-card{display:block;perspective:1100px;height:340px;outline:0;position:relative}
.tilt-wrap{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.flip-card.tilting .tilt-wrap{transition:transform .12s linear}
.card-depth{position:absolute;inset:0;border-radius:var(--radius);background:rgba(0,0,0,.55);transform:translateZ(-60px) translateY(26px) scale(.9);filter:blur(18px);opacity:.7;transition:opacity .4s}
.flip-card:hover .card-depth{opacity:1}
.flip-inner{position:relative;width:100%;height:100%;transition:transform .85s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;border-radius:var(--radius)}
.flip-card:hover .flip-inner,.flip-card:focus-visible .flip-inner,.flip-card.flipped .flip-inner{transform:rotateY(180deg)}
.flip-front,.flip-back{position:absolute;inset:0;border-radius:var(--radius);padding:26px 22px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform-style:preserve-3d;overflow:hidden}
.flip-front>*,.flip-back>*{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip-front{background:linear-gradient(160deg,#fff 0%,#eef4ff 100%);border:1px solid rgba(255,255,255,.8);color:var(--text);
  box-shadow:0 1px 0 #d6e3ff,0 2px 0 #cbdbfb,0 3px 0 #c0d2f8,0 4px 0 #b5c9f5,0 5px 0 #aac0f1,0 30px 40px rgba(2,8,40,.5)}
.flip-front::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--grad)}
.flip-front .ico{position:relative;width:84px;height:84px;border-radius:24px;display:grid;place-items:center;font-size:2.5rem;background:linear-gradient(135deg,#e6f3ff,#efe6ff);margin-bottom:18px;
  box-shadow:0 1px 0 #b9d2ff,0 2px 0 #aac6fb,0 3px 0 #9bbbf7,0 4px 0 #8cb0f3,0 5px 0 #7da5ef,0 6px 0 #6e9aeb,0 22px 26px rgba(10,108,255,.35);
  transform:translateZ(70px);animation:bob3d 3.6s ease-in-out infinite}
.flip-front .ico.has-img{background:#fff;padding:12px}
.flip-front .ico img{width:100%;height:100%;object-fit:contain;border-radius:10px}
@keyframes bob3d{0%,100%{transform:translateZ(70px) translateY(0) rotateX(0)}50%{transform:translateZ(70px) translateY(-8px) rotateX(8deg)}}
.flip-front h3{font-size:1.08rem;color:var(--navy);margin-bottom:8px;transform:translateZ(42px)}
.flip-front p{font-size:.86rem;color:var(--muted);transform:translateZ(26px)}
.hint{margin-top:14px;font-size:.72rem;color:var(--blue);font-weight:700;letter-spacing:.04em;transform:translateZ(30px)}
.glare,.flip-back::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.55),transparent 55%);opacity:0;transition:opacity .3s}
.flip-card:hover .glare,.flip-card:hover .flip-back::after{opacity:.9}
.flip-back{background:linear-gradient(150deg,#0a6cff 0%,#5b2bd6 100%);color:#fff;transform:rotateY(180deg);align-items:flex-start;justify-content:flex-start;text-align:left;border:1px solid rgba(255,255,255,.35);box-shadow:0 30px 50px rgba(2,8,40,.55)}
.flip-back h4{font-size:1.02rem;margin-bottom:12px;width:100%;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.3);transform:translateZ(30px)}
.flip-back ul{margin-bottom:auto;font-size:.84rem;color:#eaf1ff;transform:translateZ(22px)}
.flip-back li{position:relative;padding-left:20px;margin-bottom:8px}
.flip-back li::before{content:"✔";position:absolute;left:0;color:#9ff0ff}
.flip-back .btn{margin-top:14px;padding:10px 20px;font-size:.85rem;align-self:center;transform:translateZ(40px)}

/* ===== Process (how we work) ===== */
.process{background:rgba(255,255,255,.55)}
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:20px}
.steps::before{content:"";position:absolute;left:8%;right:8%;top:74px;border-top:3px dashed #b9cdf7;z-index:0}
.step{position:relative;z-index:1;background:#fff;border:1px solid #e1e9fb;border-radius:20px;padding:34px 20px 26px;text-align:center;box-shadow:0 12px 30px rgba(11,31,77,.08);transition:transform .4s,box-shadow .4s}
.step:hover{transform:translateY(-10px) rotateX(4deg);box-shadow:0 26px 50px rgba(10,108,255,.22)}
.step-no{position:absolute;right:16px;top:10px;font-size:2.4rem;font-weight:800;line-height:1;color:rgba(10,108,255,.1)}
.step-ico{width:76px;height:76px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-size:2.1rem;background:var(--grad);color:#fff;box-shadow:0 8px 0 rgba(11,31,77,.12),0 18px 28px rgba(10,108,255,.35);border:4px solid #fff}
.step-ico.has-img{background:#fff;padding:12px}
.step-ico img{width:100%;height:100%;object-fit:contain}
.step h3{font-size:1.02rem;color:var(--navy);margin-bottom:8px}
.step p{font-size:.86rem;color:#566385}
.process-cta{margin-top:40px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}

/* ===== Client logos (2 rows, opposite directions) ===== */
.clients{padding-bottom:30px}
.logo-marquee{overflow:hidden;padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-track{display:flex;width:max-content;animation:logoRtl 55s linear infinite}
.logo-marquee.ltr .logo-track{animation-name:logoLtr}
.logo-marquee:hover .logo-track{animation-play-state:paused}
@keyframes logoRtl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes logoLtr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.logo-card{flex:0 0 190px;height:78px;margin-right:28px;background:#fff;border-radius:16px;box-shadow:0 8px 22px rgba(11,31,77,.08);display:grid;place-items:center;padding:12px 18px;filter:grayscale(1);opacity:.8;transition:filter .3s,opacity .3s,transform .3s,box-shadow .3s}
.logo-card:hover{filter:none;opacity:1;transform:translateY(-5px);box-shadow:0 16px 30px rgba(10,108,255,.2)}
.logo-card img{max-height:50px;max-width:100%;width:auto;object-fit:contain}
.logo-card span{font-weight:800;font-size:.95rem;color:#7a87a8;text-align:center;line-height:1.25}

/* ===== Testimonials (text + video) ===== */
.testimonials{background:linear-gradient(135deg,rgba(207,221,243,.55),rgba(172,186,226,.5))}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 36px;align-items:center}
.testi-text{display:flex;gap:16px;align-items:flex-start}
.t-logo{flex:0 0 92px;height:92px;background:#fff;border:5px solid #12306f;padding:6px;display:grid;place-items:center}
.t-logo img{max-width:100%;max-height:100%;object-fit:contain}
.t-body{position:relative;flex:1;padding:26px 0 24px 22px;border-left:5px solid #12306f}
.t-body::before,.t-body::after{content:"";position:absolute;left:-5px;width:42px;height:5px;background:#12306f}
.t-body::before{top:0}.t-body::after{bottom:0}
.t-q{position:absolute;top:-34px;left:22px;font-size:4.4rem;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.t-body p{color:#2d3a5c;font-size:.95rem;margin-bottom:14px}
.t-by{color:#3a1f9e;font-weight:700;font-size:.84rem;letter-spacing:.02em}
.testi-video .v-quote{margin-top:12px;font-size:.88rem;color:#2d3a5c;text-align:center}
.v-card{position:relative;display:block;width:100%;aspect-ratio:16/10;border:4px solid #fff;border-radius:8px;box-shadow:0 18px 40px rgba(11,31,77,.35);background:#0b1f4d;overflow:hidden;cursor:pointer;padding:0;font-family:inherit;transition:transform .4s,box-shadow .4s}
.v-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 28px 54px rgba(11,31,77,.45)}
.v-card img,.v-ph{width:100%;height:100%;object-fit:cover;display:block}
.v-ph{background:var(--grad-dark)}
.v-play{position:absolute;left:50%;top:46%;width:66px;height:66px;margin:-33px 0 0 -33px;border-radius:50%;background:#e11d3f;display:grid;place-items:center;box-shadow:0 0 0 0 rgba(225,29,63,.6);animation:pulseRed 2.2s infinite}
.v-play svg{width:30px;height:30px;margin-left:3px}
@keyframes pulseRed{0%{box-shadow:0 0 0 0 rgba(225,29,63,.55)}70%{box-shadow:0 0 0 18px rgba(225,29,63,0)}100%{box-shadow:0 0 0 0 rgba(225,29,63,0)}}
.v-name{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 10px;text-align:left;color:#fff;background:linear-gradient(180deg,transparent,rgba(6,20,55,.9))}
.v-name strong{display:block;font-size:.95rem}.v-name small{opacity:.85}
.video-box .vb-frame{width:min(960px,92vw);aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.video-box iframe,.video-box video{width:100%;height:100%;border:0;display:block}


/* H1 words drop again every time a slide becomes active */
.slide .dw{animation:none;opacity:0}
.slide.active .dw{animation:wordDrop .85s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:calc(var(--i,0) * .13s + .25s)}
@media (prefers-reduced-motion:reduce){.slide .dw{opacity:1!important}}

@media (max-width:1250px){.slide-3d{display:none}}
@media (max-width:1100px){
  .flip-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .steps::before{display:none}
  .hero-form-wrap .query-card{width:350px}
  .slide-content{max-width:calc(100% - 380px)}
}
@media (max-width:900px){
  .slide-3d{display:none}
  .flip-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps::before{display:none}
  .testi-grid{grid-template-columns:1fr}
  /* mobile hero: image on top, form below */
  .hero{background:linear-gradient(180deg,#0b1f4d,#12306f)}
  .hero-slider{position:relative;height:580px}
  .slide{align-items:flex-start}
  .slide-content{max-width:none;padding:34px 0 120px}
  .slide p{max-width:none}
  .hero-form-wrap{min-height:0;padding-top:0;padding-bottom:40px;margin-top:-60px;justify-content:center;pointer-events:auto}
  .hero-form-wrap .query-card{width:100%;max-width:520px}
  .s-controls{bottom:88px}
}
@media (max-width:640px){
  .slide-content{padding:36px 0 30px}
  .flip-grid{grid-template-columns:1fr}
  .flip-card{height:290px}
  .steps{grid-template-columns:1fr}
  .logo-card{flex-basis:150px;height:66px}
  .reviews .review-card{width:290px;flex-basis:290px}
  .s-arrow.prev{left:20px}.s-arrow.next{left:74px}.s-dots{left:140px}
}
