/* =========================================================
   THUNDERMONKEY HOMEPAGE PRODUCT FLOW
   v0.3.2
   ========================================================= */

.tm-home-products {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--tm-off-white, #f7f6f1);
  color: var(--tm-black, #111);
}

.tm-home-products > .tm-container-wide {
  position: relative;
  z-index: 2;
}

/* Header */
.tm-home-products__header {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .58fr);
  gap: clamp(44px, 7vw, 110px);
  align-items: end;
  padding: clamp(46px, 5vw, 68px) 0 clamp(28px, 3vw, 40px);
}

.tm-home-products__heading h2 {
  max-width: 850px;
  margin: 0;
  color: var(--tm-black, #111);
  font-family: var(--tm-heading-font, sans-serif);
  font-size: clamp(48px, 5.2vw, 78px);
  font-weight: 900;
  line-height: .89;
  letter-spacing: -.038em;
  text-transform: uppercase;
}

.tm-home-products__heading h2 span {
  display: block;
  color: var(--tm-blue, #164f73);
}

.tm-home-products__intro {
  max-width: 460px;
  justify-self: end;
  padding-left: clamp(22px, 3vw, 40px);
  border-left: 1px solid rgba(17,17,17,.18);
}

.tm-home-products__intro p {
  margin: 0;
  color: var(--tm-dark-grey, #4b4b4b);
  font-size: clamp(17px, 1.2vw, 19px);
  line-height: 1.5;
}

.tm-home-products__archive-link {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 12px;
  margin-top: 17px;
  color: var(--tm-black, #111);
  font-family: var(--tm-heading-font, sans-serif);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.tm-home-products__archive-link::before {
  content: '';
  width: 31px;
  height: 3px;
  background: var(--tm-yellow, #f5b800);
  transition: width var(--tm-transition, .2s ease);
}

.tm-home-products__archive-link span:last-child {
  color: var(--tm-blue, #164f73);
  transition: transform var(--tm-transition, .2s ease);
}

.tm-home-products__archive-link:hover::before { width: 46px; }
.tm-home-products__archive-link:hover span:last-child { transform: translateX(5px); }

/* New arrivals runway */
.tm-home-products__new {
  position: relative;
  overflow: hidden;
  background: var(--tm-charcoal, #232323);
  color: #fff;
}

.tm-home-products__new::before {
  content: 'NEW';
  position: absolute;
  top: 48%;
  left: 50%;
  z-index: 0;
  color: rgba(255,255,255,.025);
  font-family: var(--tm-heading-font, sans-serif);
  font-size: clamp(170px, 23vw, 360px);
  font-weight: 900;
  line-height: .7;
  letter-spacing: -.07em;
  transform: translate(-50%,-50%);
  pointer-events: none;
}

.tm-home-products__new-top,
.tm-home-products__new-bottom {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 42px;
  align-items: center;
  gap: 16px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.46);
  font-family: var(--tm-mono-font, monospace);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.tm-home-products__new-top span:first-child { color: var(--tm-yellow, #f5b800); }
.tm-home-products__new-top span:nth-child(2) { text-align: center; }
.tm-home-products__new-top span:last-child { text-align: right; }

.tm-home-products__new-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
}

.tm-home-products__new-item {
  position: relative;
  display: grid;
  grid-template-rows: minmax(290px,1fr) auto;
  min-width: 0;
  min-height: 458px;
  padding: 18px 16px 22px;
  color: #fff;
  overflow: hidden;
}

.tm-home-products__new-item:not(:first-child)::before {
  content: '';
  position: absolute;
  top: 8%;
  bottom: 8%;
  left: 0;
  width: 1px;
  background: rgba(255,255,255,.11);
}

.tm-home-products__new-item::after {
  content: '';
  position: absolute;
  top: 18px;
  left: 16px;
  width: 24px;
  height: 3px;
  background: var(--tm-yellow, #f5b800);
  transition: width var(--tm-transition, .2s ease);
}

.tm-home-products__new-item:hover::after { width: 52px; }

.tm-home-products__new-number {
  position: absolute;
  top: 17px;
  right: 16px;
  z-index: 5;
  color: rgba(255,255,255,.42);
  font-family: var(--tm-mono-font, monospace);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .13em;
}

.tm-home-products__new-visual {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 28px 4px 12px;
}

.tm-home-products__new-visual::after {
  content: '';
  position: absolute;
  right: 14%;
  bottom: 12%;
  left: 14%;
  height: 1px;
  background: rgba(255,255,255,.1);
}

.tm-home-products__image {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform var(--tm-transition-slow, .35s ease), opacity .18s ease;
}

.tm-home-products__new-image {
  width: 112%;
  max-width: none;
  height: 100%;
  max-height: 325px;
  filter: drop-shadow(0 16px 20px rgba(0,0,0,.28));
}

.tm-home-products__new-item:hover .tm-home-products__new-image {
  transform: translateY(-6px) scale(1.025);
}

.tm-home-products__new-copy {
  position: relative;
  z-index: 4;
  min-width: 0;
  padding-top: 15px;
}

.tm-home-products__label {
  display: block;
  margin-bottom: 8px;
  color: var(--tm-yellow, #f5b800);
  font-family: var(--tm-mono-font, monospace);
  font-size: 7px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.tm-home-products__new-copy h3 {
  min-height: 2em;
  margin: 0;
  color: #fff;
  font-family: var(--tm-heading-font, sans-serif);
  font-size: clamp(20px,1.55vw,26px);
  font-weight: 900;
  line-height: .96;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.tm-home-products__new-action {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  margin-top: 10px;
  color: rgba(255,255,255,.66);
  font-family: var(--tm-heading-font, sans-serif);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.tm-home-products__new-action span { color: var(--tm-yellow, #f5b800); }

.tm-home-products__new-bottom {
  display: flex;
  justify-content: flex-end;
  gap: 26px;
  border-top: 1px solid rgba(255,255,255,.13);
  border-bottom: 0;
  background: var(--tm-black, #111);
  font-size: 7px;
}

.tm-home-products__new-bottom span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tm-home-products__new-bottom span::before {
  content: '';
  width: 11px;
  height: 1px;
  background: var(--tm-yellow, #f5b800);
}

/* Featured products */
.tm-home-products__feature {
  position: relative;
  display: grid;
  min-height: 560px;
  align-items: center;
  overflow: hidden;
}

.tm-home-products__feature--surf {
  grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr);
  gap: clamp(34px,5vw,72px);
  padding: clamp(52px,6vw,86px) clamp(28px,5vw,72px);
  background: var(--tm-blue-dark, #0c3957);
  color: #fff;
}

.tm-home-products__feature--sup {
  grid-template-columns: minmax(0,1.08fr) minmax(320px,.92fr);
  gap: clamp(34px,5vw,72px);
  padding: clamp(52px,6vw,86px) clamp(28px,5vw,72px);
  background: var(--tm-yellow-soft, #fff0b5);
  color: var(--tm-black, #111);
}

.tm-home-products__feature-copy {
  position: relative;
  z-index: 3;
  max-width: 560px;
}

.tm-home-products__feature-copy h3 {
  margin: 0;
  font-family: var(--tm-heading-font, sans-serif);
  font-size: clamp(48px,5vw,76px);
  font-weight: 900;
  line-height: .89;
  letter-spacing: -.038em;
  text-transform: uppercase;
}

.tm-home-products__feature--surf .tm-home-products__feature-copy h3 { color: #fff; }
.tm-home-products__feature--sup .tm-home-products__feature-copy h3 { color: var(--tm-blue-dark, #0c3957); }
.tm-home-products__feature--sup .tm-home-products__label { color: var(--tm-blue, #164f73); }

.tm-home-products__feature-copy p {
  max-width: 530px;
  margin: 20px 0 0;
  font-size: clamp(16px,1.2vw,19px);
  line-height: 1.5;
}

.tm-home-products__feature--surf .tm-home-products__feature-copy p { color: rgba(255,255,255,.74); }
.tm-home-products__feature--sup .tm-home-products__feature-copy p { color: var(--tm-dark-grey, #4b4b4b); }

.tm-home-products__feature-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
  margin-top: 25px;
}

.tm-home-products__feature-primary,
.tm-home-products__feature-secondary {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  font-family: var(--tm-heading-font, sans-serif);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.tm-home-products__feature--surf .tm-home-products__feature-primary,
.tm-home-products__feature--surf .tm-home-products__feature-secondary { color: #fff; }
.tm-home-products__feature--sup .tm-home-products__feature-primary { color: var(--tm-black, #111); }
.tm-home-products__feature--sup .tm-home-products__feature-secondary { color: var(--tm-blue, #164f73); }
.tm-home-products__feature-primary span:last-child { color: var(--tm-yellow, #f5b800); }
.tm-home-products__feature--sup .tm-home-products__feature-primary span:last-child { color: var(--tm-blue, #164f73); }

.tm-home-products__feature-media {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 430px;
  align-items: center;
  justify-content: center;
}

.tm-home-products__feature-media::before {
  content: '';
  position: absolute;
  width: min(78%,520px);
  aspect-ratio: 1/1;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .12;
}

.tm-home-products__feature-image {
  width: min(90%,720px);
  max-height: 500px;
  filter: drop-shadow(0 22px 28px rgba(0,0,0,.2));
}

.tm-home-products__feature-media:hover .tm-home-products__feature-image {
  transform: translateY(-7px) scale(1.025);
}

/* JS processing state */
.tm-home-products__image.tm-hpf-bg-processing { opacity: 0; }
.tm-home-products__image.tm-hpf-bg-ready { opacity: 1; }

.tm-home-products__empty {
  margin: 0;
  padding: 24px 0;
  color: var(--tm-dark-grey, #4b4b4b);
}

.tm-home-products a:focus-visible {
  outline: 3px solid var(--tm-yellow, #f5b800);
  outline-offset: 4px;
}

@media (max-width: 1080px) {
  .tm-home-products__new-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-home-products__new-item:nth-child(odd)::before { display: none; }
  .tm-home-products__new-item:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.11); }
  .tm-home-products__new-item:last-child { grid-column: 1/-1; }
  .tm-home-products__new-item:last-child .tm-home-products__new-visual { max-width: 500px; width: 100%; justify-self: center; }
}

@media (max-width: 960px) {
  .tm-home-products__header { grid-template-columns: 1fr; gap: 20px; }
  .tm-home-products__intro { max-width: 650px; justify-self: start; padding-top: 20px; padding-left: 0; border-top: 1px solid rgba(17,17,17,.18); border-left: 0; }
  .tm-home-products__feature--surf,
  .tm-home-products__feature--sup { grid-template-columns: 1fr 1fr; min-height: 500px; }
}

@media (max-width: 767px) {
  .tm-home-products__header { padding: 39px 0 24px; }
  .tm-home-products__heading h2 { font-size: clamp(40px,11vw,54px); line-height: .91; }
  .tm-home-products__intro p { font-size: 17px; }
  .tm-home-products__new-top { grid-template-columns: 1fr 1fr; font-size: 7px; }
  .tm-home-products__new-top span:nth-child(2) { display: none; }
  .tm-home-products__new-grid { grid-template-columns: 1fr; }
  .tm-home-products__new-item,
  .tm-home-products__new-item:last-child {
    grid-column: auto;
    grid-template-columns: minmax(130px,.78fr) minmax(0,1.22fr);
    grid-template-rows: 1fr;
    gap: 16px;
    min-height: 220px;
    align-items: center;
  }
  .tm-home-products__new-item:not(:first-child) { border-top: 1px solid rgba(255,255,255,.11); }
  .tm-home-products__new-item::before { display: none; }
  .tm-home-products__new-visual,
  .tm-home-products__new-item:last-child .tm-home-products__new-visual { width: 100%; height: 180px; padding: 14px 0; }
  .tm-home-products__new-image { width: 115%; height: 100%; max-height: 180px; }
  .tm-home-products__new-copy h3 { min-height: 0; font-size: 23px; }
  .tm-home-products__new-bottom { justify-content: flex-start; }

  .tm-home-products__feature,
  .tm-home-products__feature--surf,
  .tm-home-products__feature--sup {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 24px;
    padding: 40px 22px;
  }
  .tm-home-products__feature--sup .tm-home-products__feature-media { order: 2; }
  .tm-home-products__feature--sup .tm-home-products__feature-copy { order: 1; }
  .tm-home-products__feature-copy h3 { font-size: clamp(40px,11vw,54px); }
  .tm-home-products__feature-media { min-height: 300px; }
  .tm-home-products__feature-image { max-height: 310px; }
}

@media (prefers-reduced-motion: reduce) {
  .tm-home-products__image,
  .tm-home-products__archive-link::before,
  .tm-home-products__archive-link span { transition: none !important; }
}





/* =========================================================
   v0.3.4 — REFINED FEATURED PRODUCT INTEGRATION

   Keep the action photography as the hero of each banner.
   The product image becomes a compact editorial catalogue
   plate rather than a giant white square floating over it.
   ========================================================= */


/* =========================================================
   FEATURE SECTION CONTRAST
   ========================================================= */

.tm-home-products__feature {
  isolation: isolate !important;
}

.tm-home-products__feature::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tm-home-products__feature--surf::after {
  background:
    linear-gradient(
      90deg,
      rgba(4, 28, 45, 0.94) 0%,
      rgba(4, 28, 45, 0.84) 38%,
      rgba(4, 28, 45, 0.30) 68%,
      rgba(4, 28, 45, 0.12) 100%
    ) !important;
}

.tm-home-products__feature--sup::after {
  background:
    linear-gradient(
      90deg,
      rgba(4, 28, 45, 0.14) 0%,
      rgba(4, 28, 45, 0.34) 42%,
      rgba(4, 28, 45, 0.86) 68%,
      rgba(4, 28, 45, 0.96) 100%
    ) !important;
}


/* Copy always sits above overlay + photo */

.tm-home-products__feature-copy {
  position: relative !important;
  z-index: 5 !important;
}


/* Fix legacy dark-on-dark typography */

.tm-home-products__feature
.tm-home-products__feature-copy,
.tm-home-products__feature
.tm-home-products__feature-copy p,
.tm-home-products__feature
.tm-home-products__feature-copy h3,
.tm-home-products__feature
.tm-home-products__feature-primary,
.tm-home-products__feature
.tm-home-products__feature-secondary {
  color: #ffffff !important;
}

.tm-home-products__feature
.tm-home-products__label {
  color: var(--tm-yellow, #f5b800) !important;
}

.tm-home-products__feature
.tm-home-products__feature-copy p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.tm-home-products__feature
.tm-home-products__feature-primary span:last-child {
  color: var(--tm-yellow, #f5b800) !important;
}


/* Any old headline / strapline above the product label */

.tm-home-products__feature-copy > p:first-child {
  color: rgba(255, 255, 255, 0.72) !important;
}


/* =========================================================
   COMPACT PRODUCT PLATE
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-media,

.tm-home-products__feature
.tm-home-products__feature-visual,

.tm-home-products__feature
.tm-hpf-product-plate {
  position: relative !important;
  z-index: 5 !important;

  display: flex !important;

  width: min(31vw, 430px) !important;
  min-width: 320px !important;

  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 0.92 !important;

  align-items: center !important;
  justify-content: center !important;

  justify-self: center !important;

  padding:
    44px
    22px
    66px !important;

  overflow: hidden !important;

  border:
    1px solid rgba(17, 17, 17, 0.16) !important;

  border-top:
    5px solid var(--tm-yellow, #f5b800) !important;

  border-radius: 0 !important;

  background:
    #ffffff !important;

  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.24),
    11px 11px 0 rgba(245, 184, 0, 0.14) !important;

  clip-path: none !important;

  color:
    var(--tm-black, #111) !important;

  isolation: isolate !important;

  transform: none !important;
}


/* Paddleboard uses blue as secondary accent */

.tm-home-products__feature--sup
.tm-home-products__feature-media,

.tm-home-products__feature--sup
.tm-home-products__feature-visual,

.tm-home-products__feature--sup
.tm-hpf-product-plate {
  border-top-color:
    var(--tm-blue, #164f73) !important;

  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.24),
    11px 11px 0 rgba(22, 79, 115, 0.18) !important;
}


/* =========================================================
   PLATE HEADER
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-media::before,

.tm-home-products__feature
.tm-home-products__feature-visual::before,

.tm-home-products__feature
.tm-hpf-product-plate::before {
  content: 'SELECTED / SURF' !important;

  position: absolute !important;

  top: 17px !important;
  left: 20px !important;
  right: auto !important;
  bottom: auto !important;

  z-index: 8 !important;

  width: auto !important;
  height: auto !important;
  aspect-ratio: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;

  color:
    var(--tm-blue, #164f73) !important;

  opacity: 1 !important;

  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size: 7px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;

  transform: none !important;
}

.tm-home-products__feature--sup
.tm-home-products__feature-media::before,

.tm-home-products__feature--sup
.tm-home-products__feature-visual::before,

.tm-home-products__feature--sup
.tm-hpf-product-plate::before {
  content: 'SELECTED / PADDLE' !important;
}


/* simple technical marker, not more text */

.tm-home-products__feature
.tm-home-products__feature-media::after,

.tm-home-products__feature
.tm-home-products__feature-visual::after,

.tm-home-products__feature
.tm-hpf-product-plate::after {
  content: '' !important;

  position: absolute !important;

  top: 19px !important;
  right: 20px !important;
  left: auto !important;
  bottom: auto !important;

  z-index: 8 !important;

  width: 34px !important;
  height: 2px !important;

  background:
    var(--tm-yellow, #f5b800) !important;

  border: 0 !important;
  opacity: 1 !important;

  transform: none !important;
}

.tm-home-products__feature--sup
.tm-home-products__feature-media::after,

.tm-home-products__feature--sup
.tm-home-products__feature-visual::after {
  background:
    var(--tm-blue, #164f73) !important;
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-media
.tm-home-products__image,

.tm-home-products__feature
.tm-home-products__feature-visual
.tm-home-products__image,

.tm-home-products__feature
.tm-home-products__feature-image,

.tm-home-products__feature
.tm-hpf-framed-product-image {
  position: relative !important;
  z-index: 3 !important;

  display: block !important;

  width: 116% !important;
  max-width: none !important;

  height: 112% !important;
  max-height: 355px !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center !important;

  border: 0 !important;

  background: #ffffff !important;

  mix-blend-mode: normal !important;
  opacity: 1 !important;

  filter: none !important;

  transform: scale(1.05) !important;

  transition:
    transform var(--tm-transition-slow, 300ms ease) !important;
}


@media (hover: hover) and (pointer: fine) {

  .tm-home-products__feature
  .tm-home-products__feature-media:hover
  .tm-home-products__image,

  .tm-home-products__feature
  .tm-home-products__feature-visual:hover
  .tm-home-products__image {
    transform:
      translateY(-3px)
      scale(1.075) !important;
  }

}


/* =========================================================
   PLATE CAPTION
   ========================================================= */

.tm-hpf-plate-caption {
  position: absolute !important;

  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  z-index: 9 !important;

  display: flex !important;

  min-height: 48px !important;

  align-items: center !important;
  justify-content: space-between !important;

  gap: 16px !important;

  padding:
    10px
    18px !important;

  border-top:
    1px solid rgba(17, 17, 17, 0.14) !important;

  background:
    var(--tm-off-white, #f7f6f1) !important;

  color:
    var(--tm-black, #111) !important;
}


.tm-hpf-plate-caption__name {
  min-width: 0 !important;

  overflow: hidden !important;

  color:
    var(--tm-black, #111) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}


.tm-hpf-plate-caption__action {
  flex: 0 0 auto !important;

  color:
    var(--tm-blue, #164f73) !important;

  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size: 7px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}


.tm-hpf-plate-caption__action span {
  margin-left: 5px !important;

  color:
    var(--tm-yellow, #f5b800) !important;
}


/* =========================================================
   NEW ARRIVALS
   Keep subtle image mats, not oversized frames.
   ========================================================= */

.tm-home-products__new-visual {
  background:
    #ffffff !important;

  border:
    1px solid rgba(255, 255, 255, 0.14) !important;

  box-shadow:
    7px 8px 0 rgba(245, 184, 0, 0.08) !important;

  padding:
    12px !important;

  overflow:
    hidden !important;
}

.tm-home-products__new-image,
.tm-home-products__new-visual
.tm-home-products__image {
  width:
    100% !important;

  max-width:
    100% !important;

  height:
    100% !important;

  max-height:
    100% !important;

  object-fit:
    contain !important;

  background:
    #ffffff !important;

  mix-blend-mode:
    normal !important;

  opacity:
    1 !important;

  filter:
    none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1080px) {

  .tm-home-products__feature
  .tm-home-products__feature-media,

  .tm-home-products__feature
  .tm-home-products__feature-visual {
    width:
      min(36vw, 390px) !important;

    min-width:
      280px !important;

    padding:
      42px
      18px
      62px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .tm-home-products__feature::after {
    background:
      linear-gradient(
        180deg,
        rgba(4, 28, 45, 0.60) 0%,
        rgba(4, 28, 45, 0.88) 100%
      ) !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-media,

  .tm-home-products__feature
  .tm-home-products__feature-visual {
    width:
      min(84vw, 360px) !important;

    min-width:
      0 !important;

    aspect-ratio:
      1 / 0.94 !important;

    margin:
      0 auto !important;

    padding:
      40px
      16px
      60px !important;

    box-shadow:
      0 18px 38px rgba(0, 0, 0, 0.20),
      8px 8px 0 rgba(245, 184, 0, 0.12) !important;
  }


  .tm-home-products__feature--sup
  .tm-home-products__feature-media,

  .tm-home-products__feature--sup
  .tm-home-products__feature-visual {
    box-shadow:
      0 18px 38px rgba(0, 0, 0, 0.20),
      8px 8px 0 rgba(22, 79, 115, 0.14) !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-media
  .tm-home-products__image,

  .tm-home-products__feature
  .tm-home-products__feature-visual
  .tm-home-products__image {
    width:
      112% !important;

    height:
      108% !important;

    max-height:
      290px !important;
  }


  .tm-hpf-plate-caption {
    padding:
      9px
      14px !important;
  }


  .tm-hpf-plate-caption__name {
    font-size:
      12px !important;
  }


  .tm-hpf-plate-caption__action {
    font-size:
      6px !important;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .tm-home-products__feature
  .tm-home-products__image {
    transition:
      none !important;
  }

}


/* =========================================================
   v0.3.5 — PROFESSIONAL FEATURE BANNER POLISH

   Final visual pass for the two featured product banners:
   - clean white typography over photography
   - restrained accent colour
   - tighter product plate
   - improved spacing / hierarchy
   - professional CTA treatment
   - no dark-on-dark text
   ========================================================= */


/* =========================================================
   FEATURE BANNER BASE
   ========================================================= */

.tm-home-products__feature {
  position: relative !important;
  isolation: isolate !important;

  min-height: clamp(560px, 48vw, 720px) !important;

  overflow: hidden !important;

  background-color:
    var(--tm-blue-dark, #0c3957) !important;
}


/* Keep action photo visible and sophisticated */

.tm-home-products__feature::before {
  content: '' !important;

  position: absolute !important;
  inset: 0 !important;

  z-index: 1 !important;

  background:
    linear-gradient(
      180deg,
      rgba(4, 26, 42, 0.08) 0%,
      rgba(4, 26, 42, 0.24) 100%
    ) !important;

  pointer-events: none !important;
}


/* Surf: copy left, lighter toward product visual/right */

.tm-home-products__feature--surf::after {
  content: '' !important;

  position: absolute !important;
  inset: 0 !important;

  z-index: 2 !important;

  background:
    linear-gradient(
      90deg,
      rgba(3, 27, 45, 0.97) 0%,
      rgba(3, 27, 45, 0.90) 27%,
      rgba(3, 27, 45, 0.68) 48%,
      rgba(3, 27, 45, 0.24) 70%,
      rgba(3, 27, 45, 0.10) 100%
    ) !important;

  pointer-events: none !important;
}


/* Paddle: product visual left, copy right */

.tm-home-products__feature--sup::after {
  content: '' !important;

  position: absolute !important;
  inset: 0 !important;

  z-index: 2 !important;

  background:
    linear-gradient(
      90deg,
      rgba(3, 27, 45, 0.12) 0%,
      rgba(3, 27, 45, 0.24) 28%,
      rgba(3, 27, 45, 0.64) 52%,
      rgba(3, 27, 45, 0.91) 72%,
      rgba(3, 27, 45, 0.98) 100%
    ) !important;

  pointer-events: none !important;
}


/* =========================================================
   COPY COLUMN
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-copy {
  position: relative !important;

  z-index: 8 !important;

  max-width: 600px !important;
}


/* Existing strapline above the feature label */

.tm-home-products__feature
.tm-home-products__feature-copy > p:first-child {
  max-width: 540px !important;

  margin:
    0
    0
    clamp(34px, 4vw, 52px) !important;

  color:
    rgba(255, 255, 255, 0.82) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    clamp(18px, 1.55vw, 23px) !important;

  font-weight:
    800 !important;

  line-height:
    1.23 !important;

  letter-spacing:
    -0.012em !important;

  text-transform:
    uppercase !important;

  text-shadow:
    0 2px 22px rgba(0, 0, 0, 0.18) !important;
}


/* =========================================================
   FEATURE LABEL
   ========================================================= */

.tm-home-products__feature
.tm-home-products__label {
  display: inline-flex !important;

  align-items: center !important;

  gap: 12px !important;

  margin:
    0
    0
    19px !important;

  color:
    rgba(255, 255, 255, 0.88) !important;

  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size:
    9px !important;

  font-weight:
    700 !important;

  line-height:
    1 !important;

  letter-spacing:
    0.16em !important;

  text-transform:
    uppercase !important;
}


.tm-home-products__feature
.tm-home-products__label::before {
  content: '' !important;

  display: block !important;

  width: 34px !important;
  height: 3px !important;

  flex: 0 0 34px !important;

  background:
    var(--tm-yellow, #f5b800) !important;
}


/* =========================================================
   FEATURE TITLE
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-copy h3 {
  max-width: 650px !important;

  margin:
    0 !important;

  color:
    #ffffff !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    clamp(54px, 5.4vw, 86px) !important;

  font-weight:
    900 !important;

  line-height:
    0.88 !important;

  letter-spacing:
    -0.044em !important;

  text-transform:
    uppercase !important;

  text-shadow:
    0 2px 28px rgba(0, 0, 0, 0.16) !important;
}


/* Prevent old section-specific blue title rules */

.tm-home-products__feature--sup
.tm-home-products__feature-copy h3,

.tm-home-products__feature--surf
.tm-home-products__feature-copy h3 {
  color:
    #ffffff !important;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-copy h3 + p {
  max-width: 570px !important;

  margin:
    24px
    0
    0 !important;

  color:
    rgba(255, 255, 255, 0.76) !important;

  font-size:
    clamp(16px, 1.2vw, 19px) !important;

  font-weight:
    400 !important;

  line-height:
    1.58 !important;

  letter-spacing:
    0 !important;

  text-transform:
    none !important;
}


/* =========================================================
   FEATURE ACTIONS
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-actions {
  display: flex !important;

  flex-wrap: wrap !important;

  gap:
    12px
    14px !important;

  align-items: center !important;

  margin-top:
    30px !important;
}


.tm-home-products__feature
.tm-home-products__feature-primary {
  display: inline-flex !important;

  min-height: 48px !important;

  align-items: center !important;

  gap: 10px !important;

  padding:
    0
    19px !important;

  border:
    1px solid var(--tm-yellow, #f5b800) !important;

  background:
    var(--tm-yellow, #f5b800) !important;

  color:
    var(--tm-black, #111) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    14px !important;

  font-weight:
    900 !important;

  line-height:
    1 !important;

  text-transform:
    uppercase !important;

  transition:
    transform var(--tm-transition, 220ms ease),
    background-color var(--tm-transition, 220ms ease) !important;
}


.tm-home-products__feature
.tm-home-products__feature-primary span {
  color:
    inherit !important;
}


.tm-home-products__feature
.tm-home-products__feature-primary:hover {
  background:
    #ffffff !important;

  border-color:
    #ffffff !important;

  color:
    var(--tm-black, #111) !important;

  transform:
    translateY(-2px) !important;
}


.tm-home-products__feature
.tm-home-products__feature-secondary {
  display: inline-flex !important;

  min-height: 48px !important;

  align-items: center !important;

  padding:
    0
    4px !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.42) !important;

  color:
    rgba(255, 255, 255, 0.86) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    14px !important;

  font-weight:
    800 !important;

  line-height:
    1 !important;

  text-transform:
    uppercase !important;

  transition:
    color var(--tm-transition, 220ms ease),
    border-color var(--tm-transition, 220ms ease) !important;
}


.tm-home-products__feature
.tm-home-products__feature-secondary:hover {
  color:
    #ffffff !important;

  border-bottom-color:
    var(--tm-yellow, #f5b800) !important;
}


/* =========================================================
   PRODUCT PLATE
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-media,

.tm-home-products__feature
.tm-home-products__feature-visual,

.tm-home-products__feature
.tm-hpf-product-plate {
  position: relative !important;

  z-index: 9 !important;

  display: flex !important;

  width:
    min(29vw, 405px) !important;

  min-width:
    300px !important;

  height:
    auto !important;

  min-height:
    0 !important;

  aspect-ratio:
    1 / 0.95 !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  justify-self:
    center !important;

  padding:
    43px
    18px
    57px !important;

  overflow:
    hidden !important;

  border:
    1px solid rgba(255, 255, 255, 0.58) !important;

  border-radius:
    2px !important;

  background:
    #ffffff !important;

  box-shadow:
    0 30px 70px rgba(0, 0, 0, 0.24) !important;

  clip-path:
    none !important;

  transform:
    none !important;
}


/* subtle top rule instead of decorative shapes */

.tm-home-products__feature
.tm-home-products__feature-media::before,

.tm-home-products__feature
.tm-home-products__feature-visual::before,

.tm-home-products__feature
.tm-hpf-product-plate::before {
  content: 'THUNDERMONKEY / SELECTED' !important;

  position:
    absolute !important;

  top:
    16px !important;

  left:
    18px !important;

  z-index:
    10 !important;

  width:
    auto !important;

  height:
    auto !important;

  padding:
    0 !important;

  border:
    0 !important;

  background:
    transparent !important;

  color:
    var(--tm-blue, #164f73) !important;

  opacity:
    1 !important;

  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size:
    6.5px !important;

  font-weight:
    700 !important;

  line-height:
    1 !important;

  letter-spacing:
    0.15em !important;

  text-transform:
    uppercase !important;

  transform:
    none !important;
}


.tm-home-products__feature
.tm-home-products__feature-media::after,

.tm-home-products__feature
.tm-home-products__feature-visual::after,

.tm-home-products__feature
.tm-hpf-product-plate::after {
  content: '' !important;

  position:
    absolute !important;

  top:
    18px !important;

  right:
    18px !important;

  z-index:
    10 !important;

  width:
    28px !important;

  height:
    2px !important;

  border:
    0 !important;

  background:
    var(--tm-yellow, #f5b800) !important;

  opacity:
    1 !important;

  transform:
    none !important;
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.tm-home-products__feature
.tm-home-products__feature-media
.tm-home-products__image,

.tm-home-products__feature
.tm-home-products__feature-visual
.tm-home-products__image,

.tm-home-products__feature
.tm-home-products__feature-image,

.tm-home-products__feature
.tm-hpf-framed-product-image {
  position:
    relative !important;

  z-index:
    3 !important;

  display:
    block !important;

  width:
    118% !important;

  max-width:
    none !important;

  height:
    112% !important;

  max-height:
    330px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  object-fit:
    contain !important;

  object-position:
    center !important;

  border:
    0 !important;

  background:
    #ffffff !important;

  mix-blend-mode:
    normal !important;

  opacity:
    1 !important;

  filter:
    none !important;

  transform:
    scale(1.06) !important;

  transition:
    transform var(--tm-transition-slow, 300ms ease) !important;
}


/* =========================================================
   PRODUCT PLATE CAPTION
   ========================================================= */

.tm-hpf-plate-caption {
  position:
    absolute !important;

  right:
    0 !important;

  bottom:
    0 !important;

  left:
    0 !important;

  z-index:
    11 !important;

  display:
    flex !important;

  min-height:
    46px !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  gap:
    12px !important;

  padding:
    9px
    16px !important;

  border-top:
    1px solid rgba(17, 17, 17, 0.12) !important;

  background:
    var(--tm-off-white, #f7f6f1) !important;

  color:
    var(--tm-black, #111) !important;
}


.tm-hpf-plate-caption__name {
  min-width:
    0 !important;

  overflow:
    hidden !important;

  color:
    var(--tm-black, #111) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    12px !important;

  font-weight:
    900 !important;

  line-height:
    1 !important;

  letter-spacing:
    -0.01em !important;

  text-overflow:
    ellipsis !important;

  text-transform:
    uppercase !important;

  white-space:
    nowrap !important;
}


.tm-hpf-plate-caption__action {
  flex:
    0 0 auto !important;

  color:
    var(--tm-blue, #164f73) !important;

  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size:
    6px !important;

  font-weight:
    700 !important;

  line-height:
    1 !important;

  letter-spacing:
    0.1em !important;

  text-transform:
    uppercase !important;

  white-space:
    nowrap !important;
}


.tm-hpf-plate-caption__action span {
  margin-left:
    4px !important;

  color:
    var(--tm-yellow, #f5b800) !important;
}


/* =========================================================
   FEATURE LAYOUT SPACING
   ========================================================= */

.tm-home-products__feature--surf {
  grid-template-columns:
    minmax(420px, 1.08fr)
    minmax(300px, 0.72fr) !important;

  gap:
    clamp(42px, 6vw, 92px) !important;

  padding:
    clamp(58px, 6vw, 88px)
    clamp(36px, 6vw, 92px) !important;
}


.tm-home-products__feature--sup {
  grid-template-columns:
    minmax(300px, 0.72fr)
    minmax(420px, 1.08fr) !important;

  gap:
    clamp(42px, 6vw, 92px) !important;

  padding:
    clamp(58px, 6vw, 88px)
    clamp(36px, 6vw, 92px) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

  .tm-home-products__feature--surf,
  .tm-home-products__feature--sup {
    grid-template-columns:
      1fr
      1fr !important;

    gap:
      36px !important;

    padding:
      52px
      36px !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-media,

  .tm-home-products__feature
  .tm-home-products__feature-visual {
    width:
      min(36vw, 360px) !important;

    min-width:
      270px !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-copy h3 {
    font-size:
      clamp(48px, 5.8vw, 68px) !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .tm-home-products__feature,
  .tm-home-products__feature--surf,
  .tm-home-products__feature--sup {
    grid-template-columns:
      1fr !important;

    gap:
      30px !important;

    min-height:
      0 !important;

    padding:
      42px
      22px
      46px !important;
  }


  .tm-home-products__feature--surf::after,
  .tm-home-products__feature--sup::after {
    background:
      linear-gradient(
        180deg,
        rgba(3, 27, 45, 0.74) 0%,
        rgba(3, 27, 45, 0.96) 100%
      ) !important;
  }


  .tm-home-products__feature--surf
  .tm-home-products__feature-copy {
    order:
      1 !important;
  }

  .tm-home-products__feature--surf
  .tm-home-products__feature-media,

  .tm-home-products__feature--surf
  .tm-home-products__feature-visual {
    order:
      2 !important;
  }


  .tm-home-products__feature--sup
  .tm-home-products__feature-copy {
    order:
      1 !important;
  }

  .tm-home-products__feature--sup
  .tm-home-products__feature-media,

  .tm-home-products__feature--sup
  .tm-home-products__feature-visual {
    order:
      2 !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-copy > p:first-child {
    margin-bottom:
      30px !important;

    font-size:
      16px !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-copy h3 {
    font-size:
      clamp(42px, 12vw, 58px) !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-copy h3 + p {
    margin-top:
      19px !important;

    font-size:
      16px !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-media,

  .tm-home-products__feature
  .tm-home-products__feature-visual {
    width:
      min(84vw, 350px) !important;

    min-width:
      0 !important;

    aspect-ratio:
      1 / 0.95 !important;

    margin:
      0 auto !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-media
  .tm-home-products__image,

  .tm-home-products__feature
  .tm-home-products__feature-visual
  .tm-home-products__image {
    max-height:
      285px !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-primary,

  .tm-home-products__feature
  .tm-home-products__feature-secondary {
    min-height:
      46px !important;

    font-size:
      13px !important;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .tm-home-products__feature
  .tm-home-products__feature-primary,

  .tm-home-products__feature
  .tm-home-products__feature-secondary,

  .tm-home-products__feature
  .tm-home-products__image {
    transition:
      none !important;
  }

}


/* =========================================================
   v0.4.0 — PROFESSIONAL FEATURED PRODUCT BANNERS

   The action photography stays full bleed.
   Copy and product card now have clear, separate jobs:

   COPY:
   - context
   - product name
   - short fit summary

   PRODUCT CARD:
   - black frame
   - yellow accent
   - product image
   - primary View Product button
   - useful secondary links
   ========================================================= */


/* =========================================================
   BANNER FOUNDATION
   ========================================================= */

.tm-home-products__feature {
  position: relative !important;
  isolation: isolate !important;

  display: grid !important;

  min-height: clamp(620px, 48vw, 760px) !important;

  align-items: center !important;

  overflow: hidden !important;

  padding:
    clamp(66px, 6vw, 94px)
    clamp(34px, 5vw, 78px) !important;

  background-color:
    #0a3049 !important;

  color:
    #ffffff !important;
}


/* Photograph remains visible, but the layout gets a deliberate
   directional dark field for typography. */

.tm-home-products__feature::after {
  content: '' !important;

  position: absolute !important;
  inset: 0 !important;

  z-index: 1 !important;

  pointer-events: none !important;
}


.tm-home-products__feature--surf {
  grid-template-columns:
    minmax(420px, 1.05fr)
    minmax(340px, 0.65fr) !important;

  gap:
    clamp(54px, 7vw, 110px) !important;
}


.tm-home-products__feature--surf::after {
  background:
    linear-gradient(
      90deg,
      rgba(3, 25, 42, 0.96) 0%,
      rgba(3, 25, 42, 0.90) 30%,
      rgba(3, 25, 42, 0.64) 52%,
      rgba(3, 25, 42, 0.22) 76%,
      rgba(3, 25, 42, 0.08) 100%
    ) !important;
}


.tm-home-products__feature--sup {
  grid-template-columns:
    minmax(340px, 0.65fr)
    minmax(420px, 1.05fr) !important;

  gap:
    clamp(54px, 7vw, 110px) !important;
}


.tm-home-products__feature--sup::after {
  background:
    linear-gradient(
      90deg,
      rgba(3, 25, 42, 0.10) 0%,
      rgba(3, 25, 42, 0.22) 24%,
      rgba(3, 25, 42, 0.64) 49%,
      rgba(3, 25, 42, 0.91) 71%,
      rgba(3, 25, 42, 0.97) 100%
    ) !important;
}


/* Old decorative pseudo-elements must not compete with the new design. */

.tm-home-products__feature--surf::before,
.tm-home-products__feature--sup::before {
  content: none !important;
}


/* =========================================================
   COPY COLUMN
   ========================================================= */

.tm-home-products__feature-copy {
  position: relative !important;
  z-index: 5 !important;

  width: 100% !important;
  max-width: 650px !important;

  min-width: 0 !important;

  padding: 0 !important;

  color: #ffffff !important;
}


.tm-home-products__feature--surf
.tm-home-products__feature-copy {
  grid-column: 1 !important;
}


.tm-home-products__feature--sup
.tm-home-products__feature-copy {
  grid-column: 2 !important;
}


/* Legacy strapline */

.tm-home-products__feature-copy > p:first-child {
  max-width: 560px !important;

  margin:
    0
    0
    clamp(34px, 4vw, 50px) !important;

  color:
    rgba(255, 255, 255, 0.76) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    clamp(18px, 1.45vw, 22px) !important;

  font-weight:
    800 !important;

  line-height:
    1.22 !important;

  letter-spacing:
    -0.012em !important;

  text-transform:
    uppercase !important;

  text-shadow:
    0 2px 20px rgba(0, 0, 0, 0.14) !important;
}


/* Featured label */

.tm-home-products__feature
.tm-home-products__label {
  display: inline-flex !important;

  align-items: center !important;

  gap: 12px !important;

  margin:
    0
    0
    18px !important;

  color:
    rgba(255, 255, 255, 0.88) !important;

  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size:
    9px !important;

  font-weight:
    700 !important;

  line-height:
    1 !important;

  letter-spacing:
    0.16em !important;

  text-transform:
    uppercase !important;
}


.tm-home-products__feature
.tm-home-products__label::before {
  content: '' !important;

  width:
    34px !important;

  height:
    3px !important;

  flex:
    0 0 34px !important;

  margin:
    0 !important;

  background:
    var(--tm-yellow, #f5b800) !important;
}


/* Product title */

.tm-home-products__feature
.tm-home-products__feature-copy h3 {
  max-width: 650px !important;

  margin:
    0 !important;

  color:
    #ffffff !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    clamp(56px, 5vw, 82px) !important;

  font-weight:
    900 !important;

  line-height:
    0.89 !important;

  letter-spacing:
    -0.044em !important;

  text-transform:
    uppercase !important;

  text-shadow:
    0 2px 26px rgba(0, 0, 0, 0.15) !important;
}


/* Product fit summary */

.tm-home-products__feature-copy h3 + p {
  max-width:
    570px !important;

  margin:
    24px
    0
    0 !important;

  color:
    rgba(255, 255, 255, 0.78) !important;

  font-family:
    var(--tm-body-font, sans-serif) !important;

  font-size:
    clamp(16px, 1.2vw, 19px) !important;

  font-weight:
    400 !important;

  line-height:
    1.58 !important;

  letter-spacing:
    0 !important;

  text-transform:
    none !important;
}


/* The duplicated legacy CTA row is replaced by the card CTA. */

.tm-hpf-legacy-actions {
  display:
    none !important;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.tm-hpf-feature-card {
  position: relative !important;
  z-index: 7 !important;

  width:
    min(100%, 420px) !important;

  justify-self:
    center !important;

  overflow:
    visible !important;

  border:
    2px solid var(--tm-black, #111) !important;

  background:
    #ffffff !important;

  box-shadow:
    14px 14px 0 var(--tm-yellow, #f5b800),
    0 28px 70px rgba(0, 0, 0, 0.26) !important;

  color:
    var(--tm-black, #111) !important;
}


.tm-home-products__feature--surf
.tm-hpf-feature-card {
  grid-column:
    2 !important;
}


.tm-home-products__feature--sup
.tm-hpf-feature-card {
  grid-column:
    1 !important;
}


/* =========================================================
   PRODUCT CARD TOP BAR
   ========================================================= */

.tm-hpf-feature-card__top {
  display:
    flex !important;

  min-height:
    44px !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  gap:
    16px !important;

  padding:
    0
    16px !important;

  border-bottom:
    2px solid var(--tm-black, #111) !important;

  background:
    var(--tm-black, #111) !important;

  color:
    #ffffff !important;
}


.tm-hpf-feature-card__type,
.tm-hpf-feature-card__index {
  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size:
    7px !important;

  font-weight:
    700 !important;

  line-height:
    1 !important;

  letter-spacing:
    0.14em !important;

  text-transform:
    uppercase !important;
}


.tm-hpf-feature-card__index {
  color:
    var(--tm-yellow, #f5b800) !important;
}


/* =========================================================
   PRODUCT IMAGE AREA
   ========================================================= */

.tm-hpf-feature-card
.tm-home-products__feature-visual,

.tm-hpf-feature-card
.tm-home-products__feature-media,

.tm-hpf-feature-card__media {
  position:
    relative !important;

  display:
    flex !important;

  width:
    100% !important;

  min-width:
    0 !important;

  height:
    auto !important;

  min-height:
    0 !important;

  aspect-ratio:
    1 / 0.88 !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  margin:
    0 !important;

  padding:
    20px !important;

  overflow:
    hidden !important;

  border:
    0 !important;

  border-radius:
    0 !important;

  background:
    #ffffff !important;

  box-shadow:
    none !important;

  clip-path:
    none !important;

  transform:
    none !important;
}


/* Remove legacy circles / horizon lines from inside the product card. */

.tm-hpf-feature-card
.tm-home-products__feature-visual::before,

.tm-hpf-feature-card
.tm-home-products__feature-visual::after,

.tm-hpf-feature-card
.tm-home-products__feature-media::before,

.tm-hpf-feature-card
.tm-home-products__feature-media::after {
  content:
    none !important;
}


/* Product image */

.tm-hpf-feature-card
.tm-home-products__image,

.tm-hpf-feature-card
.tm-home-products__feature-image,

.tm-hpf-feature-card
.tm-hpf-feature-card__image {
  display:
    block !important;

  width:
    100% !important;

  max-width:
    100% !important;

  height:
    100% !important;

  max-height:
    330px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  object-fit:
    contain !important;

  object-position:
    center !important;

  border:
    0 !important;

  background:
    #ffffff !important;

  mix-blend-mode:
    normal !important;

  opacity:
    1 !important;

  filter:
    none !important;

  transform:
    scale(1.05) !important;

  transition:
    transform var(--tm-transition-slow, 300ms ease) !important;
}


@media (hover: hover) and (pointer: fine) {

  .tm-hpf-feature-card:hover
  .tm-home-products__image {
    transform:
      translateY(-3px)
      scale(1.075) !important;
  }

}


/* =========================================================
   CARD FOOTER
   ========================================================= */

.tm-hpf-feature-card__footer {
  padding:
    18px !important;

  border-top:
    2px solid var(--tm-black, #111) !important;

  background:
    #ffffff !important;
}


.tm-hpf-feature-card__name {
  display:
    block !important;

  margin:
    0
    0
    14px !important;

  color:
    var(--tm-black, #111) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    clamp(21px, 1.7vw, 27px) !important;

  font-weight:
    900 !important;

  line-height:
    0.96 !important;

  letter-spacing:
    -0.02em !important;

  text-transform:
    uppercase !important;
}


/* =========================================================
   VIEW PRODUCT BUTTON
   ========================================================= */

.tm-hpf-feature-card__button {
  display:
    flex !important;

  width:
    100% !important;

  min-height:
    52px !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  gap:
    20px !important;

  padding:
    0
    17px !important;

  border:
    2px solid var(--tm-black, #111) !important;

  background:
    var(--tm-yellow, #f5b800) !important;

  color:
    var(--tm-black, #111) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    15px !important;

  font-weight:
    900 !important;

  line-height:
    1 !important;

  text-transform:
    uppercase !important;

  transition:
    background-color var(--tm-transition, 220ms ease),
    color var(--tm-transition, 220ms ease),
    transform var(--tm-transition, 220ms ease) !important;
}


.tm-hpf-feature-card__button:hover {
  background:
    var(--tm-black, #111) !important;

  color:
    #ffffff !important;

  transform:
    translateY(-2px) !important;
}


/* =========================================================
   IMPORTANT LINKS
   ========================================================= */

.tm-hpf-feature-card__links {
  display:
    grid !important;

  margin-top:
    14px !important;

  border-top:
    1px solid rgba(17, 17, 17, 0.18) !important;
}


.tm-hpf-feature-card__link {
  display:
    flex !important;

  min-height:
    40px !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  gap:
    14px !important;

  padding:
    0
    2px !important;

  border-bottom:
    1px solid rgba(17, 17, 17, 0.14) !important;

  color:
    var(--tm-black, #111) !important;

  font-family:
    var(--tm-heading-font, sans-serif) !important;

  font-size:
    12px !important;

  font-weight:
    800 !important;

  line-height:
    1 !important;

  text-transform:
    uppercase !important;

  transition:
    color var(--tm-transition, 220ms ease),
    padding-left var(--tm-transition, 220ms ease) !important;
}


.tm-hpf-feature-card__link:last-child {
  border-bottom:
    0 !important;
}


.tm-hpf-feature-card__link span:last-child {
  color:
    var(--tm-blue, #164f73) !important;

  font-family:
    var(--tm-mono-font, monospace) !important;

  font-size:
    14px !important;
}


.tm-hpf-feature-card__link:hover {
  padding-left:
    6px !important;

  color:
    var(--tm-blue, #164f73) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1080px) {

  .tm-home-products__feature {
    min-height:
      590px !important;

    padding:
      54px
      36px !important;
  }


  .tm-home-products__feature--surf,
  .tm-home-products__feature--sup {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(300px, 0.72fr) !important;

    gap:
      40px !important;
  }


  .tm-home-products__feature--sup
  .tm-hpf-feature-card {
    grid-column:
      1 !important;
  }


  .tm-home-products__feature--sup
  .tm-home-products__feature-copy {
    grid-column:
      2 !important;
  }


  .tm-hpf-feature-card {
    width:
      min(100%, 360px) !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-copy h3 {
    font-size:
      clamp(48px, 5.5vw, 68px) !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .tm-home-products__feature,
  .tm-home-products__feature--surf,
  .tm-home-products__feature--sup {
    display:
      flex !important;

    min-height:
      0 !important;

    flex-direction:
      column !important;

    gap:
      30px !important;

    padding:
      42px
      22px
      52px !important;
  }


  .tm-home-products__feature--surf::after,
  .tm-home-products__feature--sup::after {
    background:
      linear-gradient(
        180deg,
        rgba(3, 25, 42, 0.72) 0%,
        rgba(3, 25, 42, 0.96) 100%
      ) !important;
  }


  .tm-home-products__feature-copy {
    order:
      1 !important;

    max-width:
      none !important;
  }


  .tm-hpf-feature-card {
    order:
      2 !important;

    width:
      min(88vw, 380px) !important;

    margin:
      0
      auto !important;

    box-shadow:
      10px 10px 0 var(--tm-yellow, #f5b800),
      0 22px 48px rgba(0, 0, 0, 0.24) !important;
  }


  .tm-home-products__feature-copy > p:first-child {
    margin-bottom:
      28px !important;

    font-size:
      16px !important;
  }


  .tm-home-products__feature
  .tm-home-products__feature-copy h3 {
    font-size:
      clamp(43px, 12vw, 58px) !important;
  }


  .tm-home-products__feature-copy h3 + p {
    margin-top:
      19px !important;

    font-size:
      16px !important;
  }


  .tm-hpf-feature-card
  .tm-home-products__feature-visual,

  .tm-hpf-feature-card
  .tm-home-products__feature-media {
    aspect-ratio:
      1 / 0.88 !important;

    padding:
      16px !important;
  }


  .tm-hpf-feature-card
  .tm-home-products__image {
    max-height:
      280px !important;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .tm-hpf-feature-card__button,
  .tm-hpf-feature-card__link,
  .tm-hpf-feature-card
  .tm-home-products__image {
    transition:
      none !important;
  }

}


/* =========================================================
   v0.4.1 — HIT CRUISER PADDLEBOARD FEATURE
   ========================================================= */

.tm-home-products__feature--sup.tm-hpf-has-custom-paddle-banner::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  width: 100% !important;
  height: 100% !important;

  transform: none !important;

  background-image:
    var(--tm-hpf-paddle-banner) !important;

  background-size:
    cover !important;

  background-position:
    center 52% !important;

  background-repeat:
    no-repeat !important;

  pointer-events:
    none !important;
}

.tm-home-products__feature--sup.tm-hpf-has-custom-paddle-banner::after {
  background:
    linear-gradient(
      90deg,
      rgba(3, 25, 42, 0.10) 0%,
      rgba(3, 25, 42, 0.18) 22%,
      rgba(3, 25, 42, 0.44) 45%,
      rgba(3, 25, 42, 0.82) 66%,
      rgba(3, 25, 42, 0.96) 100%
    ) !important;
}

/* Keep the product card visually connected to the paddlers
   without hiding the landscape. */
.tm-home-products__feature--sup
.tm-hpf-feature-card {
  transform:
    translateY(14px) !important;
}

@media (max-width: 1080px) {

  .tm-home-products__feature--sup
  .tm-hpf-feature-card {
    transform:
      translateY(6px) !important;
  }

}

@media (max-width: 767px) {

  .tm-home-products__feature--sup.tm-hpf-has-custom-paddle-banner::before {
    background-position:
      58% center !important;
  }

  .tm-home-products__feature--sup.tm-hpf-has-custom-paddle-banner::after {
    background:
      linear-gradient(
        180deg,
        rgba(3, 25, 42, 0.28) 0%,
        rgba(3, 25, 42, 0.72) 44%,
        rgba(3, 25, 42, 0.96) 100%
      ) !important;
  }

  .tm-home-products__feature--sup
  .tm-hpf-feature-card {
    transform:
      none !important;
  }

}
