/* =========================================================
   Header contact dropdown, authorities strip, service cards,
   countries, reviews marquee, disclaimer, floating actions
========================================================= */

/* ---- Header: Contact Us dropdown ---- */
.nav-contact{position:relative;}
.nav-cta-btn{display:inline-flex;align-items:center;gap:8px;}
.nav-cta-btn .fa-chevron-down{font-size:10px;transition:transform .3s;}
.nav-contact.open .nav-cta-btn .fa-chevron-down{transform:rotate(180deg);}
.contact-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:270px;background:#fff;border-radius:16px;box-shadow:0 22px 50px rgba(0,0,0,.22);padding:10px;display:flex;flex-direction:column;gap:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;z-index:60;}
.contact-dropdown::before{content:'';position:absolute;top:-6px;right:34px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:2px;}
.nav-contact.open .contact-dropdown{opacity:1;visibility:visible;transform:none;}
.cd-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;transition:background .2s,transform .2s;position:relative;}
.cd-item:hover{transform:translateX(3px);}
.cd-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex-shrink:0;}
.cd-wa{background:#eafaf0;}
.cd-wa:hover{background:#d8f5e3;}
.cd-wa .cd-icon{background:var(--green);}
.cd-call{background:var(--off-white);}
.cd-call:hover{background:var(--slate-soft);}
.cd-call .cd-icon{background:var(--brand);}
.cd-text strong{display:block;font-size:14.5px;color:var(--brand-ink);line-height:1.25;}
.cd-text small{font-size:12.5px;color:var(--text-muted);}

/* mobile drawer contact buttons */
.mobile-nav-contact{display:grid;gap:10px;margin:16px 20px;}
.mobile-nav-contact a{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:30px;font-weight:700;color:#fff;}
.mobile-nav-contact .m-wa{background:var(--green);}
.mobile-nav-contact .m-call{background:var(--brand);}

/* ---- Hero trust points (7) ---- */
.hero-trust{grid-template-columns:1fr 1fr;max-width:560px;}
.hero-trust div:last-child:nth-child(odd){grid-column:1 / -1;}

/* ---- Authorities strip ---- */
.trusted-strip{background:#fff;padding:28px 0 26px;border-bottom:1px solid #edf1f2;}
.trusted-sub{text-align:center;font-size:13.5px;font-weight:600;color:var(--text-muted);margin-bottom:16px;}
.trusted-sub i{color:var(--brand-mid);margin-right:6px;}
.trusted-items{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:20px;}
.trusted-items span{display:flex;align-items:center;gap:8px;font-weight:700;color:#8ea2a7;font-size:14.5px;letter-spacing:.5px;transition:color .3s,transform .3s;}
.trusted-items span i{color:var(--slate);font-size:18px;transition:color .3s;}
.trusted-items span:hover{color:var(--brand);transform:translateY(-2px);}
.trusted-items span:hover i{color:var(--brand-mid);}

/* ---- Service rows ---- */
.services-list-section{padding:90px 0 80px;background:var(--off-white);}
.services-rows{display:flex;flex-direction:column;gap:28px;}
.srow{display:flex;align-items:stretch;min-height:240px;border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--shadow);border:1px solid #e9eff0;transition:transform .3s,box-shadow .3s;}
.srow:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(4,35,42,.13);}
.srow-color{flex:0 0 340px;padding:36px 32px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.srow-a .srow-color{background:linear-gradient(145deg,var(--brand-mid) 0%,var(--brand-dark) 100%);}
.srow-b .srow-color{background:linear-gradient(145deg,#143238 0%,var(--brand-ink) 100%);}
.srow-watermark{position:absolute;right:-18px;bottom:-26px;font-size:120px;color:rgba(255,255,255,.07);pointer-events:none;transition:transform .7s,color .5s;}
.srow:hover .srow-watermark{transform:rotate(-12deg) scale(1.15);color:rgba(255,255,255,.12);}
.srow-color h3{color:#fff;font-size:22px;font-weight:700;margin-bottom:12px;line-height:1.25;position:relative;}
.srow-color p{color:#e2ecee;font-size:14px;line-height:1.6;position:relative;}
.srow-icon{width:50px;height:50px;border-radius:14px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;color:#fff;position:relative;transition:transform .5s cubic-bezier(.3,1.6,.5,1),background .3s;}
.srow:hover .srow-icon{transform:rotate(-8deg) scale(1.12);background:rgba(255,255,255,.28);}
.srow-checklist{flex:1;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:28px 36px;min-width:0;}
.srow-checklist ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;width:100%;}
.srow-checklist li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--text-dark);font-weight:500;line-height:1.4;transition:transform .25s;}
.srow-checklist li:hover{transform:translateX(6px);}
.srow-checklist li i{font-size:17px;margin-top:2px;flex-shrink:0;color:var(--brand-mid);transition:transform .3s;}
.srow-checklist li:hover i{transform:scale(1.2);}
.srow-b .srow-checklist li i{color:var(--brand-ink);}
.srow-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.srow-meta span{display:inline-flex;align-items:center;gap:6px;background:var(--off-white);border:1px solid #e1e9eb;color:var(--brand);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:20px;transition:all .25s;}
.srow-meta span:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
.srow-cta{flex:0 0 200px;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px 22px;background:var(--off-white);border-left:1px solid #e3eaec;}
.srow-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:30px;font-weight:600;font-size:13.5px;white-space:nowrap;transition:.3s;}
.srow-btn i{transition:transform .3s;}
.srow-btn-call,.srow-btn-wa{position:relative;overflow:hidden;isolation:isolate;}
.srow-btn-call{background:#fff;border:2px solid var(--brand);color:var(--brand);}
.srow-btn-call:hover{background:var(--brand);color:#fff;transform:translateY(-2px);}
.srow-btn-call:hover i{transform:rotate(-12deg) scale(1.15);}
.srow-btn-wa{background:var(--green);color:#fff;border:2px solid var(--green);}
.srow-btn-wa:hover{background:#1ebe5a;border-color:#1ebe5a;transform:translateY(-2px);}
.srow-btn-wa:hover i{transform:scale(1.2);}
.srow-btn-call::after,.srow-btn-wa::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);z-index:-1;pointer-events:none;}
.srow-btn-call:hover::after,.srow-btn-wa:hover::after{animation:shine .75s ease;}
.srow-btn-quote{background:none;color:var(--brand-mid);font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:4px;}
.srow-btn-quote:hover{color:var(--brand);}

/* ---- Countries: flag + shadow box ---- */
.country-card{display:none;background:#fff;border:1px solid #e8eef0;border-radius:16px;padding:22px 10px 18px;text-align:center;position:relative;overflow:hidden;box-shadow:0 8px 22px rgba(4,35,42,.08);transition:transform .3s,box-shadow .3s;}
.country-card.show{display:block;}
.country-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-bright),var(--brand-ink));transform:scaleX(0);transition:transform .3s;}
.country-card:hover::before{transform:scaleX(1);}
.country-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(4,35,42,.15);}
.country-flag{margin-bottom:12px;display:flex;justify-content:center;}
.country-flag img{width:56px;height:40px;object-fit:cover;border-radius:6px;box-shadow:0 4px 10px rgba(0,0,0,.18);}
.country-name{font-size:14px;}
.country-more{box-shadow:0 12px 26px rgba(4,35,42,.22);}

/* ---- Reviews: auto-scrolling marquee ---- */
.testi-marquee{position:relative;overflow:hidden;padding:14px 0 30px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.testi-track{display:flex;gap:24px;width:max-content;animation:marquee var(--marquee-dur,60s) linear infinite;}
.testi-marquee:hover .testi-track,.testi-marquee:focus-within .testi-track{animation-play-state:paused;}
.testi-track .testi-card{width:360px;flex-shrink:0;display:flex;flex-direction:column;}
.testi-track .testi-card p.text{flex:1;}
.testi-rating{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:10px;font-size:14px;font-weight:600;color:var(--brand-ink);}
.testi-rating i{color:var(--gold);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 12px));}}

/* ---- Footer disclaimer ---- */
.footer-disclaimer{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--slate);border-radius:12px;padding:16px 20px;margin-bottom:28px;}
.footer-disclaimer i{color:var(--slate);font-size:18px;margin-top:2px;}
.footer-disclaimer strong{display:block;color:#fff;font-size:13px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:4px;}
.footer-disclaimer p{font-size:13px;color:#a9bfc3;line-height:1.6;}

/* ---- Floating actions: CTAs right centre, page up at the bottom ---- */
.float-stack-right{position:fixed;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:900;}
.fab-top{position:fixed;right:24px;bottom:24px;z-index:900;width:42px;height:42px;font-size:16px;background:#fff;color:var(--brand);border:2px solid var(--brand);opacity:0;pointer-events:none;transform:translateY(10px);}
.fab-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.fab-top:hover{background:var(--brand);color:#fff;}

/* keep slide-in elements from widening the page before they animate in */
html,body{overflow-x:clip;}
.services-list-section,.connect-section,.stats-bar{overflow-x:clip;}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .srow-color{flex-basis:290px;padding:30px 26px;}
  .srow-checklist ul{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .top-bar{display:none;}
  .trusted-strip{padding:22px 0;}
  .trusted-sub{font-size:12.5px;line-height:1.5;margin-bottom:14px;padding:0 4px;}
  .trusted-items{justify-content:center;flex-wrap:wrap;gap:8px;overflow:visible;}
  .trusted-items span{font-size:12px;letter-spacing:.3px;gap:6px;padding:7px 12px;border-radius:30px;background:var(--off-white);border:1px solid #e3eaec;color:var(--brand);}
  .trusted-items span i{font-size:13px;color:var(--brand-mid);}
  .services-list-section{padding:60px 0 50px;}
  .testi-track .testi-card{width:300px;padding:24px;}
  .float-stack-right{right:12px;gap:10px;}
  .fab-top{right:15px;bottom:16px;width:40px;height:40px;font-size:15px;}
  .contact-dropdown{width:250px;right:-50px;}
  .contact-dropdown::before{right:84px;}
  .footer-disclaimer{padding:14px 16px;}
}
@media (max-width:991px){
  .srow{flex-direction:column;min-height:unset;border-radius:18px;}
  .srow-color{flex:none;padding:30px 26px;}
  .srow-checklist{padding:24px 26px;}
  .srow-checklist ul{grid-template-columns:1fr 1fr;}
  .srow-cta{flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;border-left:none;border-top:1px solid #e3eaec;}
  .srow-cta .srow-btn{flex:1 1 0;min-width:0;padding:11px 12px;font-size:14px;}
  .srow-cta .srow-btn-quote{flex-basis:100%;}
}
@media (max-width:576px){
  .hero-trust div:last-child:nth-child(odd){grid-column:auto;}
  .services-rows{gap:22px;}
  .srow{border-radius:14px;}
  .srow-color{padding:26px 20px;}
  .srow-color h3{font-size:19px;}
  .srow-icon{width:42px;height:42px;font-size:16px;margin-bottom:12px;}
  .srow-checklist{padding:20px;}
  .srow-checklist ul{grid-template-columns:1fr;}
  .srow-checklist li{font-size:14px;}
  .srow-cta{padding:16px 18px;gap:10px;}
  .srow-cta .srow-btn{padding:10px;font-size:13.5px;border-width:1.5px;}
  .srow-btn-quote{padding:2px;}
}
@media (max-width:420px){
  .float-stack-right{right:8px;gap:8px;}
  .fab-top{right:11px;bottom:12px;width:38px;height:38px;}
  .contact-dropdown{right:-58px;width:240px;}
  .contact-dropdown::before{right:92px;}
}
@media (prefers-reduced-motion:reduce){
  .testi-track{animation:none;}
  .testi-marquee{overflow-x:auto;}
}
