/* Home hero — 3-slide auto-play slider, bullets only (no arrows) */
.hero.hero-slider{
  display:grid; grid-template-columns:100%; grid-template-rows:1fr auto auto;
  align-items:stretch; padding:0;
}
.hero-slider .hero-bgs{ position:absolute; inset:0; z-index:-1; background:var(--ink); }
.hero-slider .hero-bgs .hero-bg{
  position:absolute; inset:0; z-index:auto; opacity:0; transition:opacity 1s ease; background:none;
}
.hero-slider .hero-bgs .hero-bg.is-active{ opacity:1; }
.hero-slider .hero-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-slider .hero-bg.b-office img{ object-position:center 42%; }
.hero-slider .hero-bg.b-s2 img,
.hero-slider .hero-bg.b-s3 img{ object-position:center center; }
/* overlay: every banner photo gets the same dark wash so text + spacing match on all slides */
.hero-slider .hero-bg::after{ content:none; }
.hero-slider .hero-bg.b-photo::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(18,20,15,.85) 0, rgba(18,20,15,0) 230px),
    linear-gradient(0deg, rgba(18,20,15,.94) 0, rgba(18,20,15,0) 58%),
    linear-gradient(90deg, rgba(18,20,15,.84) 0%, rgba(18,20,15,.5) 52%, rgba(18,20,15,.22) 100%);
}
/* the two bright banners get a little extra shade so the text stays readable */
.hero-slider .hero-bg.b-s2::after,
.hero-slider .hero-bg.b-s3::after{
  background:
    linear-gradient(180deg, rgba(18,20,15,.85) 0, rgba(18,20,15,0) 230px),
    linear-gradient(0deg, rgba(18,20,15,.94) 0, rgba(18,20,15,.35) 58%, rgba(18,20,15,.12) 100%),
    linear-gradient(90deg, rgba(18,20,15,.84) 0%, rgba(18,20,15,.55) 52%, rgba(18,20,15,.3) 100%);
}
/* slides stack in the same grid cell and cross-fade */
.hero-slider .hero-slide{
  grid-row:1; grid-column:1; align-self:end;
  padding-top:170px; opacity:0; visibility:hidden;
  transition:opacity .8s ease, visibility 0s linear .8s;
}
.hero-slider .hero-slide.is-active{ opacity:1; visibility:visible; transition:opacity .8s ease; }
.hero-slider .hero-slide:not(.is-active) h1 .line{ animation:none; }
.hero-slider .hero-slide > .container{ position:relative; }

/* bullets */
.hero-dots{
  grid-row:2; grid-column:1; position:relative; z-index:2;
  display:flex; gap:10px; padding:26px var(--gutter, 24px) 0; max-width:var(--container, 1200px); margin:0 auto; width:100%;
}
.hero-dots button{
  width:12px; height:12px; padding:0; border-radius:99px; border:0; cursor:pointer;
  background:rgba(243,245,238,.55); box-shadow:0 0 0 1px rgba(18,20,15,.25);
  transition:width .4s var(--ease, ease), background .3s;
}
.hero-dots button:hover{ background:var(--paper, #f3f5ee); }
.hero-dots button[aria-current="true"]{ width:38px; background:var(--coral, #ff4b33); }
.hero-dots button:focus-visible{ outline:2px solid var(--lime, #d6f26b); outline-offset:3px; }
.hero-slider .hero-tickers{ grid-row:3; grid-column:1; margin-top:22px; }
.hero-slider .hero-tickers > .marquee{ background:rgba(18,20,15,.88); }

@media (max-width:768px){
  .hero-slider .hero-slide{ padding-top:130px; }
}
@media (prefers-reduced-motion:reduce){
  .hero-slider .hero-bgs .hero-bg, .hero-slider .hero-slide{ transition:none; }
}
