/* Shared mobile navigation and footer refinements. */
@media (max-width: 767.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hamburger-area {
    width: min(92vw, 390px) !important;
    max-width: 390px !important;
  }

  .hamburger-area .hamburger_wrapper {
    padding: 28px 22px 36px !important;
  }

  .hamburger-area .hamburger_top {
    margin-bottom: 26px !important;
  }

  .hamburger-area .hamburger_search {
    margin-bottom: 24px !important;
  }

  .hamburger-area .mobile_menu .mean-bar,
  .hamburger-area .mobile_menu .mean-nav {
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .ps-mobile-nav,
  .ps-mobile-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .ps-mobile-nav > li {
    border-bottom: 1px solid rgba(148, 184, 219, .16);
  }

  .ps-mobile-nav a,
  .ps-mobile-nav button {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
  }

  .ps-mobile-nav button::after {
    content: "+";
    color: #50cfff;
    font-size: 20px;
    font-weight: 400;
  }

  .ps-mobile-nav li.is-open > button::after {
    content: "−";
  }

  .ps-mobile-nav .ps-mobile-submenu {
    display: none;
    padding: 2px 0 14px;
  }

  .ps-mobile-nav li.is-open > .ps-mobile-submenu {
    display: block;
  }

  .ps-mobile-nav .ps-mobile-submenu li {
    border: 0;
  }

  .ps-mobile-nav .ps-mobile-submenu a {
    min-height: 44px;
    padding: 7px 12px;
    border-radius: 8px;
    color: #bccadd;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    text-transform: none;
  }

  .ps-mobile-nav .ps-mobile-submenu a:focus,
  .ps-mobile-nav .ps-mobile-submenu a:hover,
  .ps-mobile-nav .ps-mobile-submenu a[aria-current="page"] {
    background: rgba(42, 150, 255, .12);
    color: #52d2ff;
  }

  .hamburger-infos {
    margin-top: 34px !important;
  }

  .tj-footer-area .footer-top-area {
    padding: 48px 0 42px !important;
  }

  .tj-footer-area .footer-top-area > .container > .row.line {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .tj-footer-area .footer-top-area > .container > .row.line > [class*="col-"]:first-child {
    padding-bottom: 4px !important;
  }

  .tj-footer-area .footer-top-area > .container > .row.line > [class*="col-"]:first-child .footer-info {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 24px 20px !important;
  }

  .tj-footer-area .footer-info > .footer-btn {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .tj-footer-area .footer-title {
    margin-bottom: 14px !important;
  }

  .tj-footer-area .widget-menu ul li {
    margin-bottom: 7px !important;
  }

  .tj-footer-area .copyright-content-area {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  .tj-footer-area .copyright-menu,
  .tj-footer-area .copyright-menu ul {
    width: 100%;
  }

  .tj-footer-area .copyright-menu ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 8px 18px !important;
  }

  .tj-footer-area .copyright-menu ul li {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .tj-footer-area .copyright-menu ul li::before,
  .tj-footer-area .copyright-menu ul li::after {
    display: none !important;
  }

  .tj-footer-area .copyright-text p,
  .tj-footer-area .copyright-menu a {
    font-size: 11px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  .ps-footer-legal-details {
    width: 100%;
    overflow-wrap: anywhere;
  }

  .ps-footer-company-details,
  .ps-footer-disclaimer {
    width: 100%;
  }

  .ps-footer-company-details p,
  .ps-footer-disclaimer p {
    font-size: 10px !important;
    line-height: 1.7 !important;
  }

  .tj-footer-area .backtop {
    display: none !important;
  }

  .wa-float,
  .chat-float,
  .ps-whatsapp-float,
  .ps-chat-float {
    right: 14px !important;
    width: 52px !important;
    height: 52px !important;
  }

  /* Homepage hero and quick-contact controls. */
  .ps-hero {
    background-size: 100% 100%, 100% 100%, cover !important;
    background-position: center, center, 61% center !important;
  }

  .ps-hero-copy {
    text-align: left !important;
  }

  .ps-hero h1,
  .ps-hero-lead {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  .ps-hero .ps-eyebrow,
  .ps-hero-actions,
  .ps-hero-services {
    justify-content: flex-start !important;
  }

  .ps-floating-actions {
    right: 12px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
  }

  .ps-floating-actions .ps-float-btn,
  .ps-floating-actions .ps-float-btn:hover {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    transform: none !important;
  }

  .ps-floating-actions .ps-float-btn i {
    display: grid !important;
    flex: 0 0 50px !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center !important;
    font-size: 19px !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: none !important;
  }

  .ps-floating-actions .ps-float-btn i::before {
    display: block !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .ps-floating-actions .ps-float-btn span {
    display: none !important;
  }

  /* The first authorities panel is the partner strip: always three per row. */
  .ps-authorities .ps-partner-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .ps-authorities .ps-partner-grid li {
    min-height: 72px !important;
    padding: 5px !important;
    border-radius: 9px !important;
  }

  .ps-authorities .ps-partner-grid img {
    width: 100% !important;
    height: 50px !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
}

/* Homepage AI video card added below the business-insights cards. */
.ps-blog-ai-video{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:0;margin-top:34px;overflow:hidden;border:1px solid #d4e5f2;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(7,26,53,.08)}
.ps-blog-ai-video-frame{position:relative;min-height:330px;background:#061b38}
.ps-blog-ai-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ps-blog-ai-video-copy{display:flex;padding:42px;flex-direction:column;justify-content:center}
.ps-blog-ai-video-copy>span{color:#1687f8;font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ps-blog-ai-video-copy h3{margin:14px 0 14px;color:#061b38;font-size:clamp(26px,2.2vw,36px);line-height:1.12}
.ps-blog-ai-video-copy p{margin:0;color:#58708c;line-height:1.7}
@media(max-width:767px){.ps-blog-ai-video{grid-template-columns:1fr}.ps-blog-ai-video-frame{min-height:220px}.ps-blog-ai-video-copy{padding:28px 24px}}

@media (max-width: 380px) {
  .hamburger-area {
    width: 96vw !important;
  }
}
