body.palma-template-v2 {
  --brand-red: #9C1319;
  --dark-red: #880A10;
  --accent-red: #BE0008;
  --title-red: #780606;
  --h1-red: #780909;
  --pink: #CC3366;

  --heading-dark: #3C3C3C;
  --body-color: #302F34;
  --secondary: #57565F;
  --muted: #77718C;
  --light-purple: #B2AACF;

  --white: #FFFFFF;
  --off-white: #FBFAF8;
  --cream: #F6F4F0;
  --dark: #302F34;
  --dark-rail: #363342;
  --dark-2: #423D53;

  --shadow-dropdown: 0 19px 34px -12px rgba(0, 0, 0, 0.11);

  --container: 1280px;
  --container-mid: 1200px;
  --container-narrow: 936px;
  --gutter: 24px;
}

body.palma-template-v2 .palma-v2-shell *, body.palma-template-v2 .palma-v2-shell *::before, body.palma-template-v2 .palma-v2-shell *::after { box-sizing: border-box; margin: 0; padding: 0; }
body.palma-template-v2 { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.palma-template-v2 {
  font-family: "Reddit Sans", sans-serif;
  font-size: 15px;
  line-height: 23px;
  letter-spacing: 0.2px;
  color: var(--body-color);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.palma-template-v2 .palma-v2-shell img { max-width: 100%; height: auto; display: block; }
body.palma-template-v2 .palma-v2-shell a { text-decoration: none; color: inherit; }
body.palma-template-v2 .palma-v2-shell ul { list-style: none; }
body.palma-template-v2 .palma-v2-shell button { font-family: inherit; cursor: pointer; background: none; border: none; }
body.palma-template-v2 .palma-v2-shell h1 {
  font-size: 36px;
  line-height: 45px;
  font-weight: 800;
  color: var(--heading-dark);
  letter-spacing: 0.2px;
}
body.palma-template-v2 .palma-v2-shell h1 .h1-red { color: var(--h1-red); }
body.palma-template-v2 .palma-v2-shell h2 {
  font-size: 36px;
  line-height: 44px;
  font-weight: 800;
  color: var(--title-red);
  letter-spacing: 0.2px;
}
body.palma-template-v2 .palma-v2-shell h2 .text-red { color: var(--title-red); }
body.palma-template-v2 .palma-v2-shell .h2-dark { color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell h2.center, body.palma-template-v2 .palma-v2-shell .center { text-align: center; }
body.palma-template-v2 .palma-v2-shell h3 { font-size: 32px; line-height: 42px; font-weight: 400; color: var(--body-color); letter-spacing: 0.2px; }
body.palma-template-v2 .palma-v2-shell h4 { font-size: 20px; line-height: 28px; font-weight: 700; color: var(--body-color); letter-spacing: 0.2px; }
body.palma-template-v2 .palma-v2-shell .text-red { color: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
body.palma-template-v2 .palma-v2-shell .container-mid { max-width: var(--container-mid); }
body.palma-template-v2 .palma-v2-shell .container-narrow { max-width: var(--container-narrow); }
body.palma-template-v2 .palma-v2-shell .section { padding: 80px 0; }
body.palma-template-v2 .palma-v2-shell .section-desc { color: var(--secondary); max-width: 760px; margin: 14px auto 0; }
body.palma-template-v2 .palma-v2-shell .section-head-center { text-align: center; max-width: 820px; margin: 0 auto 48px; }
body.palma-template-v2 .palma-v2-shell .section-ctas { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-top: 56px; }
body.palma-template-v2 .palma-v2-shell .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 22px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  letter-spacing: 0.2px;
  border: 1px solid transparent;
  transition: all 0.3s ease;
  white-space: nowrap;
}
body.palma-template-v2 .palma-v2-shell .btn-primary {
  background: var(--brand-red);
  color: #F6F4F0;
  border-color: var(--accent-red);
}
body.palma-template-v2 .palma-v2-shell .btn-primary:hover { background: var(--dark-red); border-color: var(--dark-red); }
body.palma-template-v2 .palma-v2-shell .btn-outline {
  background: transparent;
  color: var(--brand-red);
  border-color: var(--brand-red);
}
body.palma-template-v2 .palma-v2-shell .btn-outline:hover { background: var(--brand-red); color: var(--white); }
body.palma-template-v2 .palma-v2-shell .btn-white-solid { background: var(--white); color: var(--brand-red); border-color: var(--white); }
body.palma-template-v2 .palma-v2-shell .btn-white-solid:hover { background: var(--cream); }
body.palma-template-v2 .palma-v2-shell .btn-outline-white { background: transparent; color: var(--white); border-color: var(--white); }
body.palma-template-v2 .palma-v2-shell .btn-outline-white:hover { background: rgba(255,255,255,0.12); }
body.palma-template-v2 .palma-v2-shell .reveal-fade, body.palma-template-v2 .palma-v2-shell .reveal-zoom { opacity: 0; }
body.palma-template-v2 .palma-v2-shell .reveal-fade.revealed { animation: elFadeInUp 0.8s ease-out forwards; }
body.palma-template-v2 .palma-v2-shell .reveal-zoom.revealed { animation: elZoomIn 0.8s ease-out forwards; }
@keyframes elFadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes elZoomIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {body.palma-template-v2 .palma-v2-shell .reveal-fade, body.palma-template-v2 .palma-v2-shell .reveal-zoom { opacity: 1; animation: none; }}
body.palma-template-v2 .palma-v2-shell .site-header {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 10px 10px 0;
}
body.palma-template-v2 .palma-v2-shell .header-pill {
  position: relative;
  max-width: 1420px;
  margin: 0 auto;
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 20px;
  background: rgba(255, 252, 247, 0.71);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-radius: 12px;
}
body.palma-template-v2 .palma-v2-shell .site-logo img { width: 200px; height: auto; display: block; }
body.palma-template-v2 .palma-v2-shell .main-nav { flex: 1; display: flex; justify-content: center; }
body.palma-template-v2 .palma-v2-shell .nav-list { display: flex; align-items: center; }
body.palma-template-v2 .palma-v2-shell .nav-item { position: relative; }
body.palma-template-v2 .palma-v2-shell .nav-products { position: static; }
body.palma-template-v2 .palma-v2-shell .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 20px;
  font-size: 15px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: var(--body-color);
  transition: all 0.4s ease;
}
body.palma-template-v2 .palma-v2-shell .nav-link:hover { color: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .nav-link-products { color: var(--pink); }
body.palma-template-v2 .palma-v2-shell .nav-link .caret { transition: transform 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .nav-item:hover .caret { transform: rotate(180deg); }
body.palma-template-v2 .palma-v2-shell .dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 230px;
  margin-top: 20px;
  background: var(--white);
  box-shadow: var(--shadow-dropdown);
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transform-origin: top;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  z-index: 100;
}
body.palma-template-v2 .palma-v2-shell .dropdown a {
  display: block;
  padding: 9px 12px;
  font-size: 13px;
  color: var(--secondary);
  transition: all 0.3s ease;
}
body.palma-template-v2 .palma-v2-shell .dropdown a:hover { color: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
body.palma-template-v2 .palma-v2-shell .mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -8px);
  margin-top: 27px;
  width: min(1280px, calc(100vw - 40px));
  background: var(--white);
  box-shadow: var(--shadow-dropdown);
  display: flex;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  z-index: 100;
}
body.palma-template-v2 .palma-v2-shell .nav-products:hover .mega-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
body.palma-template-v2 .palma-v2-shell .mega-rail {
  flex: 0 0 240px;
  background: var(--dark-rail);
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.palma-template-v2 .palma-v2-shell .mega-cat {
  text-align: left;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 700;
  color: var(--light-purple);
  border-radius: 999px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 10px;
}
body.palma-template-v2 .palma-v2-shell .mega-cat::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
body.palma-template-v2 .palma-v2-shell .mega-cat:hover { color: var(--white); }
body.palma-template-v2 .palma-v2-shell .mega-cat.active { background: var(--dark-2); color: var(--white); }
body.palma-template-v2 .palma-v2-shell .mega-panels { flex: 1; position: relative; padding: 28px 32px; }
body.palma-template-v2 .palma-v2-shell .mega-panel { display: none; grid-template-columns: repeat(4, 1fr); gap: 24px; }
body.palma-template-v2 .palma-v2-shell .mega-panel.active { display: grid; }
body.palma-template-v2 .palma-v2-shell .mega-col { display: flex; flex-direction: column; }
body.palma-template-v2 .palma-v2-shell .mega-col-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--body-color);
  padding-bottom: 10px;
  margin-bottom: 8px;
  border-bottom: 1px solid #eee;
}
body.palma-template-v2 .palma-v2-shell .mega-col-title span { color: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .mega-col a:not(.mega-col-title) {
  font-size: 13px;
  color: var(--secondary);
  padding: 5px 0;
  transition: color 0.3s ease;
}
body.palma-template-v2 .palma-v2-shell .mega-col a:not(.mega-col-title):hover { color: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .header-actions { display: flex; align-items: center; gap: 14px; }
body.palma-template-v2 .palma-v2-shell .header-cta { padding: 20px 24px; font-size: 16px; line-height: 20px; }
body.palma-template-v2 .palma-v2-shell .header-chat-icon { display: none; }
body.palma-template-v2 .palma-v2-shell .menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 33px;
  height: 33px;
  padding: 6px;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 3px;
}
body.palma-template-v2 .palma-v2-shell .menu-toggle span { display: block; height: 2px; width: 100%; background: #33373D; border-radius: 2px; transition: all 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .menu-toggle.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
body.palma-template-v2 .palma-v2-shell .menu-toggle.active span:nth-child(2) { opacity: 0; }
body.palma-template-v2 .palma-v2-shell .menu-toggle.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
body.palma-template-v2 .palma-v2-shell .mobile-menu {
  display: none;
  background: var(--dark-rail);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  margin-top: 10px;
  border-radius: 0 0 12px 12px;
}
body.palma-template-v2 .palma-v2-shell .mobile-menu.open { display: block; max-height: calc(100vh - 100px); overflow-y: auto; }
body.palma-template-v2 .palma-v2-shell .mobile-nav-list { padding: 12px 0 32px; }
body.palma-template-v2 .palma-v2-shell .mobile-nav-item { border-bottom: 1px solid rgba(246, 244, 240, 0.08); }
body.palma-template-v2 .palma-v2-shell .mobile-nav-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 16px 37px;
  font-size: 16px;
  font-weight: 400;
  color: var(--cream);
  text-align: left;
}
body.palma-template-v2 .palma-v2-shell .acc-icon { font-size: 20px; font-weight: 400; color: var(--brand-red); transition: transform 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .mobile-nav-item.open .acc-icon { transform: rotate(45deg); }
body.palma-template-v2 .palma-v2-shell .mobile-submenu { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
body.palma-template-v2 .palma-v2-shell .mobile-submenu a { display: block; padding: 10px 37px; font-size: 14px; color: var(--light-purple); }
body.palma-template-v2 .palma-v2-shell .mobile-sub-title { display: block; font-size: 12px; font-weight: 700; color: var(--brand-red); text-transform: uppercase; letter-spacing: 0.5px; padding: 12px 37px 6px; }
body.palma-template-v2 .palma-v2-shell .hero {
  /* 纯米色：原渐变尾巴（91%→100% 过渡到 off-white）在右侧图片未覆盖处露出一条白带，
   * 读作渲染 bug（用户反馈）；改纯色后 hero 底部与下方 off-white 区块为一条干净的节分界线。 */
  background: var(--cream);
  height: 817px;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: stretch;
  padding-top: 98px;
  overflow: hidden;
}
body.palma-template-v2 .palma-v2-shell .hero-media { display: flex; align-items: flex-end; }
body.palma-template-v2 .palma-v2-shell .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
body.palma-template-v2 .palma-v2-shell .hero-media .palma-home-hero-image--mobile { display: none; }
body.palma-template-v2 .palma-v2-shell .hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  padding: 40px 60px 60px 50px;
  max-width: 650px;
}
body.palma-template-v2 .palma-v2-shell .hero-title { max-width: 540px; }
body.palma-template-v2 .palma-v2-shell .hero-desc { max-width: 540px; color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell .hero-ctas { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 12px; }
body.palma-template-v2 .palma-v2-shell .hero-certs { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin-top: 12px; }
body.palma-template-v2 .palma-v2-shell .hero-certs img { width: auto; object-fit: contain; }
body.palma-template-v2 .palma-v2-shell .hero-cert-link { display: inline-flex; align-items: center; border-radius: 2px; }
body.palma-template-v2 .palma-v2-shell .hero-cert-link:focus-visible { outline: 2px solid var(--brand-red); outline-offset: 4px; }

/* === Hero full-bleed landscape + half-width translucent copy mask ===
 * The supplied landscape now fills the complete desktop Hero. The right half
 * retains the scene beneath a warm translucent mask so the copy stays legible
 * without returning to a visually separate image/text split panel. */
@media (min-width: 1025px) {
  body.palma-template-v2 .palma-v2-shell .hero {
    position: relative;
    isolation: isolate;
    grid-template-rows: minmax(0, 1fr);
    /* Header 是 sticky 常规流元素，无需再补偿 fixed-header 高度；
       保留 98px 会把左侧大图整体压出一条米色空带。 */
    padding-top: 0;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media {
    position: absolute;
    z-index: 0;
    inset: 0;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    padding-left: 0;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media img {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    width: auto;
    pointer-events: none;
    background: rgba(246, 244, 240, 0.68);
  }
  /* Copy occupies the same half as the mask and remains vertically centred. */
  body.palma-template-v2 .palma-v2-shell .hero-content {
    position: relative;
    z-index: 2;
    grid-column: 2;
    width: 100%;
    max-width: none;
    gap: 18px;
    padding: 40px clamp(40px, 4vw, 72px);
    justify-content: center;
  }
  body.palma-template-v2 .palma-v2-shell .hero-ctas { margin-top: 8px; }
  body.palma-template-v2 .palma-v2-shell .hero-certs { margin-top: 6px; }
  body.palma-template-v2 .palma-v2-shell .hero-title {
    max-width: 700px;
    font-size: 47px;
    line-height: 56px;
  }
  body.palma-template-v2 .palma-v2-shell .hero-desc {
    max-width: 700px;
    font-size: 16px;
    /* 全局 "p { line-height: 22px !important }" 守卫会压制普通声明，桌面同理需 !important */
    line-height: 28px !important;
  }
}

body.palma-template-v2 .palma-v2-shell .mdmd { background: var(--off-white); padding: 56px 0; }
body.palma-template-v2 .palma-v2-shell .mdmd-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 0; }
body.palma-template-v2 .palma-v2-shell .mdmd-text h2 { margin-bottom: 20px; }
body.palma-template-v2 .palma-v2-shell .mdmd-desc { margin-bottom: 20px; }
body.palma-template-v2 .palma-v2-shell .mdmd-list li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 16px;
  line-height: 26px;
}
body.palma-template-v2 .palma-v2-shell .mdmd-list li::before {
  content: "";
  position: absolute;
  left: 0; top: 10px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--brand-red);
}
body.palma-template-v2 .palma-v2-shell .mdmd-list strong { color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell .mdmd-media img { width: 100%; border-radius: 8px; }

/* Desktop follows SansanSports' MDMD editorial scale exactly: 47/61 heading,
   18/29 medium intro and 19/32 list copy. Kept scoped so other V2 sections and
   tablet/mobile typography remain unchanged. */
@media (min-width: 1025px) {
  /* SansanSports uses a 1200px editorial container here. Allowing 1246px with
     V2 gutters gives its exact 599px media-column width. */
  body.palma-template-v2 .palma-v2-shell .mdmd .container-narrow { max-width: 1246px; }
  /* The heading and production image must share one top edge on desktop. */
  body.palma-template-v2 .palma-v2-shell .mdmd-inner { align-items: flex-start; }
  body.palma-template-v2 .palma-v2-shell .mdmd-text { padding-right: 60px; }
  /* User-approved target ratio comes from the 622 x 740 reference image.
     The image must neither set the row height nor exceed the text column;
     its height therefore follows the copy/title block while retaining the
     requested reference ratio. */
  body.palma-template-v2 .palma-v2-shell .mdmd-media {
    position: relative;
    align-self: stretch;
    min-height: 0;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-media img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: auto;
    max-width: 100%;
    aspect-ratio: 622 / 740;
    object-fit: cover;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-text h2 {
    font-size: 47px;
    line-height: 61px;
    font-weight: 700;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-desc {
    font-size: 18px;
    font-weight: 500;
    line-height: 29px;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-list li { font-size: 19px; }
}
body.palma-template-v2 .palma-v2-shell .stats-strip { background: var(--off-white); padding: 40px 0 94px; }
body.palma-template-v2 .palma-v2-shell .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
body.palma-template-v2 .palma-v2-shell .stat-item { text-align: left; }
body.palma-template-v2 .palma-v2-shell .stat-icon { width: 47px; height: 47px; object-fit: contain; margin-bottom: 10px; }
body.palma-template-v2 .palma-v2-shell .stat-number { font-size: 32px; line-height: 40px; font-weight: 700; color: var(--accent-red); }
body.palma-template-v2 .palma-v2-shell .stat-label { font-size: 15px; color: var(--body-color); margin-top: 2px; }
body.palma-template-v2 .palma-v2-shell .products { background: var(--cream); padding-bottom: 0; }
body.palma-template-v2 .palma-v2-shell .products .container { padding: 0; }
body.palma-template-v2 .palma-v2-shell .products-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 60px; padding: 0 128px; }
body.palma-template-v2 .palma-v2-shell .products-head h2 { flex: 0 0 50%; max-width: 640px; margin-bottom: 0; }
body.palma-template-v2 .palma-v2-shell .products-head .products-desc { flex: 0 1 560px; padding-top: 10px; }
body.palma-template-v2 .palma-v2-shell .products-desc { color: var(--secondary); }
body.palma-template-v2 .palma-v2-shell .product-tabs { margin-top: 50px; }
body.palma-template-v2 .palma-v2-shell .tab-pills { display: flex; justify-content: center; gap: 12px; margin-bottom: 42px; flex-wrap: wrap; }
body.palma-template-v2 .palma-v2-shell .tab-pill {
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  color: var(--body-color);
  background: transparent;
  border: 1px solid var(--body-color);
  transition: all 0.3s ease;
  cursor: pointer;
}
body.palma-template-v2 .palma-v2-shell .tab-pill:hover { background: rgba(48, 47, 52, 0.06); }
body.palma-template-v2 .palma-v2-shell .tab-pill.active { background: var(--dark-2); color: var(--white); border-color: var(--dark-2); }
body.palma-template-v2 .palma-v2-shell .tab-panel { display: none; }
body.palma-template-v2 .palma-v2-shell .tab-panel.active { display: block; }
body.palma-template-v2 .palma-v2-shell .category-grid { position: relative; overflow: hidden; }
body.palma-template-v2 .palma-v2-shell .category-track { display: flex; transition: transform 0.5s ease-out; }
body.palma-template-v2 .palma-v2-shell .category-card {
  flex: 0 0 calc(25% - 18px);
  margin-right: 24px;
  display: flex;
  flex-direction: column;
  text-align: center;
}
body.palma-template-v2 .palma-v2-shell .category-card:nth-child(4n) { margin-right: 0; }
body.palma-template-v2 .palma-v2-shell .category-card img {
  width: 100%;
  aspect-ratio: 1 / 1.25;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
body.palma-template-v2 .palma-v2-shell .category-card span { display: inline-block; margin-top: 14px; font-size: 15px; font-weight: 700; color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell .category-card small { display: block; margin-top: 6px; font-size: 12px; font-weight: 400; line-height: 1.4; color: #6b6b6b; }
body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-track { justify-content: center; }
body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-card { flex: 0 0 328px; }
body.palma-template-v2 .palma-v2-shell .slider-arrows { display: flex; gap: 14px; }
body.palma-template-v2 .palma-v2-shell .arrow-btn {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--brand-red);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease, transform 0.3s ease;
}
body.palma-template-v2 .palma-v2-shell .arrow-btn:hover { background: var(--dark-red); transform: scale(1.06); }
body.palma-template-v2 .palma-v2-shell .arrows-side { position: absolute; right: 24px; top: 50%; transform: translateY(-50%); }
body.palma-template-v2 .palma-v2-shell .arrows-bottom { justify-content: center; margin-top: 28px; }
body.palma-template-v2 .palma-v2-shell .services { background: var(--off-white); padding: 148px 0 127px; }
body.palma-template-v2 .palma-v2-shell .services-head { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: start; margin-bottom: 48px; }
body.palma-template-v2 .palma-v2-shell .services-intro p { margin-bottom: 16px; color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell .services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; }
body.palma-template-v2 .palma-v2-shell .service-card { display: block; border-radius: 12px; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-dropdown); }
body.palma-template-v2 .palma-v2-shell .service-media img { width: 100%; aspect-ratio: 800 / 533; object-fit: cover; }
body.palma-template-v2 .palma-v2-shell .service-body { padding: 36px 40px 44px; text-align: left; }
body.palma-template-v2 .palma-v2-shell .card-red .service-body { background: var(--brand-red); color: var(--white); }
body.palma-template-v2 .palma-v2-shell .card-red .service-body h3 { color: var(--white); font-size: 26px; font-weight: 700; margin-bottom: 14px; }
body.palma-template-v2 .palma-v2-shell .card-red .service-body p { color: rgba(255, 255, 255, 0.85); margin-bottom: 24px; }
body.palma-template-v2 .palma-v2-shell .card-white { box-shadow: var(--shadow-dropdown); }
body.palma-template-v2 .palma-v2-shell .card-white .service-body { background: var(--white); }
body.palma-template-v2 .palma-v2-shell .card-white .service-body h3 { color: var(--title-red); font-size: 26px; font-weight: 700; margin-bottom: 14px; }
body.palma-template-v2 .palma-v2-shell .card-white .service-body p { color: var(--secondary); margin-bottom: 24px; }
body.palma-template-v2 .palma-v2-shell .service-arrow { display: inline-flex; }
body.palma-template-v2 .palma-v2-shell .card-red .service-arrow { color: var(--white); }
body.palma-template-v2 .palma-v2-shell .card-white .service-arrow { color: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .why { background: var(--cream); padding: 150px 0; }
body.palma-template-v2 .palma-v2-shell .why-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; align-items: start; }
body.palma-template-v2 .palma-v2-shell .why-left h2 { margin-bottom: 18px; }
body.palma-template-v2 .palma-v2-shell .why-left p { color: var(--body-color); margin-bottom: 28px; }
body.palma-template-v2 .palma-v2-shell .why-ctas { display: flex; gap: 16px; flex-wrap: wrap; }
body.palma-template-v2 .palma-v2-shell .why-right { display: flex; flex-direction: column; gap: 40px; }
body.palma-template-v2 .palma-v2-shell .why-item { display: flex; gap: 20px; align-items: flex-start; }
body.palma-template-v2 .palma-v2-shell .why-icon { width: 44px; height: 44px; object-fit: contain; flex-shrink: 0; margin-top: 2px; }
body.palma-template-v2 .palma-v2-shell .why-item h3 { font-size: 20px; line-height: 28px; font-weight: 700; color: var(--brand-red); margin-bottom: 8px; }
body.palma-template-v2 .palma-v2-shell .why-item p { color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell .materials {
  background: var(--dark) url('../images/equipment-line-bg.webp') center / cover no-repeat;
  padding: 120px 0;
}
body.palma-template-v2 .palma-v2-shell .materials-inner { display: grid; grid-template-columns: 378px 1fr; gap: 60px; align-items: center; }
body.palma-template-v2 .palma-v2-shell .materials-logos { display: grid; grid-template-columns: repeat(2, 179px); gap: 20px; }
body.palma-template-v2 .palma-v2-shell .material-logo {
  width: 179px; height: 78px;
  background: var(--white);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
}
body.palma-template-v2 .palma-v2-shell .material-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
body.palma-template-v2 .palma-v2-shell .materials-text h2 { color: var(--white); margin-bottom: 18px; }
body.palma-template-v2 .palma-v2-shell .materials-text h2 span {
  color: var(--white);
  margin-inline-start: 1em;
}
body.palma-template-v2 .palma-v2-shell .materials-text p { color: rgba(255, 255, 255, 0.85); max-width: 560px; }
body.palma-template-v2 .palma-v2-shell .certs { background: var(--white); padding: 100px 0 158px; }
body.palma-template-v2 .palma-v2-shell .certs .section-head-center h2.h2-dark { font-size: 32px; line-height: 40px; font-weight: 500; }
body.palma-template-v2 .palma-v2-shell .cert-slider { position: relative; max-width: 1080px; margin: 0 auto; }
body.palma-template-v2 .palma-v2-shell .cert-viewport { overflow: hidden; }
body.palma-template-v2 .palma-v2-shell .cert-track { display: flex; transition: transform 0.5s ease-out; }
body.palma-template-v2 .palma-v2-shell .cert-slide { flex: 0 0 100%; display: flex; justify-content: center; }
body.palma-template-v2 .palma-v2-shell .cert-slide img { width: 595px; max-width: 100%; height: auto; }
body.palma-template-v2 .palma-v2-shell .cert-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 48px;
  line-height: 1;
  color: var(--brand-red);
  padding: 10px;
  transition: transform 0.3s ease;
  z-index: 2;
}
body.palma-template-v2 .palma-v2-shell .cert-arrow:hover { transform: translateY(-50%) scale(1.15); }
body.palma-template-v2 .palma-v2-shell .cert-arrow.prev { left: -72px; }
body.palma-template-v2 .palma-v2-shell .cert-arrow.next { right: -72px; }
body.palma-template-v2 .palma-v2-shell .workflow { background: var(--cream); padding: 120px 0 140px; }
body.palma-template-v2 .palma-v2-shell .workflow h2.center { margin-bottom: 56px; }
body.palma-template-v2 .palma-v2-shell .workflow-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
body.palma-template-v2 .palma-v2-shell .workflow-step { text-align: center; }
body.palma-template-v2 .palma-v2-shell .workflow-step img { width: 69px; height: 69px; object-fit: contain; margin: 0 auto 16px; }
body.palma-template-v2 .palma-v2-shell .workflow-step h3 { font-size: 15px; line-height: 23px; font-weight: 700; color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell .about { background: var(--dark-red); padding: 0; }
body.palma-template-v2 .palma-v2-shell .about-inner { display: grid; grid-template-columns: 1fr 1fr; min-height: 540px; }
body.palma-template-v2 .palma-v2-shell .about-media {
  background: linear-gradient(rgba(136, 10, 16, 0.42), rgba(136, 10, 16, 0.42)), url('../images/palma/factory-workshop.jpg') center 30% / cover no-repeat;
}
body.palma-template-v2 .palma-v2-shell .about-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 90px 80px 70px;
  min-height: 540px;
}
body.palma-template-v2 .palma-v2-shell .about-text h2 { color: var(--white); margin-bottom: 20px; }
body.palma-template-v2 .palma-v2-shell .about-text p { color: rgba(255, 255, 255, 0.88); margin-bottom: 32px; }
body.palma-template-v2 .palma-v2-shell .about-ctas { display: flex; gap: 16px; flex-wrap: wrap; }
body.palma-template-v2 .palma-v2-shell .about-watermark { background: var(--dark-red); line-height: 0; }
body.palma-template-v2 .palma-v2-shell .about-watermark img { width: 100%; }
body.palma-template-v2 .palma-v2-shell .testimonials { background: var(--cream); padding: 140px 0 130px; }
body.palma-template-v2 .palma-v2-shell .testimonials h2.h2-dark { margin-bottom: 40px; font-size: 40px; line-height: 48px; font-weight: 400; }
body.palma-template-v2 .palma-v2-shell .testi-slider { overflow: hidden; }
body.palma-template-v2 .palma-v2-shell .testi-track { display: flex; transition: transform 0.5s ease-out; }
body.palma-template-v2 .palma-v2-shell .testi-slide { flex: 0 0 100%; }
body.palma-template-v2 .palma-v2-shell .testi-head { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
body.palma-template-v2 .palma-v2-shell .testi-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--brand-red);
  padding: 2px;
}
body.palma-template-v2 .palma-v2-shell .testi-name { display: block; font-size: 17px; font-weight: 700; color: var(--body-color); }
body.palma-template-v2 .palma-v2-shell .testi-role { display: block; font-size: 14px; font-style: italic; color: var(--muted); }
body.palma-template-v2 .palma-v2-shell .testi-slide blockquote { font-size: 18px; line-height: 30px; color: var(--body-color); max-width: 1150px; }
body.palma-template-v2 .palma-v2-shell .testi-dots { display: flex; gap: 8px; margin-top: 36px; }
body.palma-template-v2 .palma-v2-shell .testi-dot { width: 8px; height: 8px; border-radius: 50%; background: #D8D2C8; transition: background 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .testi-dot.active { background: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .dashed-divider {
  border-top: 1px solid rgba(48, 47, 52, 0.16);
  margin: 104px 0;
}
body.palma-template-v2 .palma-v2-shell .knowledge h2.h2-dark { margin-bottom: 56px; font-size: 34px; line-height: 42px; font-weight: 400; }
body.palma-template-v2 .palma-v2-shell .knowledge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 24px; }
body.palma-template-v2 .palma-v2-shell .blog-card { display: block; }
body.palma-template-v2 .palma-v2-shell .blog-card img { width: 100%; aspect-ratio: 383 / 268; object-fit: cover; border-radius: 8px; margin-bottom: 20px; }
body.palma-template-v2 .palma-v2-shell .blog-card h3 { font-size: 17px; line-height: 25px; font-weight: 700; color: var(--body-color); margin-bottom: 10px; transition: color 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .blog-card:hover h3 { color: var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .blog-card p { font-size: 15px; color: var(--secondary); }
body.palma-template-v2 .palma-v2-shell .knowledge-more { text-align: right; margin-top: 36px; }
body.palma-template-v2 .palma-v2-shell .knowledge-more a { font-size: 16px; font-weight: 600; color: var(--brand-red); text-decoration: underline; text-underline-offset: 4px; }

body.palma-template-v2 .palma-v2-shell .footer-main { background: var(--dark); color: var(--light-purple); padding: 80px 0 60px; }
body.palma-template-v2 .palma-v2-shell .footer-top { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; }
body.palma-template-v2 .palma-v2-shell .footer-logo { width: 210px; margin-bottom: 22px; }
body.palma-template-v2 .palma-v2-shell .footer-tagline { font-size: 15px; line-height: 25px; color: var(--light-purple); max-width: 480px; margin-bottom: 26px; }
body.palma-template-v2 .palma-v2-shell .footer-social { display: flex; gap: 12px; }
body.palma-template-v2 .palma-v2-shell .footer-social a {
  width: 40px; height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
body.palma-template-v2 .palma-v2-shell .footer-social a:hover { transform: translateY(-3px); opacity: 0.85; }
body.palma-template-v2 .palma-v2-shell .soc-fb { background: #1877F2; }
body.palma-template-v2 .palma-v2-shell .soc-ig { background: linear-gradient(45deg, #F58529, #DD2A7B, #8134AF); }
body.palma-template-v2 .palma-v2-shell .soc-yt { background: #FF0000; }
body.palma-template-v2 .palma-v2-shell .footer-contact-title { font-size: 20px; font-weight: 700; color: var(--light-purple); margin-bottom: 22px; }
body.palma-template-v2 .palma-v2-shell .contact-line { display: flex; align-items: center; gap: 12px; font-size: 16px; color: var(--cream); margin-bottom: 16px; transition: color 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .contact-line:hover { color: var(--white); }
body.palma-template-v2 .palma-v2-shell .contact-line svg { flex-shrink: 0; }
body.palma-template-v2 .palma-v2-shell .footer-address { font-size: 14px; line-height: 24px; color: var(--light-purple); margin-top: 20px; max-width: 460px; }
body.palma-template-v2 .palma-v2-shell .footer-divider { border-top: 1px solid rgba(246, 244, 240, 0.12); margin: 48px 0; }
body.palma-template-v2 .palma-v2-shell .footer-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px; }
body.palma-template-v2 .palma-v2-shell .footer-col h4 {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 20px;
}
body.palma-template-v2 .palma-v2-shell .footer-col a { display: block; font-size: 15px; color: var(--cream); padding: 6px 0; transition: color 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .footer-col a:hover { color: var(--white); }
body.palma-template-v2 .palma-v2-shell .footer-copy {
  background: var(--brand-red);
  padding: 13px 24px;
  text-align: right;
}
body.palma-template-v2 .palma-v2-shell .footer-copy p { font-size: 14px; color: var(--white); max-width: 1392px; margin: 0 auto; }
body.palma-template-v2 .palma-v2-shell .lang-switcher {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 900;
  font-size: 15px;
  font-weight: 400;
  color: var(--white);
}
body.palma-template-v2 .palma-v2-shell .lang-current {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(48, 47, 52, 0.95);
  border-radius: 4px;
  padding: 10px 16px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
  color: var(--white);
  cursor: pointer;
  border: none;
  font-family: inherit;
  font-size: inherit;
  transition: transform 0.3s ease, background 0.3s ease;
}
body.palma-template-v2 .palma-v2-shell .lang-current:hover { transform: translateY(-2px); background: var(--dark); }
body.palma-template-v2 .palma-v2-shell .lang-current img { width: 22px; height: auto; border-radius: 2px; }
body.palma-template-v2 .palma-v2-shell .lang-caret { transition: transform 0.3s ease; }
body.palma-template-v2 .palma-v2-shell .lang-switcher.open .lang-caret { transform: rotate(180deg); }
body.palma-template-v2 .palma-v2-shell .lang-dropdown {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
  min-width: 180px;
  background: var(--white);
  border-radius: 8px;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.14);
  padding: 8px 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}
body.palma-template-v2 .palma-v2-shell .lang-switcher.open .lang-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
body.palma-template-v2 .palma-v2-shell .lang-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  color: var(--body-color);
  cursor: pointer;
  transition: background 0.2s ease;
  font-size: 14px;
}
body.palma-template-v2 .palma-v2-shell .lang-option:hover, body.palma-template-v2 .palma-v2-shell .lang-option.active { background: var(--cream); }
body.palma-template-v2 .palma-v2-shell .lang-option img { width: 20px; height: auto; border-radius: 2px; }
body.palma-template-v2 .palma-v2-shell .lang-option.active { font-weight: 700; color: var(--brand-red); }
@media (max-width: 1024px) {body.palma-template-v2 .palma-v2-shell .section { padding: 64px 0; }
body.palma-template-v2 .palma-v2-shell .main-nav, body.palma-template-v2 .palma-v2-shell .header-cta { display: none; }
body.palma-template-v2 .palma-v2-shell .menu-toggle { display: flex; }
body.palma-template-v2 .palma-v2-shell .header-chat-icon { display: block; }
body.palma-template-v2 .palma-v2-shell .header-pill { height: 63px; justify-content: space-between; }
body.palma-template-v2 .palma-v2-shell .site-logo img { width: 150px; }
body.palma-template-v2 .palma-v2-shell .hero { grid-template-columns: 1fr; height: auto; min-height: 0; padding-top: 83px; }
body.palma-template-v2 .palma-v2-shell .hero-media img { max-height: 460px; height: auto; width: 100%; object-fit: cover; object-position: top center; }
body.palma-template-v2 .palma-v2-shell .hero-content { padding: 32px 24px 48px; max-width: none; align-items: center; text-align: center; }
body.palma-template-v2 .palma-v2-shell .hero-ctas { justify-content: center; }
body.palma-template-v2 .palma-v2-shell .hero-certs { justify-content: center; }
body.palma-template-v2 .palma-v2-shell .mdmd-inner { grid-template-columns: 1fr; gap: 32px; }
body.palma-template-v2 .palma-v2-shell .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
body.palma-template-v2 .palma-v2-shell .category-card { flex: 0 0 calc(33.333% - 16px); }
body.palma-template-v2 .palma-v2-shell .category-card:nth-child(4n) { margin-right: 24px; }
body.palma-template-v2 .palma-v2-shell .category-card:nth-child(3n) { margin-right: 0; }
body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-card { flex: 0 0 280px; }
body.palma-template-v2 .palma-v2-shell .services-head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 32px; }
body.palma-template-v2 .palma-v2-shell .services-grid { grid-template-columns: 1fr; gap: 24px; }
body.palma-template-v2 .palma-v2-shell .why-inner { grid-template-columns: 1fr; gap: 40px; }
body.palma-template-v2 .palma-v2-shell .materials-inner { grid-template-columns: 1fr; gap: 36px; }
body.palma-template-v2 .palma-v2-shell .workflow-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
body.palma-template-v2 .palma-v2-shell .about-inner { grid-template-columns: 1fr; }
body.palma-template-v2 .palma-v2-shell .about-media { min-height: 320px; }
body.palma-template-v2 .palma-v2-shell .about-text { padding: 56px 32px; }
body.palma-template-v2 .palma-v2-shell .knowledge-grid { grid-template-columns: repeat(2, 1fr); }
body.palma-template-v2 .palma-v2-shell .footer-top { grid-template-columns: 1fr; }
body.palma-template-v2 .palma-v2-shell .footer-cols { grid-template-columns: repeat(3, 1fr); }}
@media (max-width: 767px) {body.palma-template-v2 { font-size: 14px; line-height: 22px; }
body.palma-template-v2 .palma-v2-shell .section { padding: 40px 0; }
body.palma-template-v2 .palma-v2-shell .container { padding: 0 20px; }
body.palma-template-v2 .palma-v2-shell h1 { font-size: 24px; line-height: 28px; }
body.palma-template-v2 .palma-v2-shell h2 { font-size: 24px; line-height: 31px; }
body.palma-template-v2 .palma-v2-shell h3, body.palma-template-v2 .palma-v2-shell .sub-title { font-size: 22px; line-height: 30px; }
body.palma-template-v2 .palma-v2-shell .site-header { padding: 8px 8px 0; }
body.palma-template-v2 .palma-v2-shell .header-pill { height: 63px; padding: 0 14px; gap: 10px; position: relative; }
body.palma-template-v2 .palma-v2-shell .site-logo img { width: 140px; }
body.palma-template-v2 .palma-v2-shell .menu-toggle { position: absolute; left: 50%; transform: translateX(-50%); }
body.palma-template-v2 .palma-v2-shell .menu-toggle.active { transform: translateX(-50%); }
body.palma-template-v2 .palma-v2-shell .header-actions { margin-left: auto; }
body.palma-template-v2 .palma-v2-shell .header-chat-icon svg { width: 30px; height: 30px; }
body.palma-template-v2 .palma-v2-shell .hero { grid-template-columns: 1fr; height: auto; min-height: 0; padding-top: 79px; text-align: left; }
body.palma-template-v2 .palma-v2-shell .hero-media img { max-height: 380px; height: auto; width: 100%; object-fit: cover; object-position: top center; }
body.palma-template-v2 .palma-v2-shell .hero-content { padding: 24px 20px 40px; align-items: flex-start; text-align: left; }
body.palma-template-v2 .palma-v2-shell .hero-ctas { flex-direction: column; width: 100%; gap: 12px; }
body.palma-template-v2 .palma-v2-shell .hero-ctas .btn { width: 100%; }
body.palma-template-v2 .palma-v2-shell .hero-certs { gap: 16px; justify-content: flex-start; }
body.palma-template-v2 .palma-v2-shell .hero-certs img { transform: scale(0.85); transform-origin: left center; }
body.palma-template-v2 .palma-v2-shell .mdmd-inner { grid-template-columns: 1fr; gap: 24px; }
body.palma-template-v2 .palma-v2-shell .mdmd-list li { margin-bottom: 12px; }
body.palma-template-v2 .palma-v2-shell .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
body.palma-template-v2 .palma-v2-shell .stat-number { font-size: 24px; line-height: 30px; }
body.palma-template-v2 .palma-v2-shell .stat-icon { width: 38px; height: 38px; }
body.palma-template-v2 .palma-v2-shell .products-head { flex-direction: column; gap: 14px; padding: 0 20px; text-align: center; }
body.palma-template-v2 .palma-v2-shell .products-head h2 { flex: none; margin: 0 auto; }
body.palma-template-v2 .palma-v2-shell .products-head .products-desc { flex: none; margin: 0 auto; padding-top: 0; }
body.palma-template-v2 .palma-v2-shell .products .container { padding: 0 20px; }
body.palma-template-v2 .palma-v2-shell .product-tabs { margin-top: 34px; }
body.palma-template-v2 .palma-v2-shell .tab-pills { gap: 8px; margin-bottom: 28px; }
body.palma-template-v2 .palma-v2-shell .tab-pill { padding: 10px 16px; font-size: 13px; }
body.palma-template-v2 .palma-v2-shell .category-grid { overflow: visible; }
body.palma-template-v2 .palma-v2-shell .category-track { gap: 16px; }
body.palma-template-v2 .palma-v2-shell .category-card { flex: 0 0 calc(50% - 8px); margin-right: 0; }
body.palma-template-v2 .palma-v2-shell .category-card:nth-child(4n) { margin-right: 0; }
body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-card { flex: 0 0 252px; }
body.palma-template-v2 .palma-v2-shell .category-card span { font-size: 14px; }
body.palma-template-v2 .palma-v2-shell .arrows-side { left: 0; right: 0; top: 50%; transform: translateY(-50%); justify-content: space-between; padding: 0 8px; pointer-events: none; }
body.palma-template-v2 .palma-v2-shell .arrows-side .arrow-btn { pointer-events: auto; }
body.palma-template-v2 .palma-v2-shell .arrow-btn { width: 40px; height: 40px; }
body.palma-template-v2 .palma-v2-shell .cert-track { gap: 12px; }
body.palma-template-v2 .palma-v2-shell .cert-slide { flex: 0 0 calc(33.333% - 8px); }
body.palma-template-v2 .palma-v2-shell .cert-slide img { width: 100%; }
body.palma-template-v2 .palma-v2-shell .service-body { padding: 28px 24px 32px; }
body.palma-template-v2 .palma-v2-shell .why-ctas { flex-direction: column; }
body.palma-template-v2 .palma-v2-shell .why-ctas .btn { width: 100%; }
body.palma-template-v2 .palma-v2-shell .materials-inner { grid-template-columns: 1fr; gap: 28px; }
body.palma-template-v2 .palma-v2-shell .materials-logos { grid-template-columns: repeat(2, 1fr); }
body.palma-template-v2 .palma-v2-shell .material-logo { width: 100%; }
body.palma-template-v2 .palma-v2-shell .cert-arrow { font-size: 36px; }
body.palma-template-v2 .palma-v2-shell .cert-arrow.prev { left: 0; }
body.palma-template-v2 .palma-v2-shell .cert-arrow.next { right: 0; }
body.palma-template-v2 .palma-v2-shell .workflow-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
body.palma-template-v2 .palma-v2-shell .about-text { padding: 40px 24px; }
body.palma-template-v2 .palma-v2-shell .about-ctas { flex-direction: column; }
body.palma-template-v2 .palma-v2-shell .about-ctas .btn { width: 100%; }
body.palma-template-v2 .palma-v2-shell .testi-slide blockquote { font-size: 15px; line-height: 25px; }
body.palma-template-v2 .palma-v2-shell .knowledge-grid { grid-template-columns: 1fr; gap: 20px; }

body.palma-template-v2 .palma-v2-shell .footer-main { padding: 48px 0 40px; }
body.palma-template-v2 .palma-v2-shell .footer-cols { grid-template-columns: repeat(2, 1fr); gap: 24px; }
body.palma-template-v2 .palma-v2-shell .footer-copy { text-align: center; }
body.palma-template-v2 .palma-v2-shell .lang-switcher { left: 20px; bottom: 20px; }
body.palma-template-v2 .palma-v2-shell .lang-current {
    background: var(--white);
    padding: 12px;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  }
body.palma-template-v2 .palma-v2-shell .lang-current:hover { background: var(--white); }
body.palma-template-v2 .palma-v2-shell .lang-current span, body.palma-template-v2 .palma-v2-shell .lang-current svg { display: none; }
body.palma-template-v2 .palma-v2-shell .lang-current img { width: 40px; border-radius: 3px; border: 1px solid var(--brand-red); }
body.palma-template-v2 .palma-v2-shell .lang-dropdown { bottom: calc(100% + 10px); left: 0; min-width: 170px; }}
body.palma-template-v2 {
  scroll-behavior: smooth;
  overflow-x: clip;
}
body.palma-template-v2 {
  max-width: 100%;
  overflow-x: clip;
}
body.palma-template-v2 .palma-v2-shell img { max-width: 100%; }
body.palma-template-v2 .palma-v2-shell section[id], body.palma-template-v2 .palma-v2-shell footer[id], body.palma-template-v2 .palma-v2-shell .tab-panel[id] { scroll-margin-top: 104px; }
body.palma-template-v2 .palma-v2-shell .products, body.palma-template-v2 .palma-v2-shell .certs, body.palma-template-v2 .palma-v2-shell .testimonials, body.palma-template-v2 .palma-v2-shell .site-footer { overflow-x: clip; }
body.palma-template-v2 .palma-v2-shell .products { padding-top: 64px; }
body.palma-template-v2 .palma-v2-shell .product-tabs { margin-top: 54px; }
body.palma-template-v2 .palma-v2-shell .tab-pills {
  position: sticky;
  top: 86px;
  z-index: 20;
  width: fit-content;
  max-width: calc(100% - 40px);
  margin: 0 auto 40px;
  padding: 8px;
  flex-wrap: nowrap;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 36px rgba(48, 47, 52, 0.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.palma-template-v2 .palma-v2-shell .tab-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
  border-color: transparent;
}
body.palma-template-v2 .palma-v2-shell .tab-panels { display: grid; }
body.palma-template-v2 .palma-v2-shell .tab-panel, body.palma-template-v2 .palma-v2-shell .tab-panel.active {
  display: block;
  min-width: 0;
  padding: 86px clamp(24px, 8.3vw, 128px) 96px;
  border-top: 1px solid rgba(48, 47, 52, 0.08);
}
body.palma-template-v2 .palma-v2-shell .tab-panel:nth-child(1) { background: #f7f4ef; }
body.palma-template-v2 .palma-v2-shell .tab-panel:nth-child(2) {
  background:
    radial-gradient(circle at 85% 10%, rgba(156, 19, 25, 0.07), transparent 26%),
    #ffffff;
}
body.palma-template-v2 .palma-v2-shell .tab-panel:nth-child(3) { background: #f0ede7; }
body.palma-template-v2 .palma-v2-shell .tab-panel:nth-child(4) {
  /* Keep the dark product panel flat; no red radial wash behind the cards. */
  background: var(--dark-2);
}
body.palma-template-v2 .palma-v2-shell .product-group-head {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(280px, 1.2fr);
  column-gap: clamp(40px, 8vw, 120px);
  align-items: end;
  margin-bottom: 42px;
}

body.palma-template-v2 .palma-v2-shell .product-group-head h3 {
  grid-row: 2;
  margin: 0;
  color: var(--title-red);
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
body.palma-template-v2 .palma-v2-shell .product-group-head p {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 620px;
  margin: 0;
  color: var(--secondary);
  font-size: 17px;
  line-height: 1.7;
}
body.palma-template-v2 .palma-v2-shell .tab-panel:nth-child(4) .product-group-head h3, body.palma-template-v2 .palma-v2-shell .tab-panel:nth-child(4) .product-group-head p { color: var(--white); }
body.palma-template-v2 .palma-v2-shell .tab-panel:nth-child(4) .product-eyebrow { color: #f0a4a7; }
body.palma-template-v2 .palma-v2-shell .category-grid, body.palma-template-v2 .palma-v2-shell .category-grid-audience {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  margin-top: -6px;
  padding-top: 6px;
}
body.palma-template-v2 .palma-v2-shell .category-track, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 22px;
  width: 100%;
  min-width: 0;
  transform: none !important;
  justify-content: stretch;
}
body.palma-template-v2 .palma-v2-shell .category-card, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-card {
  min-width: 0;
  margin: 0 !important;
  padding: 14px 14px 20px;
  border: 1px solid rgba(48, 47, 52, 0.07);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 28px rgba(48, 47, 52, 0.06);
  text-align: left;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
body.palma-template-v2 .palma-v2-shell .category-card:hover {
  transform: translateY(-6px);
  border-color: rgba(156, 19, 25, 0.24);
  box-shadow: 0 20px 42px rgba(48, 47, 52, 0.13);
}
body.palma-template-v2 .palma-v2-shell .category-card img {
  aspect-ratio: 1 / 1;
  padding: 14px;
  object-fit: contain;
  background: #fff;
}
body.palma-template-v2 .palma-v2-shell .category-card span {
  display: block;
  margin: 18px 4px 0;
  color: var(--body-color);
  font-size: 16px;
  line-height: 1.35;
}
body.palma-template-v2 .palma-v2-shell .category-card small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 8px 4px 0;
  color: var(--secondary);
  font-size: 13px;
  line-height: 1.55;
}
body.palma-template-v2 .palma-v2-shell .tab-panel .slider-arrows { display: none !important; }
body.palma-template-v2 .palma-v2-shell .service-media { overflow: hidden; }
body.palma-template-v2 .palma-v2-shell .service-media img {
  width: 100%;
  height: clamp(280px, 28vw, 430px);
  aspect-ratio: auto;
  object-fit: cover;
  transition: transform 0.6s ease;
}
body.palma-template-v2 .palma-v2-shell .service-card:hover .service-media img { transform: scale(1.035); }

body.palma-template-v2 .palma-v2-shell .cert-slider, body.palma-template-v2 .palma-v2-shell .cert-viewport, body.palma-template-v2 .palma-v2-shell .testi-slider { max-width: 100%; min-width: 0; overflow: hidden; }
body.palma-template-v2 .palma-v2-shell .cert-track, body.palma-template-v2 .palma-v2-shell .testi-track { max-width: 100%; }
body.palma-template-v2 .palma-v2-shell .testi-slide { min-width: 100%; }
@media (max-width: 1024px) {body.palma-template-v2 .palma-v2-shell .products { padding-top: 72px; }
body.palma-template-v2 .palma-v2-shell .products-head { padding: 0 40px; }
body.palma-template-v2 .palma-v2-shell .tab-pills { top: 76px; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
body.palma-template-v2 .palma-v2-shell .tab-pills::-webkit-scrollbar { display: none; }
body.palma-template-v2 .palma-v2-shell .tab-panel, body.palma-template-v2 .palma-v2-shell .tab-panel.active { padding: 72px 40px 80px; }
body.palma-template-v2 .palma-v2-shell .product-group-head { grid-template-columns: 1fr; gap: 16px; align-items: start; }
body.palma-template-v2 .palma-v2-shell .product-group-head h3, body.palma-template-v2 .palma-v2-shell .product-group-head p { grid-column: 1; grid-row: auto; }
body.palma-template-v2 .palma-v2-shell .category-track, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell section[id], body.palma-template-v2 .palma-v2-shell footer[id], body.palma-template-v2 .palma-v2-shell .tab-panel[id] { scroll-margin-top: 78px; }
body.palma-template-v2 .palma-v2-shell .products { padding-top: 56px; }
body.palma-template-v2 .palma-v2-shell .products-head { padding: 0 20px; }
body.palma-template-v2 .palma-v2-shell .product-tabs { margin-top: 30px; }
body.palma-template-v2 .palma-v2-shell .tab-pills {
    top: 72px;
    width: calc(100% - 24px);
    max-width: none;
    margin-bottom: 12px;
    padding: 6px;
  }
body.palma-template-v2 .palma-v2-shell .tab-pill { flex: 0 0 auto; padding: 10px 15px; font-size: 12px; }
body.palma-template-v2 .palma-v2-shell .tab-panel, body.palma-template-v2 .palma-v2-shell .tab-panel.active { padding: 54px 20px 64px; }
body.palma-template-v2 .palma-v2-shell .product-group-head { margin-bottom: 28px; }
body.palma-template-v2 .palma-v2-shell .product-group-head h3 { font-size: 31px; }
body.palma-template-v2 .palma-v2-shell .product-group-head p { font-size: 15px; }
body.palma-template-v2 .palma-v2-shell .category-grid { overflow: hidden !important; }
body.palma-template-v2 .palma-v2-shell .category-track, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 12px;
  }
body.palma-template-v2 .palma-v2-shell .category-card, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-card {
    width: auto;
    min-width: 0;
    padding: 9px 9px 16px;
  }
body.palma-template-v2 .palma-v2-shell .category-card img { padding: 8px; }
body.palma-template-v2 .palma-v2-shell .category-card span { margin-top: 12px; font-size: 13px; }
body.palma-template-v2 .palma-v2-shell .category-card small { font-size: 11px; line-height: 1.45; }
body.palma-template-v2 .palma-v2-shell .service-media img { height: 260px; }

body.palma-template-v2 .palma-v2-shell .cert-track { gap: 0; }
body.palma-template-v2 .palma-v2-shell .cert-slide { flex: 0 0 100%; }
body.palma-template-v2 .palma-v2-shell .cert-arrow.prev { left: 4px; }
body.palma-template-v2 .palma-v2-shell .cert-arrow.next { right: 4px; }
body.palma-template-v2 .palma-v2-shell .footer-cols { grid-template-columns: 1fr 1fr; }}
@media (max-width: 420px) {body.palma-template-v2 .palma-v2-shell .category-track, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-track { grid-template-columns: 1fr 1fr; }
body.palma-template-v2 .palma-v2-shell .footer-cols { grid-template-columns: 1fr; }}
body.palma-template-v2 .palma-v2-shell .tab-pills { position: relative; top: auto; }

@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .category-grid, body.palma-template-v2 .palma-v2-shell .category-grid-audience {
    overflow-x: auto !important;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    padding-bottom: 8px;
  }
body.palma-template-v2 .palma-v2-shell .category-grid::-webkit-scrollbar, body.palma-template-v2 .palma-v2-shell .category-grid-audience::-webkit-scrollbar { display: none; }
body.palma-template-v2 .palma-v2-shell .category-track, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-track {
    display: flex;
    width: max-content;
    max-width: none;
    gap: 14px;
  }
body.palma-template-v2 .palma-v2-shell .category-card, body.palma-template-v2 .palma-v2-shell .category-grid-audience .category-card {
    flex: 0 0 min(78vw, 310px);
    width: min(78vw, 310px);
    scroll-snap-align: start;
  }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .hero-media {
    height: 350px;
    min-height: 350px;
    align-items: stretch;
    overflow: hidden;
  }
body.palma-template-v2 .palma-v2-shell .hero-media img {
    width: 100%;
    height: 350px;
    max-height: none;
    object-fit: cover;
    object-position: center;
  }
body.palma-template-v2 .palma-v2-shell .hero-content {
    padding: 14px 20px 28px;
    gap: 11px;
  }
body.palma-template-v2 .palma-v2-shell .hero-desc {
    line-height: 21px;
  }
body.palma-template-v2 .palma-v2-shell .hero-ctas {
    gap: 9px;
    margin-top: 2px;
  }
body.palma-template-v2 .palma-v2-shell .hero-ctas .btn {
    min-height: 48px;
    padding: 12px 18px;
  }
body.palma-template-v2 .palma-v2-shell .hero-certs {
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    margin-top: 6px;
  }
/* Six certificates share one 7:8 display box: large enough on a 390px phone,
 * while object-fit keeps every document fully visible without distortion. */
body.palma-template-v2 .palma-v2-shell .hero-certs > img {
    display: block;
    width: calc((100% - 50px) / 6);
    height: auto !important;
    aspect-ratio: 7 / 8;
    object-fit: contain;
  }
body.palma-template-v2 .palma-v2-shell .hero-certs .hero-cert-link {
    display: flex;
    width: calc((100% - 50px) / 6);
    min-width: 0;
    aspect-ratio: 7 / 8;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
body.palma-template-v2 .palma-v2-shell .hero-certs .hero-cert-link img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    transform: none;
  }}
body.palma-template-v2 .palma-v2-shell #products .product-tabs { margin-top: 34px; }
body.palma-template-v2 .palma-v2-shell #products .tab-panels { display: block; }
body.palma-template-v2 .palma-v2-shell #products .product-story {
  position: relative;
  display: block;
  overflow: hidden;
  padding-top: 82px;
  padding-bottom: 88px;
}
body.palma-template-v2 .palma-v2-shell #products .product-group-head {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 38px;
}
body.palma-template-v2 .palma-v2-shell #products .product-group-head h3 {
  font-size: clamp(34px, 3.2vw, 50px);
  line-height: 1.04;
}
body.palma-template-v2 .palma-v2-shell #products .category-track {
  transform: none !important;
}
body.palma-template-v2 .palma-v2-shell #products .category-card {
  overflow: hidden;
  text-decoration: none;
}
body.palma-template-v2 .palma-v2-shell #products .product-group-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 34px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--brand-red);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application {
  background:
    radial-gradient(
      circle at 85% 18%,
      rgba(156,19,25,.045) 0,
      rgba(156,19,25,.025) 32%,
      transparent 72%
    ),
    #f7f4ef;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, .72fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card:nth-child(n+6) { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature {
  grid-column: 1;
  grid-row: 1 / span 2;
  padding: 24px;
  background: #fff;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature img {
  height: 500px;
  aspect-ratio: auto;
  object-fit: contain;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature span {
  font-size: 24px;
  line-height: 1.2;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature small {
  max-width: 520px;
  font-size: 14px;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support {
  padding: 13px 13px 18px;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support img {
  height: 190px;
  aspect-ratio: auto;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--technology {
  background:
    linear-gradient(rgba(156,19,25,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(156,19,25,.02) 1px, transparent 1px),
    #fff;
  background-size: 38px 38px;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card {
  padding: 20px 18px 24px;
  background: rgba(255,255,255,.94);
}
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card img {
  height: 250px;
  aspect-ratio: auto;
  object-fit: contain;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle {
  background:
    radial-gradient(circle at 12% 8%, rgba(156,19,25,.09), transparent 24%),
    #f0ede7;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card:nth-child(n+5) { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(280px, .72fr);
  grid-template-rows: auto auto 1fr;
  column-gap: 36px;
  align-items: center;
  min-height: 440px;
  padding: 26px 34px;
  border-radius: 12px;
  background-color: #fff;
  background-image: linear-gradient(110deg, #fff 0 65%, #a90f16 65% 100%);
  /* Keep the gradient out of the translucent 1px border. */
  background-clip: padding-box;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature img {
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 100%;
  height: 390px;
  aspect-ratio: auto;
  object-fit: contain;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature span, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature small {
  grid-column: 2;
  color: var(--body-color);
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature span {
  align-self: end;
  margin: 0;
  font-size: 30px;
  line-height: 1.08;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature small {
  align-self: start;
  margin: 14px 0 0;
  font-size: 15px;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--support img {
  height: 220px;
  aspect-ratio: auto;
  object-fit: contain;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--project {
  /* Keep the dark Golf & Traction panel flat; no red radial wash. */
  background: var(--dark-2);
}
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card {
  padding: 20px 20px 26px;
  border-color: rgba(255,255,255,.12);
  background: #fff;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img {
  height: 300px;
  aspect-ratio: auto;
  object-fit: contain;
}
body.palma-template-v2 .palma-v2-shell #products .product-story--project .product-group-cta { color: #fff; }
@media (max-width: 1024px) {body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature {
    grid-column: 1 / -1;
    grid-row: auto;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature img { height: 390px; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support img { height: 180px; }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature { grid-template-columns: 1fr 1fr; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products .product-tabs { margin-top: 18px; }
body.palma-template-v2 .palma-v2-shell #products .product-story, body.palma-template-v2 .palma-v2-shell #products .product-story.active {
    padding: 52px 20px 62px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-head {
    gap: 12px;
    margin-bottom: 24px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-head h3 {
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -0.025em;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-head p {
    font-size: 14px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-eyebrow {
    margin-bottom: 5px;
    font-size: 11px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story .category-grid {
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
    padding-bottom: 0;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story .category-track {
    width: 100%;
    max-width: 100%;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story .category-card {
    width: auto;
    min-width: 0;
    flex: none;
    scroll-snap-align: none;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-cta {
    margin-top: 26px;
    font-size: 14px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 14px 12px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature {
    grid-column: 1 / -1;
    grid-row: auto;
    padding: 16px 16px 22px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature img {
    height: 270px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature span {
    font-size: 19px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature small {
    font-size: 13px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support {
    padding: 9px 9px 15px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support img {
    height: 138px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card {
    padding: 10px 10px 16px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card img {
    height: 145px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature {
    grid-column: 1 / -1;
    display: block;
    min-height: 0;
    padding: 15px 15px 22px;
    border-radius: 12px;
    background-color: #fff;
    background-image: linear-gradient(180deg, #fff 0 72%, #a90f16 72% 100%);
    background-clip: padding-box;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature img {
    width: 100%;
    height: 270px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature span, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature small {
    display: block;
    color: var(--body-color);
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature span {
    margin: 18px 4px 0;
    font-size: 20px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature small {
    margin: 8px 4px 0;
    font-size: 13px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--support img {
    height: 145px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-grid {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-grid::-webkit-scrollbar { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-track {
    display: flex;
    width: max-content;
    max-width: none;
    gap: 14px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card {
    flex: 0 0 78vw;
    width: 78vw;
    scroll-snap-align: start;
    padding: 14px 14px 20px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img {
    height: 230px;
  }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products .product-story, body.palma-template-v2 .palma-v2-shell #products .product-story.active {
    padding-top: 44px;
    padding-bottom: 50px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-head { margin-bottom: 20px; }
body.palma-template-v2 .palma-v2-shell #products .product-group-cta { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--support {
    display: none;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-track {
    display: block;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature {
    width: 100%;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature img { height: 250px; }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature img { height: 245px; }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card img { height: 126px; }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img { height: 210px; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products.products { padding-top: 44px; }
body.palma-template-v2 .palma-v2-shell #products .products-desc { line-height: 21px; }
body.palma-template-v2 .palma-v2-shell #products .product-story, body.palma-template-v2 .palma-v2-shell #products .product-story.active {
    padding-top: 36px;
    padding-bottom: 46px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-head { margin-bottom: 18px; }
body.palma-template-v2 .palma-v2-shell #products .product-group-head h3 {
    font-size: 22px;
    line-height: 30px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-head p { display: none; }}
body.palma-template-v2 .palma-v2-shell .certs {
  padding: 100px 0 100px;
  background: #fff;
}
body.palma-template-v2 .palma-v2-shell .certs .section-head-center {
  max-width: 1080px;
  margin: 0 auto 20px;
  text-align: center;
}
body.palma-template-v2 .palma-v2-shell .certs .section-head-center h2.h2-dark {
  margin-bottom: 20px;
  font-size: 32px;
  line-height: 40px;
  font-weight: 500;
}
body.palma-template-v2 .palma-v2-shell .certs .section-desc {
  max-width: 900px;
  margin: 0 auto;
  color: var(--secondary);
  font-size: 16px;
  line-height: 27px;
  text-align: center;
}
/* SansanSports carousel parameters: 4 desktop / 2 tablet / 3 mobile,
 * 10px spacing, natural certificate ratio, inside brand-red arrows. */
body.palma-template-v2 .palma-v2-shell .certs .cert-slider {
  position: relative;
  width: 100%;
  max-width: 1080px;
  height: auto;
  margin: 0 auto;
  overflow: visible;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-viewport {
  width: 100%;
  height: auto;
  overflow: hidden;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-track {
  display: flex;
  width: 100%;
  height: auto;
  gap: 10px;
  transition: transform 500ms ease-out;
  will-change: transform;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-slide {
  display: flex;
  flex: 0 0 calc((100% - 30px) / 4);
  width: calc((100% - 30px) / 4);
  height: auto;
  align-items: stretch;
  justify-content: center;
  padding: 0;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-slide {
  align-items: center;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-slide img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 382px;
  object-fit: contain;
  background: #fff;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-slide.cert-clone {
  pointer-events: none;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: flex;
  width: 25px;
  height: 25px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--brand-red);
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform .2s ease, color .2s ease;
}
body.palma-template-v2 .palma-v2-shell .certs .cert-arrow:hover, body.palma-template-v2 .palma-v2-shell .certs .cert-arrow:focus-visible {
  color: var(--dark-red);
  transform: translateY(-50%) scale(1.08);
}
body.palma-template-v2 .palma-v2-shell .certs .cert-arrow.prev { left: -42px; }
body.palma-template-v2 .palma-v2-shell .certs .cert-arrow.next { right: -42px; }
@media (max-width: 1024px) and (min-width: 768px) {
  body.palma-template-v2 .palma-v2-shell .certs .cert-slider { height: auto; }
  body.palma-template-v2 .palma-v2-shell .certs .cert-slide {
    flex: 0 0 calc((100% - 10px) / 2);
    width: calc((100% - 10px) / 2);
  }
  body.palma-template-v2 .palma-v2-shell .certs .cert-slide { align-items: center; }
  body.palma-template-v2 .palma-v2-shell .certs .cert-slide img { width: 100%; height: auto; max-height: 517px; }
  body.palma-template-v2 .palma-v2-shell .certs .cert-arrow.prev { left: -12px; }
  body.palma-template-v2 .palma-v2-shell .certs .cert-arrow.next { right: -12px; }
}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .certs {
    padding: 40px 0;
  }
body.palma-template-v2 .palma-v2-shell .certs .container {
    padding-left: 20px;
    padding-right: 20px;
  }
body.palma-template-v2 .palma-v2-shell .certs .section-head-center {
    width: 335px;
    max-width: 100%;
    margin-bottom: 20px;
  }
body.palma-template-v2 .palma-v2-shell .certs .section-head-center h2.h2-dark {
    margin-bottom: 20px;
    font-size: 23px;
    line-height: 30px;
    font-weight: 500;
  }
body.palma-template-v2 .palma-v2-shell .certs .section-desc {
    font-size: 14px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell .certs .cert-slider {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
body.palma-template-v2 .palma-v2-shell .certs .cert-slide {
    flex: 0 0 calc((100% - 20px) / 3);
    width: calc((100% - 20px) / 3);
    height: auto;
    align-items: center;
    padding: 0;
  }
body.palma-template-v2 .palma-v2-shell .certs .cert-slide img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 160px;
  }
body.palma-template-v2 .palma-v2-shell .certs .cert-arrow.prev { left: -10px; }
body.palma-template-v2 .palma-v2-shell .certs .cert-arrow.next { right: -10px; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .testimonials h2.h2-dark, body.palma-template-v2 .palma-v2-shell .knowledge h2.h2-dark {
    font-size: 24px;
    line-height: 31px;
    font-weight: 400;
  }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .services-head { gap: 16px; margin-bottom: 28px; }
body.palma-template-v2 .palma-v2-shell .services-grid { gap: 24px; }
body.palma-template-v2 .palma-v2-shell .service-media img { height: 200px; }
body.palma-template-v2 .palma-v2-shell .service-body { padding: 26px 20px 30px; text-align: left; }
body.palma-template-v2 .palma-v2-shell .services .service-card .service-body h3 { font-size: 20px; line-height: 28px; margin-bottom: 8px; }
body.palma-template-v2 .palma-v2-shell .services .service-card .service-body p { font-size: 14px; line-height: 22px; margin-bottom: 16px; }
body.palma-template-v2 .palma-v2-shell .service-arrow svg { width: 22px; height: 22px; }
}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .why-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
body.palma-template-v2 .palma-v2-shell .why-left { display: contents; }
body.palma-template-v2 .palma-v2-shell .why-left h2 { order: 1; margin-bottom: 15px; }
body.palma-template-v2 .palma-v2-shell .why-left p { order: 2; margin-bottom: 24px; }
body.palma-template-v2 .palma-v2-shell .why-right { order: 3; }
body.palma-template-v2 .palma-v2-shell .why-ctas {
    order: 4;
    gap: 10px;
    margin-top: 24px;
  }
body.palma-template-v2 .palma-v2-shell .why-ctas .btn {
    width: 100%;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 15px;
    line-height: 22px;
  }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .hero-ctas { gap: 10px; }
body.palma-template-v2 .palma-v2-shell .hero-ctas .btn {
    min-height: 40px;
    padding: 8px 14px;
    font-size: 15px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell #products .products-head { padding: 0 20px; }
body.palma-template-v2 .palma-v2-shell #products .product-story, body.palma-template-v2 .palma-v2-shell #products .product-story.active {
    padding-left: 0;
    padding-right: 0;
  }
body.palma-template-v2 .palma-v2-shell #products .product-group-head {
    padding-left: 20px;
    padding-right: 20px;
  }
body.palma-template-v2 .palma-v2-shell .why-right { gap: 20px; }
body.palma-template-v2 .palma-v2-shell .why-item {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
body.palma-template-v2 .palma-v2-shell .why-icon {
    width: 48px;
    height: 48px;
    margin: 0;
  }
body.palma-template-v2 .palma-v2-shell .why-item h3 { font-size: 18px; line-height: 26px; }
body.palma-template-v2 .palma-v2-shell .materials-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    justify-content: center;
  }
body.palma-template-v2 .palma-v2-shell .material-logo {
    width: 105px;
    height: 46px;
    justify-self: center;
    padding: 0;
    border-radius: 0;
  }
body.palma-template-v2 .palma-v2-shell .material-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
body.palma-template-v2 .palma-v2-shell .workflow h2.center { margin-bottom: 24px; }
body.palma-template-v2 .palma-v2-shell .workflow-grid { gap: 24px; }
body.palma-template-v2 .palma-v2-shell .workflow-step svg {
    width: 45px;
    height: 45px;
    margin-bottom: 8px;
  }
body.palma-template-v2 .palma-v2-shell .workflow-step h3 { font-size: 15px; line-height: 21px; font-weight: 500; }
body.palma-template-v2 .palma-v2-shell .workflow .section-ctas {
    gap: 10px;
    margin-top: 24px;
  }
body.palma-template-v2 .palma-v2-shell .workflow .section-ctas .btn {
    width: 100%;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 15px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell .about-media { display: none; }
body.palma-template-v2 .palma-v2-shell .about-inner { min-height: 0; }
body.palma-template-v2 .palma-v2-shell .about-text {
    min-height: 0;
    padding: 40px 20px;
  }
body.palma-template-v2 .palma-v2-shell .about-text h2 { margin-bottom: 20px; line-height: 33px; font-weight: 600; }
body.palma-template-v2 .palma-v2-shell .about-text p { margin-bottom: 24px; }
body.palma-template-v2 .palma-v2-shell .about-ctas { gap: 10px; }
body.palma-template-v2 .palma-v2-shell .about-ctas .btn {
    width: 100%;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 15px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell .testi-head { gap: 13px; margin-bottom: 16px; }
body.palma-template-v2 .palma-v2-shell .testi-avatar {
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
  }
body.palma-template-v2 .palma-v2-shell .testi-name { font-size: 15px; line-height: 22px; }
body.palma-template-v2 .palma-v2-shell .testi-role { font-size: 12px; line-height: 16px; font-style: normal; }
body.palma-template-v2 .palma-v2-shell .testi-slide blockquote { font-size: 14px; line-height: 20px; font-weight: 300; }
body.palma-template-v2 .palma-v2-shell .testi-dots { gap: 8px; margin-top: 20px; }
body.palma-template-v2 .palma-v2-shell .knowledge h2.h2-dark { font-size: 23px; line-height: 35px; margin-bottom: 24px; }
body.palma-template-v2 .palma-v2-shell .blog-card { margin-bottom: 22px; }
body.palma-template-v2 .palma-v2-shell .blog-card img { margin-bottom: 12px; }
body.palma-template-v2 .palma-v2-shell .blog-card h3 { font-size: 16px; line-height: 22px; font-weight: 500; margin-bottom: 6px; }
body.palma-template-v2 .palma-v2-shell .blog-card p {
    display: -webkit-box;
    min-height: 40px;
    overflow: hidden;
    font-size: 12px;
    line-height: 20px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
body.palma-template-v2 .palma-v2-shell .knowledge-more { margin-top: 26px; text-align: center; }
body.palma-template-v2 .palma-v2-shell .knowledge-more a {
    display: inline-block;
    width: 120px;
    height: 33px;
    border: 1px solid #f6f4f0;
    border-radius: 1px;
    font-size: 21px;
    line-height: 31px;
    white-space: nowrap;
  }

body.palma-template-v2 .palma-v2-shell .footer-logo { width: 120px; margin-bottom: 10px; }
body.palma-template-v2 .palma-v2-shell .footer-tagline { font-size: 14px; line-height: 22px; margin-bottom: 20px; }
body.palma-template-v2 .palma-v2-shell .footer-social a { width: 36px; height: 36px; }
body.palma-template-v2 .palma-v2-shell .footer-contact-title, body.palma-template-v2 .palma-v2-shell .footer-address, body.palma-template-v2 .palma-v2-shell .footer-contact a[href^="tel:"] { display: none; }
body.palma-template-v2 .palma-v2-shell .footer-contact .contact-line { font-size: 14px; line-height: 22px; }
body.palma-template-v2 .palma-v2-shell .footer-top { gap: 30px; }
body.palma-template-v2 .palma-v2-shell .footer-divider { margin: 36px 0; }
body.palma-template-v2 .palma-v2-shell .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 12px;
  }
body.palma-template-v2 .palma-v2-shell .footer-col h4 { margin-bottom: 8px; font-size: 14px; line-height: 22px; font-weight: 900; }
body.palma-template-v2 .palma-v2-shell .footer-col a { padding: 0; font-size: 14px; line-height: 22px; }
body.palma-template-v2 .palma-v2-shell .footer-copy p { font-size: 14px; line-height: 22px; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products .product-story .category-grid, body.palma-template-v2 .palma-v2-shell #products .product-story .category-grid-audience {
    overflow-x: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-grid {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    padding-left: 18px;
    padding-right: 20px;
    scroll-snap-type: x mandatory;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-grid::-webkit-scrollbar { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track {
    display: flex;
    width: max-content;
    gap: 35px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card {
    flex: 0 0 300px;
    width: 300px;
    scroll-snap-align: start;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card img {
    width: 300px;
    height: 430px;
    padding: 0;
    border-radius: 0;
    object-fit: cover;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card span {
    margin: 10px 17px 0;
    color: #303030;
    font-size: 13px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card small { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card {
    width: 158px;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card img {
    width: 158px;
    height: 200px;
    padding: 0;
    border-radius: 0;
    object-fit: contain;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card span {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 16px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card small { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-grid {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    padding-left: 18px;
    padding-right: 20px;
    scroll-snap-type: x mandatory;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-grid::-webkit-scrollbar { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-track {
    display: flex;
    width: max-content;
    gap: 50px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card {
    flex: 0 0 300px;
    width: 300px;
    scroll-snap-align: start;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card img {
    width: 300px;
    height: 200px;
    padding: 0;
    border-radius: 0;
    object-fit: cover;
  }
  /* Keep the motorcycle feature card outside the generic mobile card reset. */
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--feature {
    border-radius: 12px;
    background-color: #fff;
    background-clip: padding-box;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card span {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card small { display: none; }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .product-group-head {
    padding-left: 20px;
    padding-right: 67px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-track {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 62px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card {
    width: 241px;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img {
    width: 241px;
    height: 327px;
    padding: 0;
    border-radius: 0;
    object-fit: contain;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card span {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 22px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card small { display: none; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--support { display: block; }
body.palma-template-v2 .palma-v2-shell .why-right { gap: 49px; }
body.palma-template-v2 .palma-v2-shell .why-item { gap: 28px; }
body.palma-template-v2 .palma-v2-shell .why-item h3 { margin-bottom: 8px; }
body.palma-template-v2 .palma-v2-shell .why-item p { min-height: 66px; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-grid, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-grid { padding-left: 0; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-track { padding-left: 18px; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card { display: block; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card.product-card--support, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--support { display: block !important; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card:nth-child(8) { display: none !important; }}
@media (max-width: 767px) {
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track { gap: 35px; }
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-track { gap: 50px; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card:first-child, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card:first-child {
    box-sizing: border-box;
    width: min(318px, calc(100vw - 40px));
    max-width: 100%;
    padding-left: 18px;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card span {
    margin: 10px 0 0;
  }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img { height: 327px !important; }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card:first-child, body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card:first-child { flex: 0 0 min(318px, calc(100vw - 40px)); }
body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img {
    min-height: 327px !important;
    max-height: none !important;
  }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .mdmd-inner {
    display: flex;
    flex-direction: column;
  }
body.palma-template-v2 .palma-v2-shell .mdmd-media { order: -1; }
body.palma-template-v2 .palma-v2-shell .mdmd-media img {
    height: 432px;
    object-fit: cover;
  }
body.palma-template-v2 .palma-v2-shell .stats-grid {
    width: 250px;
    margin: 0 auto;
  }}
@media (max-width: 767px) {body.palma-template-v2 .palma-v2-shell .stats-grid { width: 100%; }
body.palma-template-v2 .palma-v2-shell .stat-item { text-align: center; }
body.palma-template-v2 .palma-v2-shell .stat-icon { margin: 0 auto; }}

/* PALMA Template V2 foundation. Scoped only to pages using this template. */
body.palma-template-v2 {
    --palma-v2-red: #9c1319;
    --palma-v2-paper: #f6f4f0;
    --palma-v2-ink: #303030;
}

body.palma-template-v2 .palma-template-v2-foundation {
    box-sizing: border-box;
    max-width: 760px;
    min-height: 60vh;
    margin: 0 auto;
    padding: 72px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--palma-v2-ink);
    font-family: inherit;
}

body.palma-template-v2 .palma-template-v2-foundation__eyebrow {
    color: var(--palma-v2-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

body.palma-template-v2 .palma-template-v2-foundation__title {
    margin: 12px 0 16px;
    font-size: 30px;
    line-height: 36px;
}

body.palma-template-v2 .palma-template-v2-foundation__text {
    max-width: 560px;
    margin: 0;
    font-size: 15px;
    line-height: 24px;
}

body.palma-template-v2 .palma-template-v2-foundation__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 32px 0 0;
}

body.palma-template-v2 .palma-template-v2-foundation__facts div {
    padding: 16px;
    border: 1px solid rgba(48, 47, 52, 0.12);
    border-radius: 8px;
    background: var(--palma-v2-paper);
}

body.palma-template-v2 .palma-template-v2-foundation__facts dt {
    margin-bottom: 6px;
    color: rgba(48, 47, 52, 0.62);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

body.palma-template-v2 .palma-template-v2-foundation__facts dd {
    margin: 0;
    font-size: 13px;
    line-height: 19px;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    body.palma-template-v2 .palma-template-v2-foundation__facts {
        grid-template-columns: 1fr;
    }
}

/* V2 uses the existing WordPress site chrome. The static reset is intentionally
   contained to .palma-v2-shell; these guards make that contract explicit. */
body.palma-template-v2 .site-header-palma,
body.palma-template-v2 .site-footer-palma,
body.palma-template-v2 .site-header-palma *,
body.palma-template-v2 .site-footer-palma * {
  box-sizing: border-box;
}
body.palma-template-v2 .site-header-palma,
body.palma-template-v2 .site-footer-palma {
  overflow: visible;
}

/* ============================================================
 * P0 pixel fix (2026-08-16): restore V2 line-height.
 * functions.php injects "body,p,li { line-height:1.75 !important }",
 * which overrides template-v2.css. Scope the restore to the 12
 * content sections (.palma-v2-shell) so the WP header/footer keep
 * their own line-heights, then re-apply element-specific exceptions.
 * ============================================================ */
body.palma-template-v2 .palma-v2-shell,
body.palma-template-v2 .palma-v2-shell p,
body.palma-template-v2 .palma-v2-shell li {
  line-height: 22px !important;
}

/* All-breakpoint exceptions (higher specificity than the base above). */
body.palma-template-v2 .palma-v2-shell .mdmd-list li {
  line-height: 26px !important;
}

/* SansanSports-scale MDMD copy needs stronger desktop line-height guards than
   the V2 22px baseline. Scoped to desktop so compact breakpoints stay intact. */
@media (min-width: 1025px) {
  body.palma-template-v2 .palma-v2-shell .mdmd-desc {
    line-height: 29px !important;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-list li {
    line-height: 32px !important;
  }
}
/* V1 functions.php leaks ".stat-icon { margin-bottom:12px !important }" into V2.
 * Restore the static prototype's stat-icon spacing (10px desktop, 0 mobile). */
body.palma-template-v2 .palma-v2-shell .stat-icon {
  margin-bottom: 10px !important;
}

/* Mobile-specific exceptions. */
@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell .stat-icon { margin-bottom: 0 !important; }

  body.palma-template-v2 .palma-v2-shell .hero-desc { line-height: 21px !important; }
  body.palma-template-v2 .palma-v2-shell #products .products-desc { line-height: 21px !important; }
  body.palma-template-v2 .palma-v2-shell .blog-card p { line-height: 20px !important; }
}

/* process 步骤标题字重 400 -> 500（回归 P1） */
body.palma-template-v2 .palma-v2-shell .workflow-step h3 {
  font-weight: 500 !important;
}

@media (max-width: 767px) {






}

@media (max-width: 767px) {




}

/* ========================================================================
   FINAL RESPONSIVE COHESION PASS — match the benchmark's reading order
   without changing PALMA's battery content or CF7 functionality.
   ======================================================================== */
/* Desktop: Hero image first (left), editorial copy second (right); MDMD copy first (left), media second (right). */
@media (min-width: 1025px) {
  /* Desktop Hero keeps a balanced image/content footprint while the image extends
     beneath a soft cream blend, avoiding a visible two-panel seam.
     these order declarations make that intent explicit and prevent later overrides. */
  body.palma-template-v2 .palma-v2-shell .hero {
    grid-template-columns: 50% 50%;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media {
    order: 1;
  }
  body.palma-template-v2 .palma-v2-shell .hero-content {
    order: 2;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-text {
    order: 1;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-media {
    order: 2;
  }
}
/* Mobile: image-led opening of each editorial story, matching the benchmark. */
@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell .hero {
    display: flex;
    flex-direction: column;
    padding-top: 79px;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media {
    order: 1;
  }
  body.palma-template-v2 .palma-v2-shell .hero-content {
    order: 2;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-media {
    order: 1;
    width: 100%;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-text {
    order: 2;
  }
  /* Reduce repeated product-story padding so the catalogue reads as one flow. */
  body.palma-template-v2 .palma-v2-shell #products .product-story,
  body.palma-template-v2 .palma-v2-shell #products .product-story.active {
    padding-top: 28px;
    padding-bottom: 34px;
  }
  /* Keep the visible application feature card filled by its enlarged image. */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature img {
    height: 430px;
  }
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .product-card--feature img {
    height: 220px;
  }
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature small {
    display: block;
    margin: 8px 17px 0;
  }
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img {
    height: 190px;
  }


}

/* PALMA-specific mobile / tablet polish: make product boundaries legible and
   remove the vertical dead space unique to this implementation. */
body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card,
body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card,
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card {
  border: 1px solid rgba(48, 47, 52, 0.14);
  background: #fff;
  box-shadow: 0 8px 24px rgba(48, 47, 52, 0.04);
}

@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell .why {
    padding: 64px 0 56px;
  }
  body.palma-template-v2 .palma-v2-shell .why-left p {
    margin-bottom: 18px;
  }
  body.palma-template-v2 .palma-v2-shell .why-right {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 12px;
  }
  body.palma-template-v2 .palma-v2-shell .why-item {
    gap: 7px;
    align-items: stretch;
    text-align: left;
  }
  body.palma-template-v2 .palma-v2-shell .why-icon {
    width: 40px;
    height: 40px;
  }
  body.palma-template-v2 .palma-v2-shell .why-item h3 {
    margin-bottom: 5px;
  }
  body.palma-template-v2 .palma-v2-shell .why-item p {
    min-height: 0;
    font-size: 13px;
    line-height: 20px;
  }
  body.palma-template-v2 .palma-v2-shell .why-ctas {
    gap: 8px;
    margin-top: 20px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  body.palma-template-v2 .palma-v2-shell .mdmd {
    padding: 64px 0;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 32px;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-media {
    width: 100%;
  }
  body.palma-template-v2 .palma-v2-shell .mdmd-media img {
    width: 100%;
    height: 560px;
    max-height: 560px;
    object-fit: cover;
  }
  body.palma-template-v2 .palma-v2-shell .services {
    padding: 72px 0 64px;
  }
  body.palma-template-v2 .palma-v2-shell .services-head {
    gap: 20px;
    margin-bottom: 32px;
  }
  body.palma-template-v2 .palma-v2-shell .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  body.palma-template-v2 .palma-v2-shell .service-media img {
    height: 220px;
  }
  body.palma-template-v2 .palma-v2-shell .service-body {
    padding: 28px 22px 32px;
  }
}

/* iPad landscape and short-height tablets: retain the desktop's split hero
   instead of stacking a 1024px-wide image above the copy. */
@media (max-width: 1024px) and (orientation: landscape) {
  body.palma-template-v2 .palma-v2-shell .hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: minmax(0, 1fr);
    height: auto;
    min-height: calc(100vh - 72px);
    padding-top: 0;
    overflow: hidden;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media {
    position: absolute;
    z-index: 0;
    inset: 0;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media .palma-home-hero-image--desktop { display: block; }
  body.palma-template-v2 .palma-v2-shell .hero-media .palma-home-hero-image--mobile { display: none; }
  body.palma-template-v2 .palma-v2-shell .hero-media::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    background: rgba(246, 244, 240, 0.68);
  }
  body.palma-template-v2 .palma-v2-shell .hero-content {
    position: relative;
    z-index: 2;
    grid-column: 2;
    order: 2;
    max-width: none;
    align-items: stretch; /* 等高: 同一行卡片底部对齐 */
    justify-content: center;
    gap: 14px;
    padding: 24px clamp(28px, 4vw, 56px);
    text-align: left;
  }
  body.palma-template-v2 .palma-v2-shell .hero-title {
    max-width: 480px;
    font-size: clamp(32px, 4.2vw, 44px);
    line-height: 1.1;
  }
  body.palma-template-v2 .palma-v2-shell .hero-desc {
    max-width: 480px;
    font-size: 15px;
    line-height: 24px !important;
  }
  body.palma-template-v2 .palma-v2-shell .hero-ctas {
    flex-direction: row;
    width: auto;
    gap: 12px;
  }
  body.palma-template-v2 .palma-v2-shell .hero-ctas .btn { width: auto; }
  body.palma-template-v2 .palma-v2-shell .hero-certs { gap: 18px; }
  body.palma-template-v2 .palma-v2-shell .hero-certs img { transform: none; }
}

/* ========================================================================
   DELIVERY GATE — mobile Hero image keeps the source aspect ratio while the
   complete conversion path is verified in the first screen at 375x812.
   The shared WordPress header is sticky in normal flow, so V2 must not add a
   second header-sized top offset inside the Hero.
   ======================================================================== */
@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell .hero {
    padding-top: 0;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media {
    height: auto;
    min-height: 0;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 1298 / 1212;
    object-fit: contain;
    object-position: center;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media .palma-home-hero-image--desktop {
    display: none;
  }
  body.palma-template-v2 .palma-v2-shell .hero-media .palma-home-hero-image--mobile {
    display: block;
  }
}

/* Equipment 区工厂入口（审计修复 2026-09-04）：10 工序内容在 /factory/，首页只差入口 */
body.palma-template-v2 .palma-v2-shell .materials-cta { margin-top: 28px; }

/* Longer end-to-end CTA must wrap inside the 390px mobile gutter. */
@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell .materials-cta .btn {
    min-width: 0;
    white-space: normal;
    text-align: center;
  }
}

/* Knowledge 卡片应用分组标签（改版清单 #12，2026-09-04） */
body.palma-template-v2 .palma-v2-shell .blog-card-cat {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-red);
}
body.palma-template-v2 .palma-v2-shell .blog-card:hover .blog-card-cat { text-decoration: underline; }

/* Home proof strip: wide benchmark layout with unified icon badges. */
body.palma-template-v2 .palma-v2-shell .stats-strip {
  position: relative;
  overflow: hidden;
  padding: 56px 0 70px;
}

body.palma-template-v2 .palma-v2-shell .stats-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

body.palma-template-v2 .palma-v2-shell .stat-item {
  position: relative;
  padding: 8px 18px;
  text-align: center;
}

/* SansanSports-scale strip: widen the desktop row and let centered metric
   columns breathe without adding vertical separators. */
@media (min-width: 1025px) {
  body.palma-template-v2 .palma-v2-shell .stats-strip .container-narrow {
    max-width: 1240px;
  }

  body.palma-template-v2 .palma-v2-shell .stats-grid {
    gap: 0 56px;
  }
}

body.palma-template-v2 .palma-v2-shell .stat-icon {
  display: block;
  box-sizing: border-box;
  object-fit: contain;
  width: 78px;
  height: 78px;
  margin: 0 auto 20px !important;
  padding: 17px;
  border-radius: 50%;
  color: var(--accent-red);
  background:
    radial-gradient(circle at 31% 23%, rgba(255, 255, 255, 0.98) 0%, #fdf0f0 58%, #f8dede 100%);
  box-shadow:
    0 12px 24px rgba(156, 19, 25, 0.09),
    inset 0 0 0 1px rgba(255, 255, 255, 0.82);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
  transform: translateZ(0);
}

body.palma-template-v2 .palma-v2-shell .stat-item:hover .stat-icon {
  transform: translateY(-5px);
  box-shadow:
    0 17px 30px rgba(156, 19, 25, 0.13),
    inset 0 0 0 1px rgba(255, 255, 255, 0.9);
}

body.palma-template-v2 .palma-v2-shell .stat-number {
  max-width: 225px;
  margin: 0 auto;
  font-size: 34px;
  line-height: 42px;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: var(--accent-red);
}

/* Paint a zero immediately while the footer counter script replaces the
   server-rendered final value, preventing a final-value-to-zero flash. */
html.palma-stats-counter-pending body.palma-template-v2 .palma-v2-shell .stat-number {
  position: relative;
  color: transparent;
}

html.palma-stats-counter-pending body.palma-template-v2 .palma-v2-shell .stat-number::after {
  content: "0" attr(data-suffix);
  position: absolute;
  inset: 0;
  color: var(--accent-red);
}

body.palma-template-v2 .palma-v2-shell .stat-label {
  margin-top: 5px;
  font-size: 16px;
  line-height: 25px;
  color: #676767;
}

@media (max-width: 1024px) {
  body.palma-template-v2 .palma-v2-shell .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 24px;
  }

  body.palma-template-v2 .palma-v2-shell .stat-item {
    padding: 0;
  }

  body.palma-template-v2 .palma-v2-shell .stat-icon {
    width: 66px;
    height: 66px;
    padding: 14px;
    margin-bottom: 14px !important;
  }

  body.palma-template-v2 .palma-v2-shell .stat-number {
    font-size: 28px;
    line-height: 35px;
  }

  body.palma-template-v2 .palma-v2-shell .stat-label {
    font-size: 15px;
    line-height: 23px;
  }
}

@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell .stats-strip {
    padding: 42px 0 52px;
  }

  body.palma-template-v2 .palma-v2-shell .stats-grid {
    gap: 28px 16px;
  }

  body.palma-template-v2 .palma-v2-shell .stat-icon {
    width: 58px;
    height: 58px;
    padding: 13px;
    margin-bottom: 12px !important;
  }

  body.palma-template-v2 .palma-v2-shell .stat-number {
    font-size: 25px;
    line-height: 31px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.palma-template-v2 .palma-v2-shell .stat-icon {
    transition: none;
  }

  body.palma-template-v2 .palma-v2-shell .stat-item:hover .stat-icon {
    transform: none;
  }
}

/* Keep the annual-shipment value on one line at the proof-strip's wider
   desktop scale. Scale it only on compact viewports so "pcs" never drops. */
body.palma-template-v2 .palma-v2-shell .stat-item:last-child .stat-number {
  max-width: none;
  white-space: nowrap;
}

@media (min-width: 1025px) {
  body.palma-template-v2 .palma-v2-shell .stat-item:last-child .stat-number {
    font-size: clamp(26px, 2.65vw, 34px);
    line-height: clamp(32px, 3.28vw, 42px);
  }
}

@media (max-width: 1024px) {
  body.palma-template-v2 .palma-v2-shell .stat-item:last-child .stat-number {
    font-size: clamp(12px, 4.2vw, 28px);
    line-height: clamp(15px, 5.25vw, 35px);
  }
}

/* Restore the original panel breathing space, but keep the redundant hairline removed. */
body.palma-template-v2 .palma-v2-shell #products.products { padding-top: 0; }
body.palma-template-v2 .palma-v2-shell #products .product-tabs { margin-top: 0; }
body.palma-template-v2 .palma-v2-shell #products .product-story--application {
  padding-top: 82px;
  border-top: 0;
}

@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--application {
    padding-top: 36px;
  }
}

/* Homepage Motorcycle feature banner: scene-led product story from the approved reference. */
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(500px, 1.08fr);
  grid-template-rows: 1fr;
  align-items: stretch;
  min-height: 400px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background-color: #f9f9f8;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.58), rgba(255,255,255,.66)),
    url('../images/palma/motorcycle-rider-bg.jpg');
  background-position: center;
  background-size: cover;
  box-shadow: 0 14px 34px rgba(48, 47, 52, 0.07);
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card:hover {
  border-color: transparent;
  box-shadow: 0 20px 44px rgba(48, 47, 52, 0.12);
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card:focus-visible {
  outline: 3px solid var(--brand-red);
  outline-offset: 4px;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__watermark {
  position: absolute;
  z-index: 0;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  top: 42px;
  left: 28px;
  margin: 0;
  color: rgba(48, 47, 52, 0.06) !important;
  font-size: clamp(42px, 3.1vw, 52px) !important;
  font-weight: 900;
  line-height: 0.88 !important;
  pointer-events: none;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__battery {
  position: absolute;
  z-index: 1;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  bottom: -3px;
  left: 8%;
  width: min(48%, 560px) !important;
  height: 430px !important;
  max-width: none;
  padding: 0;
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 22px 16px rgba(48, 47, 52, 0.12));
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__content {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: 28px 34px 24px 18px;
  color: var(--body-color);
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__content span,
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__content small {
  grid-column: auto;
  grid-row: auto;
  align-self: auto;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__eyebrow {
  display: flex !important;
  align-items: center;
  gap: 16px;
  margin: 0 0 12px !important;
  color: var(--brand-red) !important;
  font-size: 15px !important;
  font-weight: 800;
  line-height: 1.2 !important;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  flex: 0 0 28px;
  background: var(--brand-red);
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__title {
  display: block;
  margin: 0;
  color: var(--body-color);
  font-size: clamp(34px, 3.15vw, 48px);
  font-weight: 800;
  line-height: 1.05;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__summary {
  display: block;
  max-width: 600px;
  margin: 10px 0 0 !important;
  color: #4f5053;
  font-size: 16px;
  line-height: 1.55;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__specs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 18px 0 0 !important;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  min-height: 100px;
  margin: 0;
  padding: 0 12px;
  text-align: center;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec + .motorcycle-feature-card__spec {
  border-left: 1px solid rgba(48, 47, 52, 0.13);
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.68);
  color: #df1d24;
  font-size: 24px;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec strong {
  min-height: 22px;
  color: var(--body-color);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec small {
  display: block;
  margin: 3px 0 0;
  color: #6d6d70;
  font-size: 12px;
  line-height: 1.35;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start !important;
  width: fit-content !important;
  gap: 12px;
  min-width: 248px;
  min-height: 56px;
  margin: 16px 0 0 !important;
  padding: 14px 24px;
  border-radius: 4px;
  background: var(--brand-red);
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800;
  line-height: 1.25 !important;
  transition: background-color .2s ease;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card:hover .motorcycle-feature-card__cta {
  background: #7e0c14;
}

@media (max-width: 1120px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card {
    grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__battery {
    bottom: -23px;
    left: 8%;
    width: 42%;
    height: 380px !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__content {
    padding-right: 24px;
  }
}

@media (min-width: 1000px) and (max-width: 1120px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__battery {
    bottom: -3px;
    left: -1%;
    width: min(56%, 500px) !important;
    height: 430px !important;
  }
}

@media (min-width: 768px) and (max-width: 999px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__battery {
    left: 3%;
  }
}

@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card {
    display: flex;
    flex: 0 0 calc(100vw - 60px) !important;
    flex-direction: column;
    width: calc(100vw - 60px) !important;
    min-height: 0;
    padding: 0 !important;
    background-image:
      linear-gradient(rgba(255,255,255,.48), rgba(255,255,255,.68)),
      url('../images/palma/motorcycle-rider-bg.jpg');
    background-position: 68% center;
    background-size: cover;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__watermark {
    top: 30px;
    left: 18px;
    font-size: 40px !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__battery {
    position: relative;
    bottom: auto;
    left: auto;
    order: 1;
    width: 100% !important;
    height: 245px !important;
    margin: 10px 0 -8px !important;
    padding: 0 24px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__content {
    order: 2;
    width: 100%;
    padding: 8px 18px 20px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__eyebrow {
    gap: 10px;
    margin-bottom: 12px !important;
    font-size: 12px !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__eyebrow::before {
    width: 22px;
    flex-basis: 22px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__title {
    font-size: 28px;
    line-height: 1.1;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__summary {
    display: block !important;
    margin-top: 10px !important;
    font-size: 14px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 0;
    margin-top: 22px !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec {
    min-height: 92px;
    padding: 0 8px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec:nth-child(3) {
    border-left: 0;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec i {
    width: 44px;
    height: 44px;
    font-size: 21px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__cta {
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0;
    min-height: 52px;
    margin-top: 20px !important;
    font-size: 15px !important;
  }
}

/* =====================================================================
   Homepage 「三大产品平台」移动端统一产品卡系统 (方案 A / 4:3 展示台)
   ---------------------------------------------------------------------
   追加在文件末尾以覆盖下方更靠后的移动端产品块 (该块把图片强塞
   430/200/327 竖框、隐藏描述、透明卡)。仅影响 <=767px 手机端, 不触碰
   --vehicle (摩托车特殊卡), 不改 DOM / 数据库 / 素材。三个平台统一为:
   「1 张主卡(feature) + 横向滑动紧凑卡(support)」+ 统一白卡 + 4:3 展示台。
   注意: track 为 width:max-content, 卡宽必须用 vw 固定值, 不可用百分比,
   否则会被内容撑爆。
   ===================================================================== */
@media (max-width: 767px) {
  /* 横向滚动容器 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-grid,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-grid,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-grid {
    overflow-x: auto !important;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 0;
    scroll-padding-inline: 16px;
    -webkit-overflow-scrolling: touch;
  }
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-grid::-webkit-scrollbar,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-grid::-webkit-scrollbar,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-grid::-webkit-scrollbar {
    display: none;
  }

  /* 轨道: 横向 flex, 卡片不拉伸保持自身高度 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-track,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-track,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    grid-template-columns: none !important;
    width: max-content;
    max-width: none !important;
    justify-content: flex-start;
    align-items: stretch; /* 等高: 同一行卡片底部对齐 */
    gap: 14px;
    padding: 0 16px;
    box-sizing: border-box;
    transform: none !important;
  }

  /* 主卡(feature): 全视口约 80vw 大卡 + 右侧露出下一张边缘作横滑提示 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--feature,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .product-card--feature,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .product-card--feature {
    flex: 0 0 80vw !important;
    width: 80vw !important;
    scroll-snap-align: start;
  }

  /* 紧凑 support 卡: 约 74vw, 首屏露出部分作为可横滑提示 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .product-card--support,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .product-card--support,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .product-card--support {
    display: block !important;
    flex: 0 0 74vw !important;
    width: 74vw !important;
    scroll-snap-align: start;
  }

  /* 统一产品卡表面: 白卡 + 12px 圆角 + 1px 中性边框 + 内边距 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card {
    background: #fff !important;
    border: 1px solid rgba(48, 47, 52, 0.1);
    border-radius: 12px !important;
    padding: 14px 16px 18px !important;
    box-shadow: 0 1px 2px rgba(48, 47, 52, 0.04);
    overflow: hidden;
    text-decoration: none;
  }
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card img,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card img,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img {
    border-radius: 8px !important;
  }

  /* 统一 4:3 图片展示台: contain + 浅色底 + 内边距, 保证产品完整不被裁切 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card img,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card img,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card img {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: contain !important;
    object-position: center;
    background: #ffffff !important;
    padding: 10px;
    box-sizing: border-box;
  }

  /* 标题: 固定 1-2 行区域 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card span,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card span,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card span {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 14px 4px 0 !important;
    font-size: 16px !important;
    line-height: 22px;
    font-weight: 700;
    color: var(--body-color);
  }

  /* 描述: 最多两行, 由浏览器在行尾补省略号 */
  body.palma-template-v2 .palma-v2-shell #products .product-story--application .category-card small,
  body.palma-template-v2 .palma-v2-shell #products .product-story--technology .category-card small,
  body.palma-template-v2 .palma-v2-shell #products .product-story--project .category-card small {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 8px 4px 0 !important;
    font-size: 13px;
    line-height: 19px;
    color: #6b6b6b;
  }
}

/* Motorcycle rail: keep the first card inset from the component edge after snap. */
@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-grid {
    scroll-padding-inline: 16px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-track {
    box-sizing: border-box;
    padding: 0 16px;
  }
}

/* Restore the approved Motorcycle scene behind the dynamic product feature card.
   The dynamic rail renders a WooCommerce featured image (often a white-backed
   raster), so multiply blending lets that image sit on the scene without a
   visible rectangular "image inside an image" box. */
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--feature:not(.motorcycle-feature-card) {
  position: relative;
  isolation: isolate;
  background-color: #f9f9f8 !important;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.66)),
    url('../images/palma/motorcycle-rider-bg.jpg') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-clip: padding-box;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--feature:not(.motorcycle-feature-card) img {
  background: transparent !important;
  mix-blend-mode: multiply;
}

body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--feature:not(.motorcycle-feature-card) span,
body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--feature:not(.motorcycle-feature-card) small {
  position: relative;
  z-index: 1;
}

@media (max-width: 1024px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--feature:not(.motorcycle-feature-card) {
    background-position: 42% center !important;
  }
}

@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .category-card.product-card--feature:not(.motorcycle-feature-card) {
    background-image:
      linear-gradient(rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.68)),
      url('../images/palma/motorcycle-rider-bg.jpg') !important;
    background-position: 68% center !important;
  }
}

/* Compact the restored motorcycle scene on phones without changing desktop. */
@media (max-width: 767px) {
  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card {
    min-height: 0 !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__battery {
    height: 190px !important;
    margin: 6px 0 -4px !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__content {
    padding: 4px 18px 18px !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__summary {
    font-size: 14px;
    line-height: 1.4;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__specs {
    gap: 0 10px;
    margin-top: 14px !important;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec {
    min-height: 76px;
    padding: 0 4px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec i {
    width: 38px;
    height: 38px;
    margin-bottom: 6px;
    font-size: 18px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__spec small {
    font-size: 11px;
  }

  body.palma-template-v2 .palma-v2-shell #products .product-story--vehicle .motorcycle-feature-card__cta {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px;
    margin-top: 12px !important;
  }
}
