

body.single-equipment { --section-y: var(--section-y-sm); }

.section[id] { scroll-margin-top: 140px; }
.feature-panel { scroll-margin-top: 140px; }

#overview { padding-bottom: var(--space-4); }
#specs { padding-top: var(--space-6); }


.hero__eyebrow {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--brand-primary-light);
  margin-bottom: var(--space-3);
}


.product-nav {
  background: var(--white);
  border-bottom: 1px solid var(--neutral-200);
  box-shadow: var(--shadow-card);
  position: sticky;
  top: 80px;
  z-index: 20;
}
.product-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  padding-top: var(--space-3);
  padding-bottom: var(--space-3);
}
.product-nav__links { display: flex; gap: var(--space-6); flex-wrap: wrap; }
.product-nav__links a {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--neutral-700);
  padding: var(--space-2) 0;
  border-bottom: 2px solid transparent;
  transition: color var(--duration-fast), border-color var(--duration-fast);
}
.product-nav__links a:hover { color: var(--brand-primary); border-bottom-color: var(--brand-primary); }


.product-layout {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: var(--space-12);
  align-items: start;
  margin-top: var(--space-8);
  container: product-layout / inline-size;
}
.product-aside { position: sticky; top: var(--space-24); }
.product-main { min-width: 0; }
.product-main .body-lg { margin-bottom: var(--space-5); }
.product-main > p { color: var(--neutral-700); line-height: var(--leading-relaxed); margin-bottom: var(--space-4); }


.spec-card {
  background: var(--white);
  border-top: 4px solid var(--brand-primary);
  box-shadow: var(--shadow-card);
  padding: var(--space-8) var(--space-6);
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}
.spec-card__label {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--neutral-500);
  margin-bottom: var(--space-4);
}
.spec-card__list { list-style: none; margin: 0 0 var(--space-6); padding: 0; }
.spec-card__list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--neutral-100);
}
.spec-card__key {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--neutral-500);
}
.spec-card__val { font-size: var(--text-base); font-weight: var(--weight-bold); color: var(--neutral-900); text-align: right; }
.spec-card__actions { display: flex; flex-direction: column; gap: var(--space-3); }
.spec-card__actions .btn { width: 100%; justify-content: center; }


.feature-panel {
  background: var(--brand-secondary);
  color: var(--white);
  padding: var(--space-10);
  margin-top: var(--space-10);
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
  container: feature-panel / inline-size;
}
.feature-panel__label {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--brand-primary-light);
  margin-bottom: var(--space-2);
}
.feature-panel__title {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  color: var(--white);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-6);
}
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4) var(--space-8); }
.feature-item { display: flex; align-items: flex-start; gap: var(--space-3); }
.feature-item i {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-primary);
  color: var(--white);
  font-size: 11px;
  margin-top: 2px;
  clip-path: polygon(0 0, calc(100% - 5px) 0, 100% 5px, 100% 100%, 5px 100%, 0 calc(100% - 5px));
}
.feature-item span { font-size: var(--text-sm); color: var(--glass-text-bright); line-height: var(--leading-snug, 1.4); }
.optional-row { margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,0.15); }
.optional-row__label {
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--brand-primary-light);
  margin-bottom: var(--space-2);
}
.optional-row__items { font-size: var(--text-sm); color: var(--glass-text-bright); line-height: var(--leading-relaxed); }


.specs-layout {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--space-12);
  align-items: start;
  margin-top: var(--space-8);
}
.specs-layout .section-desc { margin-bottom: 0; }
.spec-table { border-top: 2px solid var(--brand-primary); container: spectable / inline-size; }
.spec-table__row {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-2);
  border-bottom: 1px solid var(--neutral-200);
}
.spec-table__row:nth-child(even) { background: var(--neutral-50); }
.spec-table__key {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--neutral-600);
}
.spec-table__val { font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--neutral-900); }
.spec-table__val em { color: var(--neutral-600); font-style: normal; font-weight: var(--weight-regular, 400); }


.engine-block { margin-top: var(--space-12); }
.engine-block__title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  color: var(--neutral-900);
  margin-bottom: var(--space-5);
}
.engine-table { container: engine / inline-size; }
.engine-table__head,
.engine-table__row { display: grid; grid-template-columns: 2fr 1.4fr 1fr; gap: var(--space-4); padding: var(--space-3) var(--space-4); }
.engine-table__head {
  background: var(--brand-secondary);
  color: var(--white);
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.engine-table__row { border-bottom: 1px solid var(--neutral-200); font-size: var(--text-sm); color: var(--neutral-800); }
.engine-table__row span:first-child { font-weight: var(--weight-semibold); color: var(--neutral-900); }


.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin-top: var(--space-10); container: gallery / inline-size; }
.gallery-tile {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--neutral-200);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.gallery-tile--lg { grid-column: span 2; grid-row: span 2; }
.gallery-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-tile--placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-2); color: var(--neutral-500); }
.gallery-tile--placeholder i { font-size: 28px; }
.gallery-tile--placeholder span {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 1px;
}


.cta-section { position: relative; overflow: hidden; }
.cta-banner { text-align: center; max-width: 700px; margin: 0 auto; padding: var(--space-8) 0; }
.cta-banner__desc {
  font-size: var(--text-lg);
  color: var(--glass-text-bright);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-8);
  max-width: 580px;
  margin-inline: auto;
}
.cta-banner__actions { display: flex; justify-content: center; gap: var(--space-4); flex-wrap: wrap; }


@media (max-width: 860px) {
  .product-layout { grid-template-columns: 1fr; gap: var(--space-8); }
  .product-aside { position: static; }
}
@media (max-width: 768px) {
  .specs-layout { grid-template-columns: 1fr; gap: var(--space-6); }
}
@container feature-panel (max-width: 560px) {
  .feature-grid { grid-template-columns: 1fr; }
}
@container spectable (max-width: 560px) {
  .spec-table__row { grid-template-columns: 1fr; gap: var(--space-1); }
}
@container engine (max-width: 600px) {
  .engine-table__head { display: none; }
  .engine-table__row { grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4); border-bottom: 2px solid var(--neutral-200); }
  .engine-table__row span:not(:first-child) { font-size: var(--text-xs); color: var(--neutral-600); }
}
@container gallery (max-width: 820px) {
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-tile--lg { grid-column: span 2; grid-row: auto; }
}
@container gallery (max-width: 460px) {
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-tile--lg { grid-column: auto; }
}
