/* Homepage surface. No catalog or shared-shell ownership here. */
.tm-home { overflow: clip; }
.tm-home__hero-shell { position: relative; padding-top: .625rem; }
.tm-hero { position: relative; overflow: hidden; background: var(--mv2-color-brand-900); }
.tm-hero__slide { position: relative; min-height: 28.125rem; }
.tm-hero__image { width: 100%; height: 28.125rem; object-fit: cover; object-position: center; }
.tm-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(0 30 54 / .82) 0%, rgb(0 30 54 / .3) 40%, transparent 64%); }
.tm-hero__content { position: absolute; top: 50%; left: clamp(2rem, 6vw, 5.75rem); display: flex; width: min(31rem, 43%); transform: translateY(-50%); flex-direction: column; align-items: flex-start; color: var(--mv2-color-white); }
.tm-hero__title { color: inherit; font-size: clamp(2.5rem, 4.5vw, 4.7rem); font-weight: 700; line-height: .95; }
.tm-hero__lead { margin-top: .9rem; font-size: clamp(1.25rem, 2.2vw, 2rem); font-weight: 600; line-height: 1.15; }
.tm-hero__detail { max-width: 28rem; margin-top: .85rem; font-size: 1rem; }
.tm-hero__cta { display: inline-flex; align-items: center; min-height: 2.75rem; margin-top: 1.5rem; padding: .65rem 1.5rem; background: var(--mv2-color-accent-600); color: #fff; font-size: .875rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.tm-hero__cta:hover { background: var(--mv2-color-accent-700); color: #fff; }

.tm-benefits { position: relative; z-index: 2; display: grid; width: calc(100% - 5rem); min-height: 6.5rem; margin: -2.5rem auto 0; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--mv2-color-brand-900); color: #fff; box-shadow: var(--mv2-shadow-md); }
.tm-benefits__item { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1.25rem 2rem; border-right: 1px solid rgb(255 255 255 / .16); }
.tm-benefits__item:last-child { border-right: 0; }
.tm-benefits__icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; color: #56b5ef; font-size: 2rem; }
.tm-benefits strong, .tm-benefits small { display: block; }
.tm-benefits strong { font-size: 1.125rem; }
.tm-benefits small { margin-top: .15rem; color: rgb(255 255 255 / .72); font-size: .875rem; }

.tm-home-section { padding-top: 5.5rem; }
.tm-home-heading { margin-bottom: 2rem; text-align: center; }
.tm-home-heading h2 { margin: 0; font-size: clamp(1.75rem, 2.6vw, 2.4rem); }
.tm-home-heading p { margin: .55rem 0 0; color: var(--mv2-color-muted); }
.tm-home-heading--row { display: flex; align-items: end; justify-content: space-between; text-align: left; }

.tm-home-categories { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--mv2-color-line); border-left: 1px solid var(--mv2-color-line); }
.tm-home-category { display: flex; min-width: 0; min-height: 18.5rem; padding: 1.5rem 1rem; flex-direction: column; align-items: center; justify-content: flex-end; border-right: 1px solid var(--mv2-color-line); border-bottom: 1px solid var(--mv2-color-line); color: var(--mv2-color-ink); text-align: center; text-decoration: none; transition: box-shadow .18s ease, transform .18s ease; }
.tm-home-category:hover { position: relative; z-index: 1; color: var(--mv2-color-brand-700); box-shadow: var(--mv2-shadow-md); transform: translateY(-.2rem); }
.tm-home-category__media { display: grid; width: 100%; min-height: 11.25rem; place-items: center; }
.tm-home-category__media img { width: 10rem; height: 10rem; object-fit: contain; }
.tm-home-category strong { min-height: 2.6em; font-size: 1.05rem; line-height: 1.3; }
.tm-home-category > span:last-child { margin-top: .4rem; color: var(--mv2-color-brand-700); font-size: .75rem; font-weight: 700; text-transform: uppercase; }

.tm-home-section--products { margin-top: 5.5rem; padding: 4.5rem 0; background: var(--mv2-color-soft); }
.tm-home-carousel__controls { display: flex; gap: .5rem; }
.tm-home-carousel__controls button { width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--mv2-color-line); background: #fff; color: var(--mv2-color-ink); font-size: 1.25rem; }
.tm-home-products { display: grid; overflow-x: auto; grid-auto-columns: calc((100% - 3rem) / 4); grid-auto-flow: column; gap: 1rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tm-home-products::-webkit-scrollbar { display: none; }
.tm-home-product { display: flex; min-width: 0; min-height: 30rem; flex-direction: column; background: #fff; border: 1px solid var(--mv2-color-line); scroll-snap-align: start; }
.tm-home-product__media { display: grid; min-height: 18rem; padding: 1rem; place-items: center; }
.tm-home-product__media img { width: 16rem; height: 16rem; object-fit: contain; transition: transform .2s ease; }
.tm-home-product:hover .tm-home-product__media img { transform: scale(1.035); }
.tm-home-product__body { display: flex; padding: .5rem 1.25rem 1.25rem; flex: 1; flex-direction: column; }
.tm-home-product__code { color: #8a8c8e; font-size: .7rem; }
.tm-home-product h3 { min-height: 3.75rem; margin: .4rem 0 .6rem; font-size: 1rem; line-height: 1.25; }
.tm-home-product h3 a { display: -webkit-box; overflow: hidden; color: inherit; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.tm-home-product__stock { color: var(--mv2-color-success); font-size: .875rem; font-weight: 600; }
.tm-home-product__stock span { font-size: .6rem; }
.tm-home-product__buy { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 1rem; }
.tm-home-product__price { color: var(--mv2-color-ink); font-size: 1.25rem; white-space: nowrap; }
.tm-home-product__cart { min-height: 2.5rem; padding: .45rem 1rem; border: 0; background: var(--mv2-color-accent-600); color: #fff; font-size: .875rem; font-weight: 700; text-transform: uppercase; }
.tm-home-product__cart:hover { background: var(--mv2-color-accent-700); }

.tm-home-about { display: grid; align-items: center; padding-top: 7rem; grid-template-columns: .83fr 1.4fr; gap: 4rem; }
.tm-home-eyebrow { color: var(--mv2-color-brand-700); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tm-home-about h2 { margin: .65rem 0 1.25rem; font-size: clamp(2rem, 3.2vw, 3rem); }
.tm-home-about p { margin: 0 0 1rem; line-height: 1.75; }
.tm-home-about .mv2-button { margin-top: .75rem; }
.tm-home-about__visual { position: relative; }
.tm-home-about__visual > img { width: 100%; height: auto; }
.tm-home-about__badge { position: absolute; display: flex; width: 18%; aspect-ratio: 1; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-size: clamp(.6rem, 1.15vw, 1rem); line-height: 1.25; text-align: center; }
.tm-home-about__badge strong { display: block; color: inherit; font-size: clamp(1.2rem, 2.4vw, 2.25rem); }
.tm-home-about__badge--stock { top: 12%; left: 0; background: #0874be; }
.tm-home-about__badge--years { right: 11.6%; bottom: 0; background: var(--mv2-color-accent-600); }

.tm-home-section--guides { margin-top: 6rem; padding: 5rem 0; background: #f7f7f7; }
.tm-home-guides { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.tm-home-guide { position: relative; display: flex; min-height: 20rem; padding: 1.5rem; overflow: hidden; flex-direction: column; justify-content: flex-end; background: var(--mv2-color-brand-900); color: #fff; text-decoration: none; }
.tm-home-guide::before { position: absolute; inset: 0; background: radial-gradient(circle at 76% 22%, rgb(71 182 238 / .65), transparent 27%), linear-gradient(145deg, #064f82, #001f37); content: ""; transition: transform .25s ease; }
.tm-home-guide--two::before { background: radial-gradient(circle at 32% 23%, rgb(245 31 44 / .55), transparent 23%), linear-gradient(145deg, #102a40, #01070c); }
.tm-home-guide--three::before { background: radial-gradient(circle at 74% 25%, rgb(65 173 43 / .5), transparent 25%), linear-gradient(145deg, #06465d, #001f37); }
.tm-home-guide--four::before { background: radial-gradient(circle at 30% 24%, rgb(255 198 66 / .48), transparent 24%), linear-gradient(145deg, #263745, #08131c); }
.tm-home-guide:hover::before { transform: scale(1.04); }
.tm-home-guide span, .tm-home-guide strong { position: relative; z-index: 1; }
.tm-home-guide span { color: rgb(255 255 255 / .72); font-size: .75rem; text-transform: uppercase; }
.tm-home-guide strong { margin-top: .4rem; color: inherit; font-size: 1.4rem; line-height: 1.2; }

.tm-home-section--articles { padding-bottom: 5.5rem; }
.tm-home-articles__heading { margin-bottom: 2.5rem; }
.tm-home-articles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--mv2-color-line); border-left: 1px solid var(--mv2-color-line); }
.tm-home-article { display: flex; min-width: 0; flex-direction: column; border-right: 1px solid var(--mv2-color-line); border-bottom: 1px solid var(--mv2-color-line); background: #fff; }
.tm-home-article__media { display: block; overflow: hidden; aspect-ratio: 500 / 335; background: var(--mv2-color-soft); }
.tm-home-article__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .22s ease; }
.tm-home-article:hover .tm-home-article__media img { transform: scale(1.025); }
.tm-home-article__body { display: flex; min-height: 14.75rem; padding: 1.5rem; flex: 1; flex-direction: column; }
.tm-home-article h3 { margin: 0; font-size: 1.125rem; line-height: 1.35; }
.tm-home-article h3 a { display: -webkit-box; overflow: hidden; color: var(--mv2-color-ink); text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.tm-home-article h3 a:hover { color: var(--mv2-color-brand-700); }
.tm-home-article p { display: -webkit-box; overflow: hidden; margin: .9rem 0 1.25rem; color: var(--mv2-color-muted); font-size: .875rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.tm-home-article__link { display: inline-flex; align-items: center; gap: .45rem; margin-top: auto; color: var(--mv2-color-accent-600); font-size: 1rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.tm-home-article__link:hover { color: var(--mv2-color-accent-700); }
.tm-home-article__link span { font-size: 1rem; transition: transform .18s ease; }
.tm-home-article__link:hover span { transform: translateX(.2rem); }
.tm-home-articles__footer { display: flex; justify-content: center; margin-top: 2rem; }

.tm-home-proof { padding: 5.5rem 0; background: var(--mv2-color-brand-700); color: #fff; }
.tm-home-proof h2 { margin: 0 0 2.25rem; color: #fff; text-align: center; }
.tm-home-proof__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tm-home-proof__grid > div { padding: 1rem 2rem; border-right: 1px solid rgb(255 255 255 / .25); text-align: center; }
.tm-home-proof__grid > div:last-child { border-right: 0; }
.tm-home-proof__grid strong, .tm-home-proof__grid span { display: block; }
.tm-home-proof__grid strong { color: inherit; font-size: 1.55rem; }
.tm-home-proof__grid span { margin-top: .3rem; color: rgb(255 255 255 / .75); font-size: .875rem; }

@media (max-width: 64rem) {
  .tm-home__hero-shell { padding-top: 0; }
  .tm-hero__slide, .tm-hero__image { min-height: 25rem; height: 25rem; }
  .tm-hero__content { left: 2.5rem; width: 48%; }
  .tm-benefits { width: calc(100% - 2rem); }
  .tm-benefits__item { padding-inline: 1rem; }
  .tm-home-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tm-home-products { grid-auto-columns: calc((100% - 2rem) / 3); }
  .tm-home-about { grid-template-columns: 1fr; gap: 2.5rem; }
  .tm-home-about__copy { max-width: 45rem; }
  .tm-home-guides { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-home-proof__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-home-proof__grid > div:nth-child(2) { border-right: 0; }
}

@media (min-width: 48rem) and (max-width: 61.99rem) {
  .tm-home-articles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tm-home-article:nth-child(n + 4) { display: none; }
}

@media (max-width: 47.99rem) {
  .tm-hero__slide, .tm-hero__image { min-height: 22rem; height: 22rem; }
  .tm-hero__image { object-position: 58% center; }
  .tm-hero__shade { background: linear-gradient(90deg, rgb(0 30 54 / .92), rgb(0 30 54 / .48) 68%, transparent); }
  .tm-hero__content { left: 1.5rem; width: 58%; }
  .tm-hero__detail { display: none; }
  .tm-benefits { width: calc(100% - 1.25rem); margin-top: -1rem; grid-template-columns: 1fr; }
  .tm-benefits__item { min-height: 4.75rem; justify-content: flex-start; padding: .8rem 1.25rem; border-right: 0; border-bottom: 1px solid rgb(255 255 255 / .16); }
  .tm-benefits__item:last-child { border-bottom: 0; }
  .tm-home-section { padding-top: 4rem; }
  .tm-home-section--products { margin-top: 4rem; padding: 3.5rem 0; }
  .tm-home-products { grid-auto-columns: calc((100% - 1rem) / 2); }
  .tm-home-product__media { min-height: 13rem; }
  .tm-home-product__media img { width: 12rem; height: 12rem; }
  .tm-home-about { padding-top: 5rem; }
  .tm-home-section--guides { margin-top: 4rem; }
  .tm-home-section--articles { padding-bottom: 4rem; }
  .tm-home-articles { grid-template-columns: 1fr; }
  .tm-home-article:nth-child(n + 4) { display: flex; }
  .tm-home-article__body { min-height: 13.5rem; }
  .tm-home-article h3 { font-size: 1rem; }
  .tm-home-article__link { font-size: .875rem; }
}

@media (max-width: 35.99rem) {
  .tm-hero__slide, .tm-hero__image { min-height: 24rem; height: 24rem; }
  .tm-hero__image { object-position: 66% center; }
  .tm-hero__content { top: auto; bottom: 2rem; left: 1.25rem; width: 76%; transform: none; }
  .tm-hero__title { font-size: 2.7rem; }
  .tm-hero__lead { font-size: 1.15rem; }
  .tm-hero__cta { margin-top: 1rem; }
  .tm-home-heading--row { align-items: flex-end; }
  .tm-home-heading--row p { display: none; }
  .tm-home-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-home-category { min-height: 13rem; padding: 1rem .5rem; }
  .tm-home-category__media { min-height: 7.75rem; }
  .tm-home-category__media img { width: 7rem; height: 7rem; }
  .tm-home-category strong { font-size: 1rem; }
  .tm-home-products { grid-auto-columns: 86%; }
  .tm-home-product { min-height: 27rem; }
  .tm-home-product__media { min-height: 16rem; }
  .tm-home-product__media img { width: 14rem; height: 14rem; }
  .tm-home-about { gap: 2rem; }
  .tm-home-about__visual { width: 116%; margin-left: -8%; }
  .tm-home-about__badge { width: 21%; font-size: .55rem; }
  .tm-home-about__badge strong { font-size: 1.05rem; }
  .tm-home-guides { grid-template-columns: 1fr; }
  .tm-home-guide { min-height: 15rem; }
  .tm-home-proof__grid { grid-template-columns: 1fr; }
  .tm-home-proof__grid > div { border-right: 0; border-bottom: 1px solid rgb(255 255 255 / .25); }
  .tm-home-proof__grid > div:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .tm-home-products { scroll-behavior: auto; }
  .tm-home-category, .tm-home-product__media img, .tm-home-guide::before, .tm-home-article__media img, .tm-home-article__link span { transition: none; }
}
