/* VANTSTEP polish: make imagery, motion and lime accents speak one language. */
body.vantstep-refresh .vs-home-heading-copy {flex:1 1 630px;max-width:830px}
body.vantstep-refresh .vs-home-aside {
  display:flex;
  flex:0 0 clamp(230px,28vw,360px);
  flex-direction:column;
  align-items:flex-end;
  gap:22px;
  min-width:0;
}
body.vantstep-refresh .vs-cover-mosaic {
  display:grid;
  width:100%;
  grid-template-columns:1fr .82fr;
  align-items:center;
  gap:12px;
  padding:4px 0 6px;
}
body.vantstep-refresh .vs-cover-tile {
  display:block;
  position:relative;
  aspect-ratio:1.06;
  min-width:0;
  overflow:hidden;
  border:1px solid #4b565e;
  background:#26313b;
  box-shadow:0 15px 32px rgba(0,0,0,.14);
  transform:translateZ(0);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;
}
body.vantstep-refresh .vs-cover-tile:nth-child(2) {
  aspect-ratio:.88;
  transform:translateY(20px);
}
body.vantstep-refresh .vs-cover-tile img {
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(.78) contrast(1.04);
  transition:transform .6s,filter .5s;
}
body.vantstep-refresh .vs-cover-tile:after {
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(5,12,16,.78),transparent 58%);
  pointer-events:none;
}
body.vantstep-refresh .vs-cover-tile span {
  position:absolute;left:14px;bottom:12px;z-index:2;
  color:#f7f8f3;
  font:900 .64rem/1.2 Archivo,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.vantstep-refresh .vs-cover-tile:hover,
body.vantstep-refresh .vs-cover-tile:nth-child(2):hover {
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(0,0,0,.25);
}
body.vantstep-refresh .vs-cover-tile:hover img {
  transform:scale(1.075);
  filter:saturate(1.03);
}
body.vantstep-refresh .vs-home-explore {
  display:inline-flex;
  align-items:center;gap:12px;
  color:var(--vs-lime);
  border-bottom:1px solid #65743f;
  padding-bottom:8px;
  font:900 .69rem/1.3 Archivo,sans-serif;
  letter-spacing:.085em;
  text-decoration:none;
  text-transform:uppercase;
}
body.vantstep-refresh .vs-home-explore:hover {
  color:#fff;border-color:#fff;
}
body.vantstep-refresh .vs-home-explore span {font-size:1.05rem}

/* First real-news photograph in the compact editorial rail */
body.vantstep-refresh .vs-rail-image {
  display:block;
  width:100%;
  aspect-ratio:2.45;
  margin:0 0 15px;
  overflow:hidden;
  background:#2c3c44;
}
body.vantstep-refresh .vs-rail-image img {
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(.85);
  transition:transform .45s ease,filter .35s;
}
body.vantstep-refresh .vs-rail-image:hover img {
  transform:scale(1.06);filter:saturate(1.04);
}
body.vantstep-refresh .vs-news-rail .vs-meta span {
  color:#adbcc4;
}
body.vantstep-refresh .vs-news-rail article:first-of-type .vs-meta span {
  color:var(--vs-lime);
}
body.vantstep-refresh .vs-news-rail article:first-of-type {padding-top:17px}
body.vantstep-refresh .vs-news-rail article:first-of-type:before {top:18px}

/* Category palette consistency across every homepage surface */
body.vantstep-refresh .vs-home .vs-label {letter-spacing:.13em}
body.vantstep-refresh .vs-home .vs-lead .vs-label {
  color:#152025;background:var(--vs-lime);
}
body.vantstep-refresh .vs-home .vs-section-heading h2,
body.vantstep-refresh .vs-home .vs-news-card h3 {text-wrap:balance}
body.vantstep-refresh .vs-home .vs-news-card .vs-label {color:var(--vs-lime)}
body.vantstep-refresh .vs-home .vs-discovery-title .vs-label {color:var(--vs-lime)}
body.vantstep-refresh .vs-home .vs-grand-angle-copy .vs-label {color:#5e692b}
body.vantstep-refresh .vs-home .vs-promise-eyebrow {color:var(--vs-lime)}
body.vantstep-refresh .vs-home .vs-service-note .vs-label {color:#59692e}
body.vantstep-refresh .vs-home .vs-grand-angle-image-mark {background:var(--vs-lime)}
body.vantstep-refresh .vs-home .vs-grand-angle-link {background:var(--vs-lime)}

/* Expressive but restrained pictograms — never a substitute for labels. */
body.vantstep-refresh .vs-discovery-icon {
  display:flex;align-items:center;justify-content:center;
  top:18px;right:19px;width:55px;height:55px;
  border:1px solid rgba(15,24,26,.18);
  border-radius:50%;
  background:rgba(15,24,26,.055);
  font-size:1.7rem;line-height:1;
  filter:grayscale(.92);
  opacity:.9;
  transition:filter .3s ease,transform .3s ease,background .3s ease;
}
body.vantstep-refresh .vs-discovery-card:nth-child(2) .vs-discovery-icon {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.2);
}
body.vantstep-refresh .vs-discovery-card:hover .vs-discovery-icon {
  filter:grayscale(0);transform:rotate(-8deg) scale(1.065);opacity:1;
}
body.vantstep-refresh .vs-discovery-card strong {max-width:21ch}

/* Content entrance, progressive enhancement: without JS everything remains visible. */
@keyframes vs-cover-enter {
  from {opacity:0;transform:translateY(14px)}
  to {opacity:1;transform:translateY(0)}
}
body.vantstep-refresh .vs-home-heading-copy {
  animation:vs-cover-enter .75s cubic-bezier(.2,.65,.2,1) both;
}
body.vantstep-refresh .vs-cover-mosaic {
  animation:vs-cover-enter .9s .17s cubic-bezier(.2,.65,.2,1) both;
}
body.vantstep-refresh .vs-home .vs-entrance {
  opacity:0;
  transform:translateY(19px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.65,.2,1);
}
body.vantstep-refresh .vs-home .vs-entrance.vs-is-visible {
  opacity:1;transform:none;
}
body.vantstep-refresh .vs-home .vs-entrance:nth-child(2n) {transition-delay:80ms}
body.vantstep-refresh .vs-home .vs-entrance:nth-child(3n) {transition-delay:130ms}

/* Responsive cover: images keep their role instead of becoming background clutter */
@media(max-width:1060px) {
  body.vantstep-refresh .vs-home-heading-copy {flex-basis:560px}
  body.vantstep-refresh .vs-home-aside {flex-basis:245px}
  body.vantstep-refresh .vs-cover-mosaic {gap:8px}
}
@media(max-width:720px) {
  body.vantstep-refresh .vs-home-heading-copy {max-width:none}
  body.vantstep-refresh .vs-home-aside {
    width:100%;
    flex-basis:auto;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:25px;
  }
  body.vantstep-refresh .vs-cover-mosaic {
    width:min(58vw,280px);
    grid-template-columns:1fr 1fr;
    gap:8px;padding:0;
  }
  body.vantstep-refresh .vs-cover-tile,
  body.vantstep-refresh .vs-cover-tile:nth-child(2) {
    aspect-ratio:1.15;
    transform:none;
  }
  body.vantstep-refresh .vs-cover-tile span {font-size:.5rem;left:8px;bottom:8px}
  body.vantstep-refresh .vs-home-explore {font-size:.62rem;max-width:125px}
  body.vantstep-refresh .vs-rail-image {max-width:none;aspect-ratio:3}
  body.vantstep-refresh .vs-discovery-icon {
    width:48px;height:48px;font-size:1.45rem;
  }
}
@media(max-width:390px) {
  body.vantstep-refresh .vs-cover-mosaic {width:57vw}
  body.vantstep-refresh .vs-home-aside {gap:8px}
  body.vantstep-refresh .vs-home-explore {font-size:.57rem}
}
@media(prefers-reduced-motion:reduce) {
  body.vantstep-refresh .vs-home :is(.vs-home-heading-copy,.vs-cover-mosaic) {animation:none!important}
  body.vantstep-refresh .vs-home .vs-entrance {opacity:1!important;transform:none!important;transition:none!important}
  body.vantstep-refresh .vs-home :is(.vs-cover-tile,.vs-cover-tile img,.vs-rail-image img,.vs-discovery-icon) {transition:none!important}
}
