.vtm-collection-band,
.vtm-product-band,
.vtm-build-entry,
.vtm-reference-section,
.vtm-build-page {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.vtm-collection-band {
  padding: 54px 0 28px;
}

.vtm-section-heading {
  max-width: 720px;
  margin-bottom: 24px;
}

.vtm-section-heading h2,
.vtm-product-band h2,
.vtm-build-entry h2,
.vtm-build-page h1,
.vtm-build-page h2,
.vtm-build-page h3 {
  letter-spacing: 0;
}

.vtm-section-heading h2,
.vtm-product-band h2,
.vtm-build-entry h2 {
  margin: 0 0 8px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
}

.vtm-eyebrow {
  margin: 0 0 8px;
  color: #007aa3;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.vtm-family-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.vtm-family-card {
  min-width: 0;
  border: 1px solid #d9dee3;
  background: #fff;
}

.vtm-family-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f2f4f5;
}

.vtm-family-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 180ms ease;
}

.vtm-family-card:hover .vtm-family-card__media img {
  transform: scale(1.025);
}

.vtm-family-card__badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 5px 8px;
  border-radius: 2px;
  background: #101315;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.vtm-family-card__body {
  padding: 17px 18px 19px;
}

.vtm-family-card__body h3 {
  margin: 0 0 7px;
  font-size: 20px;
}

.vtm-family-card__body p {
  min-height: 48px;
  margin: 0 0 12px;
  color: #4e565b;
  line-height: 1.5;
}

.vtm-family-card__body a,
.vtm-product-band__heading > a,
.vtm-text-link,
.vtm-build-card__body > a {
  color: #006f97;
  font-weight: 700;
  text-decoration: none;
}

.vtm-product-band {
  padding: 34px 0 18px;
  border-top: 1px solid #e2e5e8;
}

.vtm-product-band__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.vtm-product-band__heading p {
  margin: 0;
  color: #596166;
}

.vtm-product-band .products {
  margin-bottom: 0;
}

.vtm-build-entry {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, .5fr);
  gap: 36px;
  align-items: center;
  margin-top: 44px;
  margin-bottom: 58px;
  padding: 34px 36px;
  background: #0d1519;
  color: #fff;
}

.vtm-build-entry p {
  margin: 0;
  color: #d1d8dc;
}

.vtm-build-entry .vtm-eyebrow {
  margin-bottom: 8px;
  color: #67d2f4;
}

.vtm-build-entry__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  text-align: center;
}

.vtm-build-entry__actions .button,
.vtm-build-safety .button {
  border-radius: 2px;
  background: #12a9d6;
  color: #071014;
  font-weight: 700;
}

.vtm-build-entry .vtm-text-link {
  color: #fff;
}

.vtm-reference-section {
  padding: 44px 0 20px;
  border-top: 1px solid #e2e5e8;
}

.vtm-build-page .vtm-reference-section {
  width: 100%;
}

.vtm-reference-heading {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr);
  gap: 48px;
  align-items: end;
  margin-bottom: 22px;
}

.vtm-reference-heading h2 {
  margin: 0;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
}

.vtm-reference-heading > p {
  margin: 0;
  color: #596166;
  line-height: 1.6;
}

.vtm-reference-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.vtm-reference-card {
  min-width: 0;
  border: 1px solid #d9dee3;
  background: #fff;
}

.vtm-reference-card__image {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f2f4f5;
}

.vtm-reference-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vtm-reference-card__image > span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 5px 8px;
  border-radius: 2px;
  background: rgba(13, 21, 25, .9);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.vtm-reference-card__body {
  padding: 15px;
}

.vtm-reference-card__body h3 {
  margin: 5px 0 10px;
  font-size: 19px;
  line-height: 1.25;
}

.vtm-reference-card__notice,
.vtm-reference-card__pending {
  margin: 0;
  color: #596166;
  font-size: 13px;
  line-height: 1.45;
}

.vtm-reference-products {
  margin: 12px 0;
  padding: 0;
  list-style: none;
}

.vtm-reference-products li {
  padding: 8px 0;
  border-top: 1px solid #e5e8ea;
}

.vtm-reference-products li > a,
.vtm-reference-products li > span {
  display: block;
}

.vtm-reference-products li > a {
  color: #006f97;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.vtm-reference-products li > span {
  margin-top: 2px;
  color: #101315;
  font-size: 12px;
}

.vtm-reference-card__pending {
  padding-top: 10px;
  border-top: 1px solid #e5e8ea;
}

.vtm-build-page {
  padding: 54px 0 70px;
}

.vtm-build-hero {
  max-width: 800px;
  padding: 26px 0 42px;
}

.vtm-build-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(38px, 6vw, 72px);
  line-height: 1.02;
}

.vtm-build-hero > p:last-child {
  max-width: 720px;
  font-size: 18px;
  line-height: 1.65;
}

.vtm-set-types,
.vtm-build-safety,
.vtm-component-list {
  padding: 34px 0;
  border-top: 1px solid #dce1e4;
}

.vtm-set-types__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.vtm-set-types__grid > div {
  padding: 18px 0;
  border-top: 3px solid #101315;
}

.vtm-set-types__grid strong,
.vtm-set-types__grid span {
  display: block;
}

.vtm-set-types__grid span {
  margin-top: 7px;
  color: #596166;
  line-height: 1.5;
}

.vtm-build-review-state {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  margin: 26px 0 38px;
  padding: 32px;
  background: #eef3f5;
}

.vtm-build-review-state h2,
.vtm-build-review-state p {
  margin: 0;
}

.vtm-build-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding: 28px 0 46px;
}

.vtm-build-card {
  border: 1px solid #d9dee3;
  background: #fff;
}

.vtm-build-card__image {
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f2f4f5;
}

.vtm-build-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vtm-build-card__body {
  padding: 18px;
}

.vtm-build-card__body h2 {
  margin: 4px 0 8px;
  font-size: 22px;
}

.vtm-build-card__meta,
.vtm-component-card__slot {
  color: #007aa3;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.vtm-build-detail__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: 46px;
  align-items: center;
  padding: 20px 0 46px;
}

.vtm-build-detail__image img {
  width: 100%;
  height: auto;
}

.vtm-build-notice {
  padding: 14px 16px;
  border-left: 3px solid #12a9d6;
  background: #eef8fb;
}

.vtm-component-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.vtm-component-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border-top: 1px solid #dce1e4;
  padding: 16px 0;
}

.vtm-component-card img {
  width: 112px;
  height: 112px;
  object-fit: cover;
}

.vtm-component-card h3,
.vtm-component-card p {
  margin: 4px 0;
}

@media (max-width: 820px) {
  .vtm-family-grid,
  .vtm-reference-grid,
  .vtm-build-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vtm-reference-heading {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .vtm-build-entry,
  .vtm-build-review-state,
  .vtm-build-detail__top {
    grid-template-columns: 1fr;
  }

  .vtm-set-types__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .vtm-collection-band,
  .vtm-product-band,
  .vtm-build-entry,
  .vtm-reference-section,
  .vtm-build-page {
    width: min(100% - 24px, 1180px);
  }

  .vtm-collection-band {
    padding-top: 34px;
  }

  .vtm-family-grid,
  .vtm-reference-grid,
  .vtm-build-grid {
    gap: 10px;
  }

  .vtm-family-card__body {
    padding: 12px;
  }

  .vtm-family-card__body h3 {
    font-size: 16px;
  }

  .vtm-family-card__body p {
    min-height: 0;
    font-size: 13px;
  }

  .vtm-product-band {
    padding-top: 24px;
  }

  .vtm-reference-section {
    padding-top: 30px;
  }

  .vtm-reference-card__body {
    padding: 11px;
  }

  .vtm-reference-card__body h3 {
    font-size: 16px;
  }

  .vtm-reference-card__notice,
  .vtm-reference-card__pending,
  .vtm-reference-products li > a {
    font-size: 12px;
  }

  .vtm-product-band__heading {
    align-items: start;
    gap: 10px;
  }

  .vtm-build-entry {
    gap: 22px;
    margin-top: 28px;
    padding: 24px 20px;
  }

  .vtm-build-hero {
    padding-top: 12px;
  }

  .vtm-build-hero h1 {
    font-size: 40px;
  }

  .vtm-component-grid {
    grid-template-columns: 1fr;
  }
}
