.port-folios  *{font-family: 'Red Hat Display', sans-serif;}
.port-folios  header {
    position: relative;
    background-color: black;
    height: 50vh;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
  }
.port-folios .btn{background-color: transparent;color: #fff;}
.port-folios .btn#loadMoreBtn{color: black;}
.port-folios   header video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
  }
  
  .port-folios   header .container {
    position: relative;
    z-index: 2;
  }
  
  .port-folios  header .overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: black;
    opacity: 0.5;
    z-index: 1;
  }

  .port-folios  .card-body .card-text,
  .port-folios  .card-body h4{color:#fff;}
  .port-folios   img{max-width: 100%;;}
  
  .port-folios  .border-radius-50{border-radius:50px;}
  /* ── MOBILE APP CARDS: exact copy of website card pattern ─────────────── */

  /* 1. Card shell — same 480px fixed height as website cards */
  .port-folios .mobile-portfolios.portfolios .card {
    background-color: #000 !important;
    background-size: cover !important;
    position: relative !important;
    height: 480px !important;
    overflow: hidden !important;
    transition: all ease 5s !important;
    cursor: pointer !important;
    box-shadow: 0 0 6px 2px rgba(0,0,0,.4) !important;
  }

  /* 2. Carousel + slides fill the full 480px card */
  .port-folios .mobile-portfolios .carousel,
  .port-folios .mobile-portfolios .carousel-inner,
  .port-folios .mobile-portfolios .carousel-item {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    right: 0 !important; bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .port-folios .mobile-portfolios .carousel-item img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    transition: object-position 5s ease !important;
  }
  .port-folios .mobile-portfolios .card:hover .carousel-item img {
    object-position: bottom center !important;
  }

  /* 3. No ::before interference */
  .port-folios .mobile-portfolios .card::before { display: none !important; }

  /* 4. Hover overlay — identical to website card ::after */
  .port-folios .mobile-portfolios .card:hover::after {
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.88) 35%, rgba(0,0,0,0.6) 65%, rgba(0,0,0,0.25) 100%) !important;
    position: absolute !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
    content: '' !important;
    z-index: 0 !important;
  }

  /* 5. Card-body — overlaid at bottom, identical to website card-body */
  .port-folios .mobile-portfolios .card .card-body {
    background-color: transparent !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: auto !important;
    width: auto !important;
    z-index: 9 !important;
    color: #fff !important;
    padding: 1.25rem 1rem 1rem !important;
    background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, transparent 100%) !important;
  }
  .port-folios .mobile-portfolios .card .card-body h4 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.2rem !important;
    line-height: 1.3 !important;
    color: #fff !important;
  }
  .port-folios .mobile-portfolios .card .card-body .card-text {
    font-size: 0.8rem !important;
    margin: 0 0 0.6rem !important;
    opacity: 0.85 !important;
    color: #fff !important;
  }
  .port-folios .mobile-portfolios .card .card-body .btn {
    font-size: 0.78rem !important;
    padding: 0.35rem 0.9rem !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    border-radius: 50px !important;
    background: transparent !important;
  }
  .port-folios  .portfolios .card {background-color: transparent;background-size: 100%;position: relative;height: 480px;transition: all ease 5s;background-position: top  center; cursor: pointer;box-shadow: 0 0 6px 2px rgba(0,0,0,.4);}
  .port-folios  .portfolios .card:hover{background-position: bottom center;}
  .port-folios  .portfolios .card .card-body{background-color: transparent;position: absolute;bottom: 0;left: 0;right: 0;display: flex;flex-direction: column;justify-content: flex-end;z-index: 9;color: #fff;padding: 1.25rem 1rem 1rem;background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);}
  .port-folios .portfolios:not(.mobile-portfolios) .card:hover:after{background:linear-gradient(0deg, black, transparent, transparent, #00000000);position: absolute;top:0;right: 0;bottom: 0;left: 0;content: '';z-index: 0;}
  .port-folios .portfolios .card .card-body h4{font-size: 1rem;font-weight: 700;margin: 0 0 0.2rem;line-height: 1.3;}
  .port-folios .portfolios .card .card-body .card-text{font-size: 0.8rem;margin: 0 0 0.6rem;opacity: 0.85;}
  .port-folios .portfolios .card .card-body .btn{font-size: 0.78rem;padding: 0.35rem 0.9rem;}
  .port-folios .portfolios .col-md-4{margin-bottom: 2rem;}

  .port-folios .dark-bg{background-color: black; padding: 2.5rem 1rem;}
  .port-folios .dark-bg h2{text-align: center; color: #fff; font-size: clamp(1.6rem, 5vw, 2.5rem); margin: 0;}
  .port-folios .portfolios h3{text-align: center; margin-bottom: 2rem;}
  .port-folios .portfolios:not(.mobile-portfolios) { margin-top: 3rem; }

  /* Bootstrap carousel: hide non-active slides (Bootstrap CSS not loaded on this page) */
  .port-folios .carousel-item { display: none; overflow: hidden; }
  .port-folios .carousel-item.active { display: block; }

  /* ── Our Clients logo grid ── */
  /* top breathing room so the grid doesn't collide with the dark banner */
  .port-folios section.brands-items { padding-top: 3rem; padding-bottom: 3rem; }

  /* vertical gap between logo rows */
  .port-folios .brands-items .row > div { margin-bottom: 1.25rem; }

  /* logo cell: border, shadow, padding, flex-centre */
  .port-folios .brands-items .row > div > div {
    box-shadow: 0 0 4px 1px rgba(0,0,0,0.2);
    border: 1px solid #e0e0e0;
    padding: 18px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 90px;
    background: #fff;
    border-radius: 6px;
  }

  /* logo images: consistent height, preserve aspect ratio, no stretch */
  .port-folios .brands-items .row > div > div img {
    height: 56px;
    width: 100%;
    object-fit: contain;
    object-position: center;
  }

@media (pointer: coarse) and (hover: none) {
  .port-folios  header {      background: url('https://source.unsplash.com/XT5OInaElMw/1600x900') black no-repeat center center scroll;    }
  .port-folios   header video {    display: none;    }
  }

/* ── Mobile fixes (≤767px) ─────────────────────────────────────────────────── */
@media (max-width: 767px) {

  /* Website cards: tighten item spacing so title+sector sit tight above the button */
  .port-folios .portfolios:not(.mobile-portfolios) .card .card-body {
    gap: 2px;
    padding-bottom: 1.25rem;
  }
  .port-folios .portfolios:not(.mobile-portfolios) .card-body .card-text {
    margin-bottom: 2px;
  }
  .port-folios .portfolios:not(.mobile-portfolios) .card-body .btn {
    margin-top: 4px;
    padding-left: 0;
  }

  /* Mobile App Development: stack vertically, full width, same as website cards */
  .port-folios .mobile-portfolios.portfolios .col-md-4 {
    flex: 0 0 100%;
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
  


/* ── Load More button ────────────────────────────────────────── */
.port-folios #loadMoreBtn {
  margin: 2rem auto 0;
  padding: 0.65rem 2.5rem;
  border: 2px solid #0b1726 !important;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #0b1726 !important;
  background: transparent;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.port-folios #loadMoreBtn:hover {
  background: #0b1726;
  color: #fff !important;
}
