/* ==========================================================================
   PAGE: how-we-manage-events.html
   SECTION: "Our magic touch" / Team cards + hero copy (tp-team-area)

   File: assets/css/new-responsive.css
   Purpose:
   - Move inline styles into CSS
   - Scope overrides to this page section only (".hwm-team-section")
   - Keep layout consistent across Desktop / Tablet / Mobile
   ========================================================================== */

/* ========================================================================== */
/* BASE (All screens)                                                         */
/* ========================================================================== */

/* ==========================================================================
   PAGE: how-we-manage-events.html
   SECTION: Pre-header "Our magic touch" title (tp-portfolio-colum-spacing)
   Wrapper: .hwm-magic-touch-header (added to the div)
   Goal: remove excessive top blank space on desktop
   ========================================================================== */

   @media (min-width: 992px) {
    .hwm-magic-touch-header.tp-portfolio-colum-spacing {
      /* main.css uses 200px+ top padding; keep it compact on desktop */
      padding-top: clamp(56px, 5.5vw, 110px) !important;
      padding-bottom: clamp(14px, 2vw, 44px) !important;
    }
  
    /* keep container side padding sane (avoid huge full-bleed feel) */
    .hwm-magic-touch-header .container-1824.containers {
      padding-left: clamp(16px, 3vw, 60px) !important;
      padding-right: clamp(16px, 3vw, 60px) !important;
    }
  
    /* reduce forced left shift on desktop-only heading */
    .hwm-magic-touch-header .tp-hero-vp-title-pages {
      margin-left: 0 !important;
    }
  }
  
  /* Mobile/Tablet (≤ 991px): remove blank top space here too */
  @media (max-width: 991px) {
    
    .hwm-magic-touch-header .container-1824.containers {
      padding-left: clamp(16px, 5vw, 34px) !important;
      padding-right: clamp(16px, 5vw, 34px) !important;
    }
  
    .hwm-magic-touch-header .tp-hero-vp-content {
      margin-bottom: clamp(10px, 3vw, 24px) !important; /* cancel main.css 30–50px */
    }
  
    .hwm-magic-touch-header .tp-hero-vp-title-pages {
      margin-left: 0 !important;
      text-align: center;
      /* keep it readable on phones/tablets */
      font-size: clamp(72px, 16vw, 180px) !important;
      line-height: 0.8 !important;
      letter-spacing: 0.5px !important;
    }
  }
  
  /* Container side padding */
  .hwm-team-section .container-fluid.container-1524 {
    padding-left: clamp(16px, 3vw, 60px);
    padding-right: clamp(16px, 3vw, 60px);
  }
  
  /* Hero typography */
  .hwm-team-section .hwm-hero-title {
    margin-left: 0;
    font-size: clamp(44px, 3.8vw, 75px);
    font-weight: 500;
    line-height: 1.05;
  }
  
  .hwm-team-section .hwm-hero-copy {
    margin-left: 0;
    font-size: clamp(18px, 1.35vw, 25px);
  }
  
  /* CTA: neutralize negative margins from main.css */
  .hwm-team-section .tp-btn-aii {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }
  
  /* CTA block: align with paragraph start (desktop/tablet default) */
  .hwm-team-section .tp-header-btnn.hwm-hero-cta {
    text-align: left !important;
    display: flex !important;
    justify-content: flex-start;
  }
  
  /* "Read more" UI controlled via CSS (not inline) */
  .hwm-team-section .ems-hero-rest {
    display: none;
  }
  
  .hwm-team-section .ems-hero-toggle {
    background: transparent;
    border: 0;
    padding: 0;
    margin-left: 8px;
    cursor: pointer;
    color: inherit;
    text-decoration: underline;
  }
  
  /* Right column spacing (fluid) */
  .hwm-team-section .tp-team-it-item-right.ml-65 {
    margin-left: clamp(0px, 3vw, 65px);
  }
  
  /* Cards: consistent image + content spacing */
  .hwm-team-section .tp-team-it-item {
    overflow: hidden; /* keep image inside rounded card */
  }
  
  .hwm-team-section .tp-team-it-item > img {
    display: block;
    width: 100%;
    height: clamp(190px, 16vw, 260px);
    object-fit: cover;
    object-position: 100% center;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
  
  .hwm-team-section .tp-team-it-content {
    padding: clamp(16px, 1.8vw, 32px) clamp(16px, 1.8vw, 32px)
      clamp(14px, 1.6vw, 26px) clamp(16px, 1.8vw, 32px) !important;
  }
  
  /* Reduce extra Bootstrap margin utilities (only for this section) */
  .hwm-team-section .tp-team-it-item.mb-45 {
    margin-bottom: 18px !important;
  }
  
  .hwm-team-section .tp-team-it-item.mt-60 {
    margin-top: 18px !important;
  }
  
  /* Reset single-card weird margins from main.css (base) */
  .hwm-team-section .tp-team-it-item-single {
    margin: 0 !important;
  }
  
  /* ========================================================================== */
  /* DESKTOP (≥ 992px)                                                          */
  /* ========================================================================== */
  
  @media (min-width: 992px) {
    /* Ensure the "single card" row can flex (Bootstrap has d-lg-inline-block) */
    .hwm-team-section .tp-team-it-title-wrap + .row.justify-content-end > .col-lg-7 {
      display: flex !important;
      justify-content: flex-end;
      margin-left: auto;
    }
  
    /* Single card sizing + slight right nudge */
    .hwm-team-section .tp-team-it-item-single {
      width: 100%;
      max-width: clamp(360px, 30vw, 520px);
      margin-left: auto !important;
      margin-right: 0 !important;
      margin-bottom: 18px !important;
      transform: translateX(clamp(8px, 1.2vw, 24px));
    }
  }
  
  /* iPad Pro landscape-ish widths (desktop range): avoid "too small" look */
  @media (min-width: 1200px) and (max-width: 1400px) {
    .hwm-team-section .tp-team-it-item-single {
      max-width: 520px;
      transform: none;
    }
  }
  
  /* ========================================================================== */
  /* TABLET (768px – 991px)                                                     */
  /* Keep the same 2-column desktop layout                                      */
  /* ========================================================================== */
  
  @media (min-width: 768px) and (max-width: 991px) {
    /* Force the main 2-column layout like desktop */
    .hwm-team-section > .container-fluid.container-1524 > .row.gx-50 {
      display: flex !important;
      flex-wrap: nowrap !important;
      align-items: flex-start;
    }
  
    .hwm-team-section > .container-fluid.container-1524 > .row.gx-50 > .col-lg-5 {
      flex: 0 0 41.6667% !important;
      max-width: 41.6667% !important;
    }
  
    .hwm-team-section > .container-fluid.container-1524 > .row.gx-50 > .col-lg-7 {
      flex: 0 0 58.3333% !important;
      max-width: 58.3333% !important;
    }
  
    /* Right column spacing */
    .hwm-team-section .tp-team-it-item-right {
      margin-left: clamp(0px, 2vw, 40px) !important;
    }
  
    /* Show the "single" card on tablet (Bootstrap d-md-none hides it) */
    .hwm-team-section .row.justify-content-end > .col-lg-7.d-md-none {
      display: flex !important;
      justify-content: flex-end !important;
    }
  
    /* Single card sizing: match other cards on iPad */
    .hwm-team-section .tp-team-it-item-single {
      width: 100%;
      max-width: clamp(280px, 40vw, 360px);
      margin-left: auto !important;
      margin-right: 0 !important;
    }
  }
  
  /* ========================================================================== */
  /* MOBILE (≤ 991px)                                                           */
  /* ========================================================================== */
  
  @media (max-width: 991px) {
    /* CTA centered on mobile */
    .hwm-team-section .tp-header-btnn.hwm-hero-cta {
      justify-content: center !important;
      text-align: center !important;
    }
  
    /* Right column spacing reset */
    .hwm-team-section .tp-team-it-item-right.ml-65 {
      margin-left: 0;
    }
  }
  
  /* ========================================================================== */
  /* MOBILE SPECIAL: 430 x 932 only — use custom slider (moved from main.css)    */
  /* ========================================================================== */
  
  @media only screen and (max-width: 430px) and (max-height: 932px) {
    /* Hide desktop grid + single card only for this page section */
    .hwm-team-section .tp-team-it-item-right .row.gx-50 {
      display: none !important;
    }
  
    .hwm-team-section .tp-team-it-item-single {
      display: none !important;
    }
  
    /* Show mobile slider */
    .hwm-team-section .tp-team-slider-container {
      display: block !important;
      width: 100%;
      overflow: hidden;
      position: relative;
      margin-top: -20px !important;
    }
  
    .hwm-team-section .tp-team-slider-track {
      display: flex;
      transition: transform 0.5s ease-in-out;
      width: max-content;
    }
  
    .hwm-team-section .tp-team-slider-track .tp-team-it-item {
      flex: 0 0 320px;
      margin-right: 15px;
      margin-bottom: 0;
    }
  
    /* Tighter content on small device */
    .hwm-team-section .tp-team-it-content {
      padding: 20px !important;
    }
  
    .hwm-team-section .tp-team-it-content h3 {
      font-size: 18px !important;
      margin-bottom: 8px !important;
    }
  
    .hwm-team-section .tp-team-it-content span {
      font-size: 14px !important;
      line-height: 1.3 !important;
    }
  
    /* Dot pagination */
    .hwm-team-section .tp-team-slider-pagination {
      display: flex !important;
      justify-content: center;
      align-items: center;
      gap: 8px;
      margin-top: 20px;
      padding-bottom: 10px;
    }
  
    .hwm-team-section .tp-team-slider-pagination .swiper-pagination-bullet {
      width: 8px;
      height: 8px;
      background: grey;
      border-radius: 50%;
      cursor: pointer;
      transition: all 0.3s ease;
      opacity: 0.6;
    }
  
    .hwm-team-section .tp-team-slider-pagination .swiper-pagination-bullet-active {
      background: #021352;
      opacity: 1;
      width: 10px;
      height: 10px;
    }
  }
  
  /* Non-430x932: never show the special mobile slider for this section */
  @media only screen and (min-width: 431px) {
    .hwm-team-section .tp-team-slider-container,
    .hwm-team-section .tp-team-slider-pagination {
      display: none !important;
    }
  }
  
  /* ==========================================================================
     PAGE: how-we-manage-events.html
     SECTION: "We Handle Every Detail" / Service slider + process block
     Wrapper: .hwm-service-section (added to the <section>)
     ========================================================================== */
  
  /* ========================================================================== */
  /* BASE (All screens)                                                         */
  /* ========================================================================== */
  
  /* Single source of truth for side padding */
  .hwm-service-section {
    --hwm-side-pad: clamp(16px, 3vw, 60px);
  }
  
  /* Keep side spacing consistent with the previous section */
  .hwm-service-section .container-fluid.container-1524 {
    padding-left: var(--hwm-side-pad);
    padding-right: var(--hwm-side-pad);
  }
  
  /* The next block uses .container-fluid.p-0 but we still want side padding */
  .hwm-service-section .container-fluid.p-0 {
    padding-left: var(--hwm-side-pad) !important;
    padding-right: var(--hwm-side-pad) !important;
  }
  
  /* Replace old CTA styles with the same button style used above */
  .hwm-service-section .tp-btn-aii {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }
  
  .hwm-service-section .hwm-service-cta {
    display: flex !important;
    justify-content: flex-start;
  }
  
  /* CTA button sizing: fit text, never overflow */
  .hwm-service-section .hwm-service-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    padding: 10px 28px !important; /* closer to the first section button */
    text-align: center;
    white-space: nowrap;
  }
  
  /* Title block margins: remove hard ml-25/mr-155 behavior */
  .hwm-service-section .tp-service-cst-title-wrap {
    margin-left: clamp(0px, 1.5vw, 25px) !important;
    margin-right: clamp(0px, 6vw, 155px) !important;
  }
  
  /* Info block margins: remove hard ml-70 behavior */
  .hwm-service-section .tp-service-cst-info {
    margin-left: clamp(0px, 3vw, 70px) !important;
  }
  
  /* Shape block styling (moved from inline styles) */
  .hwm-service-section .tp-service-cst-shape {
    width: 100%;
    margin-left: 3%;
    margin-top: -10%;
    max-width: none;
  }
  
  .hwm-service-section .tp-service-cst-shape img {
    opacity: 0.85;
    mix-blend-mode: lighten;
    filter: brightness(0.7);
    width: 100%;
    height: auto;
  }
  
  /* Process image overlay (shows on desktop, behind content) */
  .hwm-service-section .hwm-service-process {
    position: relative;
  }
  
  .hwm-service-section .hwm-service-cst-shape {
    position: absolute;
    left: var(--hwm-side-pad);
    /* responsive placement/sizing */
    top: clamp(-80px, -1.5vw, -22px);
    width: clamp(540px, 56vw, 860px);
    height: clamp(136px, 11.5vw, 196px);
    margin: 0 !important;
    z-index: 0;
    pointer-events: none;
  }
  
  .hwm-service-section .tp-service-cst-info {
    position: relative;
    z-index: 1;
  }
  
  @media (max-width: 991px) {
    /* Hide overlay image on mobile/tablet */
    .hwm-service-section .hwm-service-cst-shape {
      display: none !important;
    }
  }
  
  /* Read-more styling for this section (no inline styles) */
  .hwm-service-section .ems-hero-rest {
    display: none;
  }
  
  .hwm-service-section .ems-hero-toggle {
    background: transparent;
    border: 0;
    padding: 0;
    margin-left: 8px;
    cursor: pointer;
    color: inherit;
    text-decoration: underline;
  }
  
  /* ========================================================================== */
  /* DESKTOP (≥ 992px)                                                          */
  /* ========================================================================== */
  
  @media (min-width: 992px) {
    /* Shift this section slightly up on desktop */
    .hwm-service-section {
      margin-top: clamp(-28px, -1.5vw, -12px);
    }
  
    /* Keep the section visually aligned like the previous one */
    .hwm-service-section .tp-service-cst-top-content {
      padding-right: clamp(0px, 1.5vw, 24px);
    }
  }
  
  /* ========================================================================== */
  /* MOBILE + TABLET (≤ 991px)                                                  */
  /* Keep left/right alignment consistent (no touching edges)                    */
  /* ========================================================================== */
  
  @media (max-width: 991px) {
    /* More inset on mobile/tablet (equal left/right) */
    .hwm-service-section {
      --hwm-side-pad: clamp(20px, 5vw, 34px);
    }
  
    /* Remove large top blank space (pt-155) on mobile/tablet */
    /* .hwm-service-wrapper {
      padding-top: 64px !important;
    } */
  
    /* Mobile/Tablet only: center the top CTA ("See All Services") */
    .hwm-service-section .tp-service-cst-top-content .hwm-service-cta {
      justify-content: center !important;
    }
  
    /* Prevent Bootstrap negative gutters from pushing content to edges */
    .hwm-service-section .container-fluid.container-1524 > .row {
      --bs-gutter-x: 0;
      margin-left: 0;
      margin-right: 0;
    }
  
    .hwm-service-section .container-fluid.container-1524 > .row > [class*="col-"] {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  
    /* Same rule for the 2nd block container (.container-fluid.p-0) */
    .hwm-service-section .container-fluid.p-0 > .row {
      --bs-gutter-x: 0;
      margin-left: 0;
      margin-right: 0;
    }
  
    .hwm-service-section .container-fluid.p-0 > .row > [class*="col-"] {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  
    /* On smaller screens, remove hard margin utilities inside the section */
    .hwm-service-section .tp-service-cst-title-wrap {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  
    .hwm-service-section .tp-service-cst-info {
      margin-left: 0 !important;
    }
  
    /* Slider wrap: reduce excessive bottom spacing on small screens */
    .hwm-service-section .tp-service-cst-slider-wrap {
      margin-bottom: 40px !important; /* overrides mb-80 */
    }
  
    /* Slider: align with section padding on mobile+tablet */
    .hwm-service-section .tp-service-cst-slider-wrap .tp-service-cst-slider {
      padding-left: var(--hwm-side-pad) !important;
      padding-right: var(--hwm-side-pad) !important;
    }
  
    /* Nav arrows: keep inside safe area */
    .hwm-service-section .tp-service-cst-slider-wrap > .tp-service-cst-slider-nav {
      left: var(--hwm-side-pad) !important;
      right: var(--hwm-side-pad) !important;
    }
  
    /* Ensure the white "patch" (content card) overlays the image */
    .hwm-service-section .tp-service-cst-item {
      position: relative;
      overflow: visible;
    }
  
    .hwm-service-section .tp-service-cst-thumb {
      position: relative;
      z-index: 1;
    }
  
    .hwm-service-section .tp-service-cst-content {
      position: relative;
      z-index: 2;
      margin-top: -145px !important;
    }
  }
  
  /* ========================================================================== */
  /* MOBILE SLIDER: keep slider aligned with section padding                     */
  /* ========================================================================== */
  
  @media (max-width: 575.98px) {
    /* Mobile card sizing */
    .hwm-service-section .tp-service-cst-slider-wrap .tp-service-cst-thumb img {
      height: 235px !important;
    }
  
    .hwm-service-section .tp-service-cst-slider-wrap .tp-service-cst-content {
      height: auto !important;
      max-height: 140px !important;
      overflow: hidden !important;
    }
  
    /* Keep description text inside the white overlay card */
    .hwm-service-section .tp-service-cst-slider-wrap .tp-service-cst-item-border {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
    }
  }
  
  /* Tablet (576px–991px): slightly larger cards + comfortable spacing */
  @media (min-width: 576px) and (max-width: 991px) {
    .hwm-service-section .tp-service-cst-slider-wrap {
      padding-top: 30px !important;
      padding-bottom: 30px !important;
    }
  
    .hwm-service-section .tp-service-cst-slider-wrap .tp-service-cst-thumb img {
      height: 480px !important;
    }
  
    .hwm-service-section .tp-service-cst-slider-wrap .tp-service-cst-content {
      height: auto !important;
      max-height: 190px !important;
      overflow: hidden !important;
      margin-top: -210px !important;
    }
  
    .hwm-service-section .tp-service-cst-slider-wrap .tp-service-cst-item-border {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
      overflow: hidden;
    }
  
    .hwm-service-section .tp-service-cst-slider-wrap > .tp-service-cst-slider-nav button {
      width: 50px !important;
      height: 50px !important;
      font-size: 18px !important;
    }
  }
  
  /* ========================================================================== */
  /* MOBILE (≤ 430px) — override legacy main.css transforms/margins              */
  /* main.css shifts this section with translateX/margins; cancel them here      */
  /* ========================================================================== */
  
  @media (max-width: 430px) {
    /* .hwm-service-wrapper {
      padding-top: 44px !important;
    } */










  
    .hwm-service-section {
      margin-top: 0 !important; /* cancel main.css -120px */
    }
  
    .hwm-service-section .container-fluid.p-0 {
      margin: 0 !important; /* cancel main.css 0 5px */
      transform: none !important; /* cancel translateX(20px) */
    }
  
    /* Cancel internal transforms/margins so text aligns with the left block */
    .hwm-service-section .tp-service-cst-info {
      padding-left: 0 !important;
      transform: none !important;
    }
  
    .hwm-service-section .tp-service-cst-info h2,
    .hwm-service-section .tp-service-cst-info p,
    .hwm-service-section .tp-service-cst-info-list ul li,
    .hwm-service-section [data-fade-from="right"],
    .hwm-service-section [data-fade-from="left"] {
      transform: none !important;
    }
  
    .hwm-service-section .tp-service-cst-info p {
      margin-left: 0 !important;
    }
  
    .hwm-service-section .tp-service-cst-info-list {
      margin-left: 0 !important;
    }
  
    .hwm-service-section .tp-service-cst-info-list ul li {
      margin-left: 0 !important;
    }
  
    .hwm-service-section .tp-header-btn {
      transform: none !important;
    }
  }
  
  
  /* ==========================================================================
     PAGE: how-we-manage-events.html
     SECTION: "Our Edge" / Why Utsoraa (tp-portfolio-area.utsoraa-why-utsoraa)
     Wrapper: .hwm-edge-section (added to the section container)
     Goal:
     - Keep same left/right side spacing as previous sections
     - Remove hard margins / !important-driven layout behavior from main.css
     - Make desktop layouts fluid across all common resolutions
     ========================================================================== */
  
  /* ========================================================================== */
  /* BASE (All screens)                                                         */
  /* ========================================================================== */
  
  .hwm-edge-section {
    /* match the same side-pad system used in the service section */
    --hwm-edge-side-pad: var(--hwm-side-pad, clamp(16px, 3vw, 60px));
  }
  
  /* Container: override main.css `padding-left/right: ... !important` */
  .hwm-edge-section .container-fluid.container-1524 {
    padding-left: var(--hwm-edge-side-pad) !important;
    padding-right: var(--hwm-edge-side-pad) !important;
  }
  
  /* Heading + copy: fluid (desktop friendly, no per-resolution media queries) */
  .hwm-edge-section .tp-portfolio-revealing-slide-heading {
    font-size: clamp(44px, 3.8vw, 75px);
    line-height: 1.1;
  }
  
  .hwm-edge-section .al-about-pg-content p {
    font-size: clamp(16px, 1.35vw, 24px);
    line-height: 1.6;
  }
  
  /* Icon: remove “exact resolution” positioning; keep stable and responsive */
  /* Ensure the icon is positioned relative to the heading wrapper */
  .hwm-edge-section .heading-icon-wrapper {
    position: relative;
  }
  
  /* Icon: fluid size + fluid offset for ALL desktop resolutions */
  .hwm-edge-section .tp-service-details-icon {
    /* anchor to wrapper's top-left */
    position: absolute;
    top: 0 !important;
    left: 0;
  
    /* single source of truth (size + offset scale with viewport) */
    width: clamp(120px, 12vw, 250px);
    height: clamp(120px, 12vw, 250px);
    transform: translate(
      calc(-1 * clamp(40px, 4.8vw, 90px)),
      calc(-1 * clamp(55px, 6.2vw, 115px))
    );
  
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1; /* behind heading (heading has z-index:2 in main.css) */
    pointer-events: none;
    will-change: transform;
  }
  
  /* The icon image itself: remove fixed mt-40 drift and scale with parent */
  .hwm-edge-section .tp-service-details-icon .tp-live-anim-spin {
    margin-top: 0 !important;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  
  /* Small desktop: keep icon from crowding the heading */
  @media (min-width: 992px) and (max-width: 1199px) {
    .hwm-edge-section .tp-service-details-icon {
      width: clamp(110px, 11vw, 190px);
      height: clamp(110px, 11vw, 190px);
      transform: translate(
        calc(-1 * clamp(34px, 4.2vw, 70px)),
        calc(-1 * clamp(48px, 5.6vw, 95px))
      );
    }
  }
  
  /* Image wrapper: responsive height */
  .hwm-edge-section .tp-portfolio-cst-img-wrapper {
    height: clamp(320px, 28vw, 520px);
    margin-top: clamp(26px, 2.6vw, 50px);
  }
  
  /* Right column: cancel hard left offset (`ml-40` + main.css margin-left) */
  .hwm-edge-section .tp-portfolio-cst-list-wrap,
  .hwm-edge-section .tp-portfolio-cst-list-wrap.ml-40 {
    margin-left: clamp(0px, 1.6vw, 40px) !important;
    padding-top: clamp(0px, 3.6vw, 70px) !important;
  }
  
  /* Button: keep same “no negative margin” behavior like other sections */
  .hwm-edge-section .tp-btn-aii {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }
  
  .hwm-edge-section .hwm-edge-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    padding: 10px 28px !important;
    white-space: nowrap;
  }
  
  /* ========================================================================== */
  /* DESKTOP (≥ 992px)                                                          */
  /* ========================================================================== */
  
  @media (min-width: 992px) {
    /* Keep two-column breathing room without hard-coded left pushes */
    .hwm-edge-section .tp-portfolio-cst-content {
      padding-right: clamp(0px, 2vw, 30px);
    }
  }

/* ==========================================================================
   TESTIMONIAL SECTION - RESPONSIVE CSS
   ========================================================================== */

/* ---------- DESKTOP - Both cards height ---------- */
/* Left card (image + quote) - Image: 738x804 */
.tp-testimonial-cst-wrap {
  max-height: 700px !important;
}

.tp-testimonial-cst-thumb {
  max-height: 700px !important;
}

.tp-testimonial-cst-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Right card (result) */
.tp-testimonial-cst-result {
  max-height: 700px !important;
  overflow: hidden !important;
}

/* Contact Us button - shift up */
.tp-testimonial-cst-result .tp-header-btn {
  margin-top: -20px !important;
}

.tp-testimonial-cst-result .tp-btn-ai-alt {
  margin-top: 0 !important;
}

/* Pagination Dots - Desktop */
.tp-testimonial-cst-pagenation,
.tp-testimonial-cst-pagenation.mt-5 {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-align: center !important;
}

.tp-testimonial-cst-pagenation span,
.tp-testimonial-cst-pagenation .swiper-pagination-bullet {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  background: #bbb !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  display: inline-block !important;
  visibility: visible !important;
  cursor: pointer !important;
  margin: 0 2px !important;
  flex-shrink: 0 !important;
}

.tp-testimonial-cst-pagenation span.swiper-pagination-bullet-active,
.tp-testimonial-cst-pagenation .swiper-pagination-bullet-active {
  background: #021352 !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
}

/* ---------- TABLET & BELOW (max-width: 991px) ---------- */
@media (max-width: 991px) {
  .tp-testimonial-area .tp-testimonial-scale-wrapper > .row {
    flex-direction: column;
  }

  .tp-testimonial-area .col-lg-6 {
    width: 100%;
    max-width: 100%;
  }

  .tp-testimonial-area .tp-testimonial-cst-result h3 {
    font-size: 28px !important;
  }
}

/* Home platform section (From strategy... + Contact Us + shaped image) */
@media (min-width: 992px) {
  .home-platform-section .home-platform-img {
    margin-right: 150px !important;
  }
}

@media (max-width: 767.98px) {
  .home-platform-section .tp-portfolio-ai-title {
    margin-left: 0 !important;
    text-align: center !important;
  }

  .home-platform-section .tp-about-ai-para {
    text-align: center !important;
    margin-bottom: 24px !important;
  }

  .home-platform-section .tp-header-btn {
    display: block !important;
    text-align: center !important;
    width: fit-content !important;
    margin: 0 auto 28px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .home-platform-section .tp-header-btn .tp-btn-ai {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(72vw, 220px) !important;
    min-height: 52px !important;
    padding: 12px 22px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    line-height: 1 !important;
    margin: 0 auto !important;
  }

  .home-platform-section .tp-about-2-thumb {
    text-align: center !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
  }

  .home-platform-section .tp-about-2-thumb img {
    width: min(78vw, 300px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    margin-right: 0 !important;
    transform: none !important;
  }
}

/* Narrow-band tuning: devices around 411px-440px width */
@media (min-width: 411px) and (max-width: 440px) {
  .home-platform-section .tp-header-btn {
    margin-bottom: 34px !important;
  }

  .home-platform-section .tp-header-btn .tp-btn-ai {
    width: 230px !important;
    min-height: 54px !important;
  }

  .home-platform-section .tp-about-2-thumb {
    margin-top: 16px !important;
  }

  .home-platform-section .tp-about-2-thumb img {
    width: min(76vw, 305px) !important;
  }
}

/* ---------- MOBILE (max-width: 767px) ---------- */
@media (max-width: 767px) {
  .tp-testimonial-area {
    padding: 50px 0;
  }

  /* WRAPPER - relative for overlay */
  .tp-testimonial-cst-wrap {
    position: relative !important;
    max-height: none !important;
  }

  /* IMAGE - Full cover on mobile */
  .tp-testimonial-cst-thumb {
    max-height: none !important;
    height: auto !important;
  }

  .tp-testimonial-cst-thumb img {
    width: 100% !important;
    height: auto !important;
    min-height: 300px !important;
    object-fit: cover !important;
    border-radius: 20px !important;
  }

  /* Quote card - OVERLAY on image */
  .tp-testimonial-cst-item {
    position: absolute !important;
    bottom: 20px !important;
    left: 20px !important;
    right: 20px !important;
    z-index: 2 !important;
    margin: 0 !important;
    border-radius: 15px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result h3 {
    font-size: 24px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result p {
    font-size: 14px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-item p {
    font-size: 16px !important;
  }

  .tp-testimonial-cst-shape {
    width: 60px !important;
  }

  /* FORCE reduce gap between cards and pagination on mobile */
  .tp-testimonial-area .mb-25 {
    margin-bottom: 0 !important;
  }

  .tp-testimonial-area .swiper-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .tp-testimonial-cst-slider {
    padding-bottom: 6px !important;
  }

  /* Pagination - Mobile, minimal gap */
  .tp-testimonial-cst-pagenation {
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    margin-top: 8px !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    gap: 6px !important;
  }

  .tp-testimonial-cst-pagenation span,
  .tp-testimonial-cst-pagenation .swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    background: #999 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
  }

  .tp-testimonial-cst-pagenation span.swiper-pagination-bullet-active,
  .tp-testimonial-cst-pagenation .swiper-pagination-bullet-active {
    background: #021352 !important;
    width: 14px !important;
    height: 14px !important;
  }

  /* Button responsive */
  .tp-testimonial-area .tp-btn-ai-alt {
    width: 180px !important;
    font-size: 14px !important;
  }
}

/* ---------- MOBILE SMALL (max-width: 575px) ---------- */
@media (max-width: 575px) {
  .tp-testimonial-area {
    padding: 40px 0;
  }

  .tp-testimonial-area .container-fluid {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result h3 {
    font-size: 20px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result p {
    font-size: 13px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-item p {
    font-size: 15px !important;
  }

  .tp-testimonial-cst-shape {
    width: 50px !important;
  }

  /* FORCE reduce gap on small mobile */
  .tp-testimonial-area .mb-25 {
    margin-bottom: 0 !important;
  }

  /* Pagination - Mobile Small, minimal gap */
  .tp-testimonial-cst-pagenation {
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    margin-top: 5px !important;
    padding: 0 !important;
    visibility: visible !important;
    gap: 5px !important;
  }

  .tp-testimonial-cst-pagenation span,
  .tp-testimonial-cst-pagenation .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #999 !important;
    flex-shrink: 0 !important;
  }

  .tp-testimonial-cst-pagenation span.swiper-pagination-bullet-active,
  .tp-testimonial-cst-pagenation .swiper-pagination-bullet-active {
    width: 12px !important;
    height: 12px !important;
    background: #021352 !important;
  }

  /* Image - full cover */
  .tp-testimonial-cst-thumb img {
    min-height: 280px !important;
  }

  /* Quote card - OVERLAY on image */
  .tp-testimonial-cst-item {
    bottom: 15px !important;
    left: 15px !important;
    right: 15px !important;
  }

  /* Button responsive */
  .tp-testimonial-area .tp-btn-ai-alt {
    width: 160px !important;
    font-size: 13px !important;
  }

  .tp-testimonial-cst-result {
    padding: 20px !important;
  }
}

/* ---------- EXTRA SMALL (max-width: 400px) ---------- */
@media (max-width: 400px) {
  .tp-testimonial-cst-thumb img {
    min-height: 260px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result h3 {
    font-size: 18px !important;
  }

  /* Quote card overlay */
  .tp-testimonial-cst-item {
    bottom: 12px !important;
    left: 12px !important;
    right: 12px !important;
    padding: 15px !important;
  }
  
  .tp-testimonial-area .tp-testimonial-cst-item p {
    font-size: 14px !important;
    margin-bottom: 15px !important;
  }

  .tp-testimonial-area .tp-btn-ai-alt {
    width: 140px !important;
    font-size: 12px !important;
  }

  /* Pagination */
  .tp-testimonial-cst-pagenation .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }

  .tp-testimonial-cst-pagenation .swiper-pagination-bullet-active {
    width: 10px !important;
    height: 10px !important;
  }
}
/* Testimonial: stable mobile/tablet layout across devices */
@media (max-width: 767.98px) {
  .tp-testimonial-area {
    padding: 28px 0 96px !important;
  }

  .tp-testimonial-area .container-fluid {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-wrap {
    margin-bottom: 12px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-thumb {
    line-height: 0 !important;
    overflow: hidden !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-thumb img {
    display: block !important;
    vertical-align: top !important;
    min-height: 230px !important;
    max-height: 320px !important;
    border-radius: 16px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-item {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-item p {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin-bottom: 0 !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result {
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
    padding: 22px 16px !important;
    border-radius: 16px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result h3 {
    font-size: clamp(36px, 11vw, 56px) !important;
    line-height: 1.08 !important;
    margin-bottom: 12px !important;
    word-break: break-word !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result p {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    margin-bottom: 0 !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-shape {
    width: 44px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-pagenation {
    position: relative !important;
    top: 0 !important;
    bottom: auto !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-pagenation .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-pagenation .swiper-pagination-bullet-active {
    width: 10px !important;
    height: 10px !important;
  }

}

@media (min-width: 768px) and (max-width: 991px) {
  .tp-testimonial-area .tp-testimonial-cst-result {
    max-height: none !important;
    overflow: visible !important;
    padding: 28px 22px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result h3 {
    font-size: clamp(44px, 8vw, 64px) !important;
    line-height: 1.1 !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}
/* Show both testimonial columns on tablet/mobile (stacked) */
@media (max-width: 991px) {
  .tp-testimonial-area .tp-testimonial-scale-wrapper .col-lg-6:last-child {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Testimonial final responsive lock (scoped only to testimonial section) */
.tp-testimonial-area .tp-testimonial-cst-wrap {
  overflow: hidden !important;
}

.tp-testimonial-area .tp-testimonial-cst-thumb {
  line-height: 0 !important;
  overflow: hidden !important;
}

.tp-testimonial-area .tp-testimonial-cst-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  vertical-align: top !important;
}

@media (min-width: 992px) {
  .tp-testimonial-area .tp-testimonial-cst-thumb {
    min-height: 560px !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .tp-testimonial-area .tp-testimonial-cst-thumb {
    min-height: 440px !important;
  }
}

@media (max-width: 767.98px) {
  .tp-testimonial-area .tp-testimonial-cst-thumb {
    min-height: 300px !important;
  }
}

@media (max-width: 575.98px) {
  .tp-testimonial-area .tp-testimonial-cst-thumb {
    min-height: 280px !important;
  }
}

/* Testimonial mobile consistency fix: full-cover image + no bottom white gap */
@media (max-width: 767.98px) {
  .tp-testimonial-area {
    padding: 10px 0 2px !important;
  }

  .tp-testimonial-area .tp-testimonial-scale-wrapper {
    transform: none !important;
    width: 100% !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
  }

  .tp-testimonial-area .tp-testimonial-scale-wrapper > .row {
    width: 100% !important;
    margin: 0 !important;
    justify-content: center !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-slider .swiper-slide {
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
  }

  .tp-testimonial-area .tp-testimonial-scale-wrapper > .row > .col-lg-6.mb-25 {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-bottom: 12px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .tp-testimonial-area .tp-testimonial-scale-wrapper > .row > .col-lg-6.mb-25:last-child {
    display: flex !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-wrap {
    position: relative !important;
    aspect-ratio: 1 / 1 !important;
    width: min(80vw, 300px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-thumb {
    height: 100% !important;
    min-height: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    vertical-align: top !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-item {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    z-index: 2 !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-item p {
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result {
    width: min(80vw, 300px) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    min-height: auto !important;
    overflow: visible !important;
    padding: 20px 14px !important;
    border-radius: 20px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result h3 {
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.12 !important;
    margin-bottom: 10px !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-result p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .tp-testimonial-area .tp-testimonial-cst-pagenation {
    margin-top: 10px !important;
    margin-bottom: 14px !important;
  }
}

@media (max-width: 767.98px) {
  .tp-blog-area .blog-main-title {
    text-align: center !important;
  }
}

/* scroll-to-top button: keep it away from footer content on mobile/tablet */
@media (max-width: 991.98px) {
  .scrollToTop,
  .scrollToTop.active-progress {
    width: 38px !important;
    height: 38px !important;
    right: 12px !important;
    bottom: 14px !important;
    z-index: 999 !important;
  }

  .scrollToTop .arrowUp i {
    font-size: 14px !important;
  }
}

/* top typewriter hero text: prevent clipping + remove random extra top gap on phones */
@media (max-width: 767.98px) {
  .tp-hero-area.pre-header {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    padding-top: calc(env(safe-area-inset-top, 0px) + 72px) !important;
    padding-bottom: 0 !important;
    min-height: 148px !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 2 !important;
    background: #fff !important;
  }

  .tp-hero-area.pre-header + .tp-video-vp-area {
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .tp-hero-area.pre-header .tp-hero-vp-spacing {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .tp-hero-area.pre-header .tp-hero-vp-content {
    margin: 0 !important;
    padding: 0 !important;
  }

  .tp-hero-area.pre-header .tp-hero-vp-title {
    font-size: clamp(54px, 18vw, 82px) !important;
    line-height: 1 !important;
    letter-spacing: clamp(2px, 1.1vw, 5px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 76px !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }

  .tp-hero-area.pre-header #hero-typewriter {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    transform: none !important;
    position: static !important;
    top: auto !important;
    padding: 0 !important;
    line-height: 1 !important;
  }
}


@media screen and (max-width: 440px) and (max-height: 845px) {
  .Slider-Button-Top-Hight {
    margin-top: -50px !important;
  }
}


/* Sabhi Mobile Screens ke liye */
@media screen and (max-width: 768px) {
  .Bottom-Ka-Spcae-In-Mobile {
    margin-bottom: -40px !important;
  }
}

/* Sirf 440x845 Screen Size ke liye */
@media screen and (width: 440px) and (height: 845px) {
  .Bottom-Ka-Spcae-In-Mobile {
    margin-bottom: -35px !important;
  }
}

@media screen and (width: 440px) and (height: 845px) {
  .RLGI-Top-Space {
    padding-top: 2px !important;
  }
}
/* Desktop/Laptop alignment fix: how-we-manage-events service cards only */
@media (min-width: 992px) {
  .hwm-service-section .tp-service-cst-slider {
    margin-right: 0 !important;
  }

  .hwm-service-section .tp-service-cst-item {
    padding-right: 0 !important;
  }

  .hwm-service-section .tp-service-cst-thumb img {
    width: 100%;
    height: clamp(360px, 32vw, 520px);
    object-fit: cover;
  }

  .hwm-service-section .tp-service-cst-content {
    left: 0;
    right: 0;
    bottom: 0;
    margin: 22px !important;
    padding: 26px 20px 22px !important;
    border-radius: 22px;
    height: auto !important;
    min-height: 190px;
    max-height: none !important;
    overflow: visible !important;
  }

  .hwm-service-section .tp-service-cst-item-border {
    margin-bottom: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid #dbe1dd;
  }
}
