/* Compact banners; loaded last to override earlier banner styles. */
section.hero.inner-page-hero { padding:28px 0!important; min-height:0!important; height:auto!important; }
section.hero.inner-page-hero .hero-title { font-size:clamp(1.65rem,2.7vw,2.25rem); line-height:1.18; margin-bottom:10px; }
section.hero.inner-page-hero .hero-sub { font-size:1rem; line-height:1.5; margin-top:10px; margin-bottom:10px; }
section.hero.inner-page-hero .hero-desc { font-size:.93rem; line-height:1.55; margin-top:10px; margin-bottom:10px; }
section.hero.inner-page-hero .hero-ctas { margin-top:18px; gap:10px; }
/* Follow each image's natural proportions: no letterbox gap or machine cropping. */
section.hero.inner-page-hero .hero-media > img { display:block; box-sizing:border-box; width:100%; max-width:380px; height:auto; aspect-ratio:auto; object-fit:contain; padding:0!important; border:1px solid rgba(255,255,255,.8)!important; background:transparent!important; border-radius:40px 14px; overflow:hidden; }
section.hero.inner-page-hero .hero-inner > .row > .col-lg-6 > .row .card-brand { padding:10px!important; }
section.hero.inner-page-hero .hero-badges { margin-top:18px!important; }
section.hero.inner-page-hero.home-hero { padding:40px 0 28px!important; min-height:470px!important; display:flex; align-items:center; isolation:isolate; }
section.hero.home-hero .hero-media > img { max-width:420px; height:auto; }
section.hero.home-hero .hero-title { font-size:clamp(1.85rem,3vw,2.65rem); }
.home-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; opacity:0; pointer-events:none; }
.home-video-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,15,61,.88),rgba(25,15,61,.55)); z-index:1; opacity:0; pointer-events:none; }
.home-hero.video-ready .home-hero-video,.home-hero.video-ready .home-video-shade { opacity:1; }
.home-hero.video-ready .hero-media { visibility:hidden; }
.hero-video-toggle { position:absolute; right:18px; bottom:12px; z-index:3; border:1px solid #fff; border-radius:6px; padding:6px 12px; color:#fff; background:#241b50; font-size:.85rem; }
.hero-video-toggle[hidden] { display:none; }
@media(max-width:991.98px) {
 section.hero.inner-page-hero { padding:24px 0!important; }
 section.hero.inner-page-hero .hero-media { margin-top:18px!important; }
 section.hero.inner-page-hero .hero-media > img { height:auto; max-width:300px; }
 section.hero.inner-page-hero.home-hero { padding:30px 0 40px!important; min-height:0!important; }
 section.hero.home-hero .hero-media > img { height:auto; max-width:340px; }
 .home-hero.video-ready .hero-media { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .home-hero-video,.home-video-shade,.hero-video-toggle { display:none!important; }
 .home-hero.video-ready .hero-media { display:block; visibility:visible; }
}

/* Home: landscape video with a thin rounded frame */
section.hero.home-hero .home-landscape-video {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 640px;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  margin: 0 auto;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 40px 14px;
  background: #241b50;
}

/* Home: smaller padding in the white feature strip */
.home-hero .feature-strip {
  padding: 12px 16px;
}

.home-hero .feature-item {
  padding: 3px 6px;
  gap: 10px;
}

.home-hero .feature-item .fi-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  font-size: 1.1rem;
}

/* All inner-page banner images: landscape */
section.hero.inner-page-hero:not(.home-hero) .hero-media > img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 640px;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .8) !important;
  border-radius: 40px 14px;
  margin: 0 auto;
}
/* Chute: evenly aligned icons and labels */
.chute-hero-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 18px 0 22px !important;
}

.chute-hero-features > div {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  gap: 10px !important;
  text-align: left;
}

.chute-hero-features > div > i {
  flex: 0 0 24px;
  font-size: 20px;
  text-align: center;
}

.chute-hero-features > div > span {
  line-height: 1.4;
}

/* Belt: compact white strip */
.belt-hero-features .feature-strip {
  padding: 12px 16px;
}

.belt-hero-features .feature-strip > .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.belt-hero-features .feature-strip > .row > div {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.belt-hero-features .feature-item {
  height: 100%;
  padding: 3px 0;
  gap: 8px;
  text-align: left;
}

.belt-hero-features .fi-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  font-size: 1.1rem;
}

.belt-hero-features .fi-label {
  font-size: .82rem;
  line-height: 1.3;
}

/* Tablet: three items per row */
@media (min-width: 768px) {
  .belt-hero-features .feature-strip > .row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Desktop: all six items in one row */
@media (min-width: 992px) {
  .belt-hero-features .feature-strip > .row {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}