
/* Homepage v3: hero + 3 price banners alongside the desktop sidebar; deals full-width. */
.vh-home-v2 .vh-shell{align-items:start}
.vh-home-v2 .vh-hero-photo{
  min-height:375px;
  padding:34px 35px;
  align-items:center;
  background-position:center center;
  overflow:hidden;
}
.vh-home-v2 .vh-hero-copy{
  flex:0 0 49%;
  width:49%;
  max-width:535px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:13px;
  position:relative;
  z-index:2;
}
.vh-home-v2 .vh-hero-copy .eyebrow{font-size:12px;line-height:1.3}
.vh-home-v2 .vh-hero-copy h1{
  font-size:clamp(31px,2.8vw,45px);
  font-weight:800;
  line-height:1.13;
  letter-spacing:-.04em;
  max-width:100%;
  margin:0;
  color:#5b2a35;
  text-wrap:balance;
}
.vh-home-v2 .vh-hero-copy h1 span{color:#319657}
.vh-home-v2 .vh-hero-copy p{
  font-size:14px;
  line-height:1.53;
  color:#5e737b;
  max-width:390px;
  margin:0;
}
.vh-home-v2 .vh-hero-copy .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  margin:2px 0 0;
  padding:12px 20px;
  min-height:43px;
  line-height:1.25;
  font-size:13px;
  flex:0 0 auto;
  white-space:normal;
  text-align:center;
}
/* Banner artwork stays 100% image; overlay copy is real, SEO-readable text. */
.vh-home-v2 .vh-budget-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin-top:14px;
}
.vh-home-v2 .vh-budget-tile{
  isolation:isolate;
  display:flex;
  align-items:center;
  min-width:0;
  min-height:175px;
  position:relative;
  overflow:hidden;
  border:1px solid #edece8;
  border-radius:14px;
  background:#fff6ed;
  box-shadow:0 4px 12px rgba(67,50,41,.045);
  transition:transform .18s ease,box-shadow .18s ease;
}
.vh-home-v2 .vh-budget-tile:nth-child(2){background:#fff4eb}
.vh-home-v2 .vh-budget-tile:nth-child(3){background:#fff1e7}
.vh-home-v2 .vh-budget-tile>img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:65% center;
  z-index:-2;
  display:block;
}
.vh-home-v2 .vh-budget-tile::after{
  content:"";
  position:absolute;inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(255,251,245,.98) 0%,rgba(255,251,245,.91) 34%,rgba(255,251,245,.26) 69%,rgba(255,251,245,0) 100%);
}
.vh-home-v2 .vh-budget-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:79%;
  padding:15px 13px 14px;
  color:#4f2834;
}
.vh-home-v2 .vh-budget-overline{
  display:block;
  font-size:9px;
  font-weight:900;
  color:#318c66;
  letter-spacing:.09em;
}
.vh-home-v2 .vh-budget-copy strong{
  display:block;
  font-size:clamp(15px,1.27vw,19px);
  line-height:1.22;
  letter-spacing:-.035em;
  font-weight:900;
}
.vh-home-v2 .vh-budget-copy strong em{
  display:block;
  font-style:normal;
  color:#399954;
  font-size:clamp(19px,1.6vw,24px);
}
.vh-home-v2 .vh-budget-copy small{
  font-size:10px;
  line-height:1.35;
  color:#745a60;
  max-width:170px;
}
.vh-home-v2 .vh-budget-cta{
  display:inline-block;
  font-size:10px;
  font-weight:900;
  color:#2e9154;
  background:#ffffffdb;
  padding:6px 8px;
  border-radius:7px;
  margin-top:2px;
}
.vh-home-v2 .vh-budget-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 19px rgba(53,37,29,.11);
}
.vh-home-v2>.vh-featured-section{
  margin-top:16px;
  width:100%;
}
.vh-home-v2>.vh-featured-section .vh-offer-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.vh-home-v2>.vh-featured-section .vh-offer-card-photo{height:225px}
.vh-home-v2>.vh-featured-section .vh-offer-card h3{font-size:14px}
.vh-home-v2>.vh-featured-section .vh-offer-prices strong{font-size:21px}
.vh-home-v2 .vh-age-section{margin-top:23px}
.vh-home-v2 .vh-age-section .vh-mini{width:100%}
.vh-home-v2 .vh-age-section .vh-mini .ages{grid-template-columns:repeat(6,minmax(0,1fr))}
.vh-home-v2 .vh-age-section .vh-mini .age img{height:150px}
@media(max-width:1200px){
 .vh-home-v2 .vh-hero-photo{min-height:385px;padding:25px 26px}
 .vh-home-v2 .vh-hero-copy{flex-basis:51%;width:51%;gap:10px}
 .vh-home-v2 .vh-hero-copy h1{font-size:clamp(29px,3.2vw,38px)}
 .vh-home-v2 .vh-hero-copy p{font-size:13px}
 .vh-home-v2 .vh-budget-tile{min-height:164px}
 .vh-home-v2 .vh-budget-copy{padding:11px 10px;width:82%}
 .vh-home-v2 .vh-budget-copy small{display:none}
 .vh-home-v2>.vh-featured-section .vh-offer-card-photo{height:190px}
}
@media(max-width:950px){
 .vh-home-v2 .vh-hero-photo{min-height:350px;padding:28px}
 .vh-home-v2 .vh-hero-copy{flex-basis:50%;width:50%;gap:11px}
 .vh-home-v2 .vh-budget-strip{gap:9px;margin-top:11px}
 .vh-home-v2 .vh-budget-tile{min-height:178px}
 .vh-home-v2>.vh-featured-section .vh-offer-card-photo{height:195px}
 .vh-home-v2 .vh-age-section .vh-mini .age img{height:130px}
}
@media(max-width:699px){
 .vh-home-v2 .hero.vh-hero-photo{padding:0;min-height:0;align-items:stretch}
 .vh-home-v2 .vh-hero-copy{
  flex-basis:auto;
  width:100%;
  max-width:none;
  gap:10px;
  padding:22px 20px 18px;
 }
 .vh-home-v2 .vh-hero-copy .eyebrow{font-size:11px}
 .vh-home-v2 .vh-hero-copy h1{font-size:clamp(28px,7.8vw,36px);line-height:1.14;max-width:100%}
 .vh-home-v2 .vh-hero-copy p{font-size:13px;line-height:1.5;max-width:360px}
 .vh-home-v2 .vh-hero-copy .btn{font-size:12px;padding:11px 16px}
 .vh-home-v2 .vh-budget-strip{grid-template-columns:1fr;gap:9px;margin-top:11px}
 .vh-home-v2 .vh-budget-tile{min-height:136px;border-radius:12px}
 .vh-home-v2 .vh-budget-tile>img{object-position:70% 55%}
 .vh-home-v2 .vh-budget-copy{width:70%;padding:13px 17px;gap:5px}
 .vh-home-v2 .vh-budget-copy strong{font-size:16px}
 .vh-home-v2 .vh-budget-copy strong em{font-size:22px}
 .vh-home-v2 .vh-budget-copy small{display:block;font-size:10px}
 .vh-home-v2 .vh-budget-cta{font-size:10px;padding:5px 8px}
 .vh-home-v2>.vh-featured-section{margin-top:14px}
 .vh-home-v2>.vh-featured-section .vh-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vh-home-v2>.vh-featured-section .vh-offer-card-photo{height:145px}
 .vh-home-v2>.vh-featured-section .vh-offer-card h3{font-size:11px}
 .vh-home-v2>.vh-featured-section .vh-offer-prices strong{font-size:16px}
 .vh-home-v2 .vh-age-section .vh-mini .ages{grid-template-columns:repeat(3,minmax(0,1fr))}
 .vh-home-v2 .vh-age-section .vh-mini .age img{height:auto;aspect-ratio:4/5}
}
@media(min-width:700px) and (max-width:950px){
 .vh-home-v2 .vh-budget-copy strong{font-size:15px}
 .vh-home-v2 .vh-budget-copy strong em{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.vh-home-v2 .vh-budget-tile{transition:none}}
