/* Product layouts share the site grid. The illustration is sized by its own
   column, not by the screen, so widening a monitor never crops its front card. */
body[data-page='products'] .product-page-hero {
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: clamp(36px, 4vw, 72px);
}
body[data-page='products'] .product-hero-copy {
  width: 100%;
  min-width: 0;
  max-width: 740px;
}
body[data-page='products'] .product-hero-copy > p:last-child {
  max-width: 38em;
  margin-top: clamp(22px, 2vw, 34px);
  font-size: var(--copy-size);
}
body[data-page='products'] .product-beam-wrap {
  top: 0;
  left: 0;
  width: 100%;
  min-width: 0;
  max-width: 800px;
  margin: 0;
  justify-self: end;
  transform: none;
  overflow: hidden;
}
body[data-page='products'] .product-beam-shell {
  width: 100%;
  min-width: 0;
  aspect-ratio: 1.43;
  container-type: inline-size;
  transform: none;
  cursor: default;
}
body[data-page='products'] .product-swap-card {
  --stack-x: 0cqw;
  --stack-y: 0cqw;
  top: 61%;
  left: 45%;
  width: 78%;
  height: 68%;
  border-radius: clamp(12px, 2cqw, 18px);
  transform: translate(-50%, -50%) translate3d(var(--stack-x), var(--stack-y), var(--card-z)) skewY(4deg);
}
body[data-page='products'] .product-swap-card[data-card-slot='1'] {
  --stack-x: 5cqw;
  --stack-y: -8cqw;
}
body[data-page='products'] .product-swap-card:is([data-card-slot='2'], [data-card-slot='3'], [data-card-slot='4']) {
  --stack-x: 10cqw;
  --stack-y: -16cqw;
}
body[data-page='products'] .product-swap-card.is-leaving {
  transform: translate(-50%, -50%) translate3d(var(--stack-x), calc(var(--stack-y) + 100cqw), 80px) skewY(4deg);
}
body[data-page='products'] .product-swap-card-title {
  height: clamp(42px, 8cqw, 58px);
  gap: clamp(6px, 1.6cqw, 12px);
  padding-inline: clamp(12px, 2.8cqw, 22px);
}
body[data-page='products'] .product-swap-card::after { inset-block-start: clamp(42px, 8cqw, 58px); }
body[data-page='products'] .product-swap-card-title strong {
  min-width: 0;
  font-size: clamp(14px, 2.8cqw, 22px);
  line-height: 1.2;
}
body[data-page='products'] .product-swap-card-title em { flex: 0 0 auto; font-size: clamp(7px, 1.2cqw, 9px); }
body[data-page='products'] .product-swap-window-controls { flex: 0 0 auto; gap: clamp(4px, 1cqw, 7px); }
body[data-page='products'] .product-swap-window-controls i { width: clamp(6px, 1.5cqw, 11px); }
body[data-page='products'] .product-swap-card-code {
  inset: clamp(57px, 12cqw, 86px) auto auto clamp(14px, 3.4cqw, 26px);
  max-width: calc(100% - clamp(28px, 6.8cqw, 52px));
  font-size: clamp(10px, 1.9cqw, 14px);
  line-height: 1.65;
}

/* Shared capabilities are a compact working console, not a second tall hero. */
body[data-page='products'] .capabilities.section-light .capability-console {
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  min-height: 0;
}
body[data-page='products'] .capability-list { min-width: 0; grid-template-rows: none; grid-auto-rows: 1fr; }
body[data-page='products'] .capability-row {
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: clamp(12px, 1.5vw, 24px);
  min-height: clamp(80px, 6.8vw, 112px);
  padding: 22px clamp(22px, 2.7vw, 44px);
}
body[data-page='products'] .capability-row:is(:hover, :focus-visible, .is-active) { padding-left: clamp(22px, 2.7vw, 44px); }
body[data-page='products'] .capability-row b { font-size: clamp(16px, 1.25vw, 21px); }
body[data-page='products'] .capability-row :is(span, i) { font-size: 11px; }
body[data-page='products'] .capabilities.section-light .capability-detail {
  min-height: 0;
  padding: clamp(30px, 3vw, 48px);
}
body[data-page='products'] .detail-index { margin-bottom: 22px; }
body[data-page='products'] .detail-label { margin-bottom: 14px; font-size: 11px; }
body[data-page='products'] .capability-detail h3 {
  font-size: clamp(26px, 2.2vw, 38px) !important;
  line-height: 1.18;
}
body[data-page='products'] .capability-detail > p:not(.detail-label) { margin-top: 20px; font-size: var(--copy-size); line-height: 1.75; }
body[data-page='products'] .detail-tags { margin-top: 24px; padding-right: 24px; }
body[data-page='products'] .detail-tags span { padding: 7px 10px; font-size: 11px; letter-spacing: .02em; }

/* Give each product the same readable column rhythm. Panels grow with their
   content; the regulatory product can contain all three domains without a crop. */
body[data-page='products'] .product-tabs-shell { min-width: 0; }
body[data-page='products'] .product-tab-list {
  width: 100%;
  margin-inline: 0;
  padding: 10px 8px clamp(24px, 2.5vw, 36px);
  gap: 10px;
}
body[data-page='products'] .product-tab { min-height: 50px; gap: 9px; padding: 12px 19px; }
body[data-page='products'] .product-tab > b { font-size: clamp(13px, 1vw, 16px); }
body[data-page='products'] .product-tab > span:not(.product-tab-active) { font-size: 10px; }
body[data-page='products'] .product-tab-panel {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  min-height: 0;
}
body[data-page='products'] :is(.product-tab-intro, .product-tab-details) {
  min-width: 0;
  padding: clamp(30px, 3vw, 48px);
}
body[data-page='products'] .product-tab-intro { border-right: 1px solid var(--brand-rule); border-bottom: 0; }
body[data-page='products'] .product-tab-status { padding-bottom: 18px; font-size: 11px; }
body[data-page='products'] .product-tab-intro h3 {
  margin-top: clamp(26px, 2.6vw, 40px);
  font-size: clamp(28px, 2.65vw, 44px) !important;
  line-height: 1.2;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
body[data-page='products'] .product-tab-intro > p { margin-top: 22px; font-size: var(--copy-size); line-height: 1.8; }
body[data-page='products'] .product-tab-modes { margin-top: 24px; }
body[data-page='products'] .product-tab-modes span { padding: 8px 10px; font-size: 11px; }
body[data-page='products'] .product-tab-intro > .text-link { align-self: flex-start; margin-top: clamp(30px, 3vw, 48px); font-size: 14px; }
body[data-page='products'] .product-tab-details { align-content: center; }
body[data-page='products'] .product-tab-details div {
  grid-template-columns: minmax(80px, .27fr) minmax(0, .73fr);
  gap: clamp(18px, 2vw, 30px);
  padding-block: clamp(22px, 2vw, 30px);
}
body[data-page='products'] .product-tab-details dt { font-size: 11px; letter-spacing: .03em; line-height: 1.65; }
body[data-page='products'] .product-tab-details dd { font-size: var(--copy-size); line-height: 1.75; overflow-wrap: break-word; }

@media (max-width: 959px) {
  body[data-page='products'] .product-page-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body[data-page='products'] .product-hero-copy { max-width: 740px; }
  body[data-page='products'] .product-beam-wrap { width: min(100%, 620px); justify-self: center; }
  body[data-page='products'] .product-tab-panel { grid-template-columns: minmax(0, 1fr); }
  body[data-page='products'] .product-tab-intro { border-right: 0; border-bottom: 1px solid var(--brand-rule); }
  body[data-page='products'] .product-tab-details { padding-block: 10px; }
  body[data-page='products'] .product-tab-details div:first-child { border-top: 0; }
  body[data-page='products'] .product-tab-details div:last-child { border-bottom: 0; }
}

@media (max-width: 760px) {
  body[data-page='products'] .capabilities.section-light .capability-console { grid-template-columns: minmax(0, 1fr); }
  body[data-page='products'] .capability-row { min-height: 72px; padding: 18px 24px; }
  body[data-page='products'] .capability-row:is(:hover, :focus-visible, .is-active) { padding-left: 24px; }
  body[data-page='products'] .capabilities.section-light .capability-detail { min-height: 0; border-left: 0; border-top: 1px solid var(--brand-rule); padding: 30px 24px; }
  body[data-page='products'] .product-tab-list { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; padding: 10px 8px 24px; scroll-padding-inline: 8px; }
  body[data-page='products'] .product-tab { flex: 0 0 auto; }
}

@media (max-width: 540px) {
  body[data-page='products'] .product-page-hero { gap: 18px; }
  body[data-page='products'] .product-beam-shell { aspect-ratio: 1.12; }
  body[data-page='products'] .product-swap-card-title { height: 42px; }
  body[data-page='products'] .product-swap-card::after { inset-block-start: 42px; }
  body[data-page='products'] .product-swap-card-code { inset-block-start: 57px; }
  body[data-page='products'] .product-tab-intro { padding: 28px 22px; }
  body[data-page='products'] .product-tab-details { padding: 8px 22px; }
  body[data-page='products'] .product-tab-details div { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-block: 22px; }
  body[data-page='products'] .product-tab-intro h3 { font-size: 28px !important; }
  body[data-page='products'] .product-tab-stage::before { inset: 10px 14px -6px; transform: translateY(7px) rotate(-.45deg) scale(.985); }
  body[data-page='products'] .product-tab-stage::after { inset: 16px 24px -8px; transform: translateY(12px) rotate(.45deg) scale(.975); }
}

@media (max-width: 399px) {
  body[data-page='products'] .product-swap-window-controls { display: none; }
  body[data-page='products'] .product-swap-card-title em { margin-left: auto; }
}
