/* index — page-specific styles */

/* Industry card photos link to the same page as their "Explore ..." link */
.industry-photo-link{display:block;flex:0 0 auto;border-radius:12px;transition:transform .18s ease,box-shadow .18s ease}
.industry-photo-link:hover{transform:translateY(-2px)}
.industry-icon-photo{
  width:132px;height:108px;flex:0 0 82px;
  object-fit:cover;object-position:center;
  border-radius:12px;display:block;
  box-shadow:0 3px 10px rgba(32,32,32,.10);
}
/* Home title sits above the banner, aligned with the header menu */
.home-title{width:min(1420px,92vw);margin:0 auto}
/* One compact line, so the banner and the first industry cards fit on the first screen */
.home-title h1{margin-top:16px;font-size:clamp(22px,2.1vw,32px);line-height:1.2;letter-spacing:-.02em}
.home-title h1 em{display:block;margin:2px 0 0}
@media(min-width:900px){.home-title h1{white-space:nowrap}}
.home-hero-inner .pitch p:first-child{margin-top:0}

/* Rotating industry banner: same width as the header menu, centre-cropped.
   Without JavaScript only the first slide shows (js/home-banner.js rotates). */
.home-banner{
  position:relative;
  width:min(1420px,92vw);
  margin:14px auto 18px;
}
.hb-slides{
  position:relative;
  height:clamp(126px,16.8vw,238px);  /* 30% lower than before; object-fit:cover crops, no distortion */
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#e0e0e0;
}
.hb-slide{
  position:absolute;inset:0;
  opacity:0;visibility:hidden;
  transition:opacity .9s ease,visibility 0s linear .9s;
}
.hb-slide.is-active{opacity:1;visibility:visible;transition:opacity .9s ease}
.hb-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hb-caption{
  position:absolute;left:24px;bottom:24px;
  max-width:calc(100% - 48px);
  padding:14px 18px;
  border-radius:14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 24px rgba(32,32,32,.18);
}
.hb-caption b{display:block;font-size:20px;line-height:1.2;color:var(--accent)}
.hb-caption span{display:block;margin-top:3px;font-size:13px;color:var(--text)}
.hb-caption i{margin-left:6px;color:var(--accent)}
.hb-slide:hover .hb-caption,.hb-slide:focus-visible .hb-caption{box-shadow:0 10px 28px rgba(32,32,32,.28)}
.hb-dots{
  position:absolute;right:24px;bottom:24px;
  display:flex;gap:8px;
}
.hb-dots button{
  width:12px;height:12px;padding:0;
  border:2px solid #ffffff;border-radius:50%;
  background:rgba(32,32,32,.35);cursor:pointer;
}
.hb-dots button[aria-current="true"]{background:#ffffff}
@media(max-width:600px){
  .hb-caption{left:12px;bottom:12px;padding:10px 12px}
  .hb-caption b{font-size:16px}
  .hb-caption span{display:none}
  .hb-dots{right:12px;bottom:auto;top:12px}
}
@media(prefers-reduced-motion:reduce){
  .hb-slide,.hb-slide.is-active{transition:none}
}

@media(max-width:600px){
  .industry-icon-photo{width:74px;height:52px;flex-basis:74px}
}
