.vch {
  --vch-ink: #1f2923;
  --vch-green: #315844;
  --vch-paper: #f7f5f0;
  --vch-sage: #dfe7dc;
  --vch-line: rgba(31, 41, 35, .14);
  color: var(--vch-ink);
  background: #fff;
  overflow: hidden;
}
.vch *, .vch *::before, .vch *::after { box-sizing: border-box; }
.vch img { display: block; width: 100%; }
.vch h1, .vch h2, .vch h3, .vch p, .vch blockquote { margin: 0; }
.vch h1, .vch h2 { font-weight: 550; letter-spacing: -.035em; line-height: 1.06; }
.vch h1 { max-width: 690px; font-size: clamp(2.8rem, 4vw, 4.75rem); }
.vch h2 { max-width: 760px; font-size: clamp(2.25rem, 3.3vw, 3.75rem); }
.vch h3 { font-size: 1.05rem; letter-spacing: -.015em; }
.vch a { color: inherit; }
.vch-eyebrow { margin-bottom: 18px !important; color: var(--vch-green); font-size: 10px; line-height: 1.45; letter-spacing: .18em; font-weight: 750; text-transform: uppercase; }
.vch-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid var(--vch-ink); border-radius: 4px; text-decoration: none !important; font-size: 12px; line-height: 1.2; letter-spacing: .035em; font-weight: 700; white-space: nowrap; transition: transform .2s ease, background .2s ease, color .2s ease; }
.vch-button:hover { transform: translateY(-2px); }
.vch-button--dark, .vch-button--dark:visited { color: #fff !important; background: var(--vch-green); border-color: var(--vch-green); }
.vch-button--light, .vch-button--light:visited { color: var(--vch-ink) !important; background: #fff; border-color: #fff; }
.vch-link { color: var(--vch-ink) !important; text-underline-offset: 5px; font-size: 13px; }
.vch-benefits { min-height: 40px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 16px; padding: 9px max(24px, calc((100vw - 1440px) / 2)); color: #fff; background: var(--vch-green); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; text-align: center; }
.vch-benefits span + span { border-left: 1px solid rgba(255,255,255,.24); }
.vch-hero { width: min(100%, 1500px); min-height: 620px; display: grid; grid-template-columns: .88fr 1.12fr; margin: 0 auto; background: var(--vch-paper); }
.vch-hero__copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: clamp(50px, 5vw, 78px) clamp(32px, 5vw, 76px); }
.vch-lead { max-width: 520px; margin-top: 24px !important; font-size: clamp(.98rem, 1.1vw, 1.13rem); line-height: 1.65; opacity: .72; }
.vch-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.vch-hero__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 48px; }
.vch-hero__meta div { padding-top: 14px; border-top: 1px solid var(--vch-line); }
.vch-hero__meta strong, .vch-hero__meta span { display: block; }
.vch-hero__meta strong { margin-bottom: 5px; font-size: 12px; }
.vch-hero__meta span { font-size: 11px; line-height: 1.5; opacity: .62; }
.vch-hero__visual { position: relative; min-height: 620px; display: grid; place-items: center; padding: clamp(28px, 4vw, 60px); background: #ebe7df; overflow: hidden; }
.vch-hero__visual img { width: 100%; height: 100%; max-height: 570px; object-fit: contain; transition: transform .6s ease; }
.vch-hero__visual:hover img { transform: scale(1.015); }
.vch-hero__badge { position: absolute; left: 24px; bottom: 24px; max-width: 390px; padding: 13px 15px; background: rgba(255,255,255,.92); box-shadow: 0 10px 28px rgba(31,41,35,.08); }
.vch-hero__badge small, .vch-hero__badge strong { display: block; }
.vch-hero__badge small { margin-bottom: 5px; color: var(--vch-green); font-size: 8px; letter-spacing: .15em; }
.vch-hero__badge strong { font-size: 12px; line-height: 1.35; }
.vch-ticker { overflow: hidden; padding: 16px 0; color: #fff; background: var(--vch-green); white-space: nowrap; }
.vch-ticker div { width: max-content; font-size: clamp(.78rem, 1.05vw, 1rem); letter-spacing: .1em; font-weight: 700; animation: vch-scroll 30s linear infinite; }
.vch-ticker i { margin: 0 20px; color: #cfaa6b; font-style: normal; }
@keyframes vch-scroll { to { transform: translateX(-50%); } }
.vch-categories, .vch-products, .vch-service { padding: clamp(68px, 8vw, 110px) max(24px, calc((100vw - 1380px) / 2)); }
.vch-section-head, .vch-products__head { display: grid; grid-template-columns: 1.45fr .55fr; gap: clamp(36px, 6vw, 90px); align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.vch-section-head > p, .vch-products__head > p { max-width: 420px; padding-bottom: 4px; font-size: .92rem; line-height: 1.7; opacity: .64; }
.vch-category-grid { max-width: 1380px; display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: 1fr 1fr; gap: 3px; margin: 0 auto; background: var(--vch-ink); }
.vch-category { position: relative; min-height: 330px; overflow: hidden; text-decoration: none; background: #d8d4cb; }
.vch-category--large { min-height: 663px; grid-row: span 2; }
.vch-category img { height: 100%; object-fit: cover; transition: transform .55s ease; }
.vch-category:hover img { transform: scale(1.02); }
.vch-category::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(18,24,20,.68)); }
.vch-category > span { position: absolute; z-index: 2; left: clamp(22px, 3vw, 40px); right: clamp(22px, 3vw, 40px); bottom: clamp(22px, 3vw, 36px); color: #fff; }
.vch-category small, .vch-category strong, .vch-category em { display: block; }
.vch-category small { margin-bottom: 8px; font-size: 8px; letter-spacing: .15em; }
.vch-category strong { font-size: clamp(1.45rem, 2.1vw, 2.25rem); font-weight: 550; letter-spacing: -.025em; }
.vch-category em { margin-top: 12px; font-size: 10px; font-style: normal; text-decoration: underline; text-underline-offset: 4px; opacity: .84; }
.vch-products { background: var(--vch-paper); }
.vch-product-grid { max-width: 1380px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 18px; margin: 0 auto; }
.vch-product-card { min-width: 0; }
.vch-product-card__image { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #ebe7df; }
.vch-product-card__image img { height: 100%; object-fit: contain; padding: 14px; transition: transform .4s ease; }
.vch-product-card__image:hover img { transform: scale(1.025); }
.vch-product-card__image span { position: absolute; left: 11px; top: 11px; padding: 7px 9px; color: var(--vch-green); background: rgba(255,255,255,.92); font-size: 7px; letter-spacing: .11em; text-transform: uppercase; }
.vch-product-card__info { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: start; padding-top: 13px; }
.vch-product-card__info a { font-size: 12px; line-height: 1.45; text-decoration: none; }
.vch-product-card__info a:hover { text-decoration: underline; text-underline-offset: 4px; }
.vch-product-card__info strong { color: var(--vch-green); font-size: 12px; white-space: nowrap; }
.vch-spotlight { width: min(100%, 1500px); min-height: 610px; display: grid; grid-template-columns: 1fr 1fr; margin: 0 auto; background: var(--vch-sage); }
.vch-spotlight__image { min-height: 610px; display: grid; place-items: center; padding: clamp(28px, 4vw, 58px); background: #f0ede6; }
.vch-spotlight__image img { height: 100%; max-height: 520px; object-fit: contain; }
.vch-spotlight__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(54px, 6vw, 86px) clamp(30px, 6vw, 86px); }
.vch-spotlight__copy > p:not(.vch-eyebrow) { max-width: 530px; margin-top: 22px; line-height: 1.68; opacity: .67; }
.vch-spotlight__copy ul { margin: 30px 0; padding: 0; list-style: none; border-top: 1px solid var(--vch-line); }
.vch-spotlight__copy li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--vch-line); }
.vch-spotlight__copy li > span { padding-top: 2px; font-size: 8px; opacity: .52; }
.vch-spotlight__copy li strong, .vch-spotlight__copy li small { display: block; }
.vch-spotlight__copy li strong { margin-bottom: 4px; font-size: 12px; }
.vch-spotlight__copy li small { font-size: 10px; line-height: 1.5; opacity: .62; }
.vch-spotlight__copy .vch-button { align-self: flex-start; }
.vch-story { max-width: 1380px; display: grid; grid-template-columns: .35fr 1.35fr .65fr; gap: clamp(30px, 5vw, 72px); align-items: start; margin: 0 auto; padding: clamp(76px, 9vw, 126px) 24px; }
.vch-story blockquote { max-width: 800px; font-size: clamp(1.9rem, 2.8vw, 3.25rem); line-height: 1.16; letter-spacing: -.03em; }
.vch-story__body { padding-top: 3px; font-size: .9rem; line-height: 1.7; opacity: .64; }
.vch-service { background: #fff; border-top: 1px solid var(--vch-line); }
.vch-service header { max-width: 1380px; display: grid; grid-template-columns: .35fr 1.65fr; gap: 30px; align-items: start; margin: 0 auto; }
.vch-service__grid { max-width: 1380px; display: grid; grid-template-columns: repeat(4, 1fr); margin: 54px auto 0; border-top: 1px solid var(--vch-line); border-bottom: 1px solid var(--vch-line); }
.vch-service__grid article { padding: 24px clamp(15px, 2vw, 28px) 32px; }
.vch-service__grid article + article { border-left: 1px solid var(--vch-line); }
.vch-service__grid span { display: block; margin-bottom: 32px; color: var(--vch-green); font-size: 8px; }
.vch-service__grid h3 { margin-bottom: 9px; }
.vch-service__grid p { max-width: 270px; font-size: 11px; line-height: 1.6; opacity: .62; }
.vch-final { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding: clamp(70px, 8vw, 110px) max(24px, calc((100vw - 1380px) / 2)); color: var(--vch-ink); background: var(--vch-sage); }
.vch-final .vch-button { flex: 0 0 auto; }
@media (max-width: 1000px) {
  .vch-hero, .vch-spotlight { grid-template-columns: 1fr; }
  .vch-hero__copy { min-height: 520px; }
  .vch-hero__visual { min-height: 540px; }
  .vch-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vch-story { grid-template-columns: 1fr; }
  .vch-service__grid { grid-template-columns: repeat(2, 1fr); }
  .vch-service__grid article:nth-child(3) { border-left: 0; border-top: 1px solid var(--vch-line); }
  .vch-service__grid article:nth-child(4) { border-top: 1px solid var(--vch-line); }
}
@media (max-width: 720px) {
  .vch-benefits { grid-template-columns: repeat(2, 1fr); gap: 7px; font-size: 7px; }
  .vch-benefits span + span { border-left: 0; }
  .vch-hero__copy { min-height: auto; padding-block: 54px; }
  .vch-hero__visual { min-height: 470px; }
  .vch-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .vch-section-head, .vch-products__head { grid-template-columns: 1fr; align-items: start; }
  .vch-category-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .vch-category, .vch-category--large { min-height: 470px; grid-row: auto; }
  .vch-product-grid { gap: 30px 10px; }
  .vch-product-card__info { grid-template-columns: 1fr; gap: 6px; }
  .vch-product-card__image span { display: none; }
  .vch-spotlight__image { min-height: 500px; }
  .vch-service header { grid-template-columns: 1fr; }
  .vch-final { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 480px) {
  .vch h1 { font-size: clamp(2.45rem, 12vw, 3.2rem); }
  .vch-product-grid { grid-template-columns: 1fr; }
  .vch-hero__meta { grid-template-columns: 1fr; }
  .vch-category, .vch-category--large { min-height: 420px; }
  .vch-service__grid { grid-template-columns: 1fr; }
  .vch-service__grid article + article { border-left: 0; border-top: 1px solid var(--vch-line); }
}
@media (prefers-reduced-motion: reduce) {
  .vch-ticker div { animation: none; }
  .vch *, .vch *::before, .vch *::after { scroll-behavior: auto !important; transition: none !important; }
}

