/* Shared Homepage and service-gallery carousel: one full slide at a time on mobile portrait only. */
.section-portfolio .portfolio-carousel-nav,
.service-portfolio-section .portfolio-carousel-nav {
  display: none;
}

@media screen and (max-width: 479px) and (orientation: portrait) {
  .section-portfolio .section-cta {
    display: none;
  }

  .section-portfolio .photo-grid,
  .section-portfolio .video-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .section-portfolio .photo-grid::-webkit-scrollbar,
  .section-portfolio .video-grid::-webkit-scrollbar,
  .service-portfolio-section [data-portfolio-carousel-track]::-webkit-scrollbar {
    display: none;
  }

  .section-portfolio .photo-item,
  .section-portfolio .video-item,
  .service-portfolio-section [data-portfolio-carousel-track] > [data-interior-gallery-item] {
    flex: 0 0 100%;
    min-width: 0;
    max-width: none;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .service-portfolio-section [data-portfolio-carousel-track] {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .service-portfolio-section [data-portfolio-carousel-track] > [data-interior-gallery-item] {
    width: 100%;
    aspect-ratio: 4 / 3;
  }

  .service-portfolio-section [data-portfolio-carousel-track] img {
    object-fit: cover;
  }

  .section-portfolio .video-grid.pb-2xl {
    padding-bottom: 0;
  }

  .section-portfolio .gallery-wrapper {
    padding-bottom: 0;
  }

  .section-portfolio > .layout-stack.items-center.gap-lg {
    padding-top: 32px;
  }

  .section-portfolio .portfolio-carousel-nav,
  .service-portfolio-section .portfolio-carousel-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
    color: #0b1949;
    font: 500 14px/1.4 Inter, sans-serif;
  }

  .section-portfolio .portfolio-carousel-nav button,
  .service-portfolio-section .portfolio-carousel-nav button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 28px;
    cursor: pointer;
  }

  .section-portfolio .portfolio-carousel-nav button:disabled,
  .service-portfolio-section .portfolio-carousel-nav button:disabled {
    opacity: .35;
    cursor: default;
  }

  .section-portfolio .portfolio-carousel-nav button:focus-visible,
  .service-portfolio-section .portfolio-carousel-nav button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    border-radius: 4px;
  }

  .section-portfolio .portfolio-carousel-count,
  .service-portfolio-section .portfolio-carousel-count {
    min-width: 52px;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }
}
