/* Original artwork and composition from the saved Neto homepage captures. */
.home-hero { position: relative; background: #fff; }
.home-hero .carousel-item { position: relative; aspect-ratio: 1920 / 500; transition: transform .6s ease-in-out; }
/* Scope Bootstrap 5 transforms above the preserved Neto Bootstrap 4 stylesheet. */
.home-hero .carousel-item-next:not(.carousel-item-start), .home-hero .active.carousel-item-end { transform: translateX(100%); }
.home-hero .carousel-item-prev:not(.carousel-item-end), .home-hero .active.carousel-item-start { transform: translateX(-100%); }
.home-hero .carousel-item-next.carousel-item-start, .home-hero .carousel-item-prev.carousel-item-end { transform: translateX(0); }
.home-hero .home-hero-art { width: 100%; height: 100%; object-fit: contain; display: block; }
.home-hero .home-hero-link { display: block; height: 100%; }
.home-hero .carousel-inner { touch-action: pan-y pinch-zoom; }
.home-hero .carousel-control-prev, .home-hero .carousel-control-next { width: 15%; min-width: 24px; z-index: 2; }
.home-hero .carousel-control-prev-icon, .home-hero .carousel-control-next-icon { width: 20px; height: 20px; }
/* Dark controls only over the white finance artwork; retain Neto's original arrows. */
.home-hero:has([data-finance-slide].active) .carousel-control-prev, .home-hero:has([data-finance-slide].active) .carousel-control-next { width: 7%; }
.home-hero:has([data-finance-slide].active) .carousel-control-prev-icon, .home-hero:has([data-finance-slide].active) .carousel-control-next-icon { background-color: #101f50; border-radius: 50%; background-size: 65%; width: 28px; height: 28px; }
@media (max-width: 575.98px) {
  .home-hero:has([data-finance-slide].active) .carousel-control-prev-icon, .home-hero:has([data-finance-slide].active) .carousel-control-next-icon { width: 22px; height: 22px; }
}
.home-hero-pause { position: absolute; right: 8px; bottom: 4px; z-index: 3; width: 28px; height: 28px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: #101f50; color: #fff; font-size: 13px; }
.home-hero button:focus-visible, .home-hero a:focus-visible { outline: 3px solid #0785eb; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .home-hero .carousel-item { transition: none; } }
.home-content h1 { margin: 2.5rem 0 1.5rem; }
.home-content h2 { font-size: 24px; font-weight: 400; margin: 2.5rem 0 1.5rem; }
.home-welcome { border: 1px solid #ddd; padding: 3rem 2rem; display: flow-root; text-align: center; }
.home-welcome img { max-width: 36%; height: auto !important; margin-right: 2rem !important; }
.home-mobile-intro { display: none; }
.home-services { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 2rem; }
.home-services figure { border: 1px solid #ddd; padding: .5rem; margin: 0; text-align: center; }
.home-services img { width: 100%; height: 165px; object-fit: contain; }
.home-services figcaption { font-size: 18px; line-height: 1.2; color: #101f50; }
.home-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.home-category-tile { position: relative; border: 1px solid #ddd; color: #101f50; text-decoration: none; }
.home-category-tile img { width: 100%; display: block; }
.home-category-tile span { display: block; padding: .6rem; text-align: center; font-size: 18px; }
.home-products { position: relative; padding-bottom: 2rem; }
.home-product-track { display: flex; gap: 2rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.home-product-slide { flex: 0 0 calc((100% - 6rem) / 4); min-width: 0; scroll-snap-align: start; }
.carousel-controls { display: flex; justify-content: space-between; margin: .75rem 0; }
.carousel-controls button { width: 32px; height: 32px; border-radius: 50%; border: 0; color: #fff; background: #101f50; font-size: 24px; line-height: 1; }
@media (max-width: 991.98px) {
  .home-services { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem 1rem; }
  .home-services img { height: 120px; }
  .home-services figure { border: 0; padding: 0; }
  .home-product-slide { flex-basis: calc((100% - 2rem)/2); }
}
@media (max-width: 767.98px) {
  .home-content h1 { font-size: 26px; margin-top: 2rem; }
  .home-content h2 { font-size: 23px; }
  .home-welcome { display: none; }
  .home-mobile-intro { display: block; }
  .home-mobile-intro h2 { font-size: 18px; }
  .home-services figcaption { font-size: 16px; overflow-wrap: normal; }
  .home-services img { height: 95px; }
  .home-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
  .home-category-tile { border: 0; }
  .home-category-tile span { position: absolute; inset: auto 0 10%; color: #fff; background: rgb(16 31 80 / 75%); font-size: 20px; line-height: 1.2; padding: 1rem .5rem; }
  .home-product-track { gap: 1rem; }
  .home-product-slide { flex-basis: calc((100% - 1rem)/2); }
}
