/* 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 .6s 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 center; }
.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 .5s ease, visibility 0s linear .5s;
}
.hero-slider .hero-slide.is-active{ opacity:1; visibility:visible; transition:opacity .5s 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.hero-slider{ min-height:0; }
  .hero-slider .hero-slide{ padding-top:136px; }
  .hero-slider .hero-bg.b-office img{ object-position:72% center; }
  .hero-slider .hero-cta .btn-outline{ display:none; }
  .hero-slider .hero-slide h1{ font-size:clamp(1.9rem,8.2vw,2.5rem); line-height:1.08; margin-top:14px; }
  .hero-slider .hero-slide h1 .line{ padding-left:0 !important; }
  .hero-slider .hero-note,
  .hero-slider .hero-sub{ display:none; }
  .hero-slider .hero-foot{ margin-top:22px; gap:0; }
  .hero-slider .hero-cta{ margin-top:0; gap:10px; }
  .hero-slider .hero-cta .btn{ padding:11px 18px; font-size:.85rem; }
  .hero-dots{ padding-top:18px; }
  .hero-slider .hero-tickers{ margin-top:16px; }
}
@media (prefers-reduced-motion:reduce){
  .hero-slider .hero-bgs .hero-bg, .hero-slider .hero-slide{ transition:none; }
}
