/* Combo and Smart: Helix-aligned hero and centered section copy. */
.family-layout-page {
  --family-layout-width: min(var(--container, 1360px), calc(100% - 2 * var(--page-gutter, 48px)));
  --family-layout-blue: #0051df;
}
.family-layout-page.product-family-page-0816 .product-family-hero { padding: 0; }
.family-layout-page.product-family-page-0816 .product-family-hero-grid {
  width: var(--family-layout-width) !important; max-width: none; min-height: 492px;
  display: grid; grid-template-columns: 49% minmax(0, 1fr); gap: 32px;
  align-items: stretch; justify-content: normal; margin: 0 auto; padding: 0;
}
.family-layout-page.product-family-page-0816 .product-family-hero-copy {
  width: 100% !important; max-width: 660px; min-height: 0; flex: none !important;
  display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start;
  gap: 0; padding: 54px 0 58px; text-align: left;
}
.family-layout-page.product-family-page-0816 .product-family-hero h1 {
  margin: 0; color: var(--family-layout-blue); font-size: 60px; font-weight: 800;
  line-height: .96; letter-spacing: -.035em; white-space: normal;
}
.family-layout-page.product-family-page-0816 .product-family-hero-copy > .product-family-lede {
  width: 100%; margin: 24px 0 0; color: var(--family-layout-blue);
  font-size: 17px; font-weight: 500; line-height: 1.42;
}
.family-layout-page.product-family-page-0816 .product-family-lede p { color: inherit; font: inherit; margin: 0; }
.family-layout-page.product-family-page-0816 .product-family-hero-copy > p:not(.product-family-lede),
.family-layout-page.product-family-page-0816 .product-family-hero-copy > .elementor-widget-text-editor:not(.product-family-lede) {
  width: 100%; margin: 20px 0 0; color: #405878; font-size: 14px; line-height: 1.62;
}
.family-layout-page.product-family-page-0816 .product-family-hero-copy > .elementor-widget-text-editor:not(.product-family-lede) p { color: inherit; font: inherit; }
.family-layout-page.product-family-page-0816 .product-family-actions { margin-top: 32px; gap: 0; justify-content: flex-start; }
.family-layout-page.product-family-page-0816 .product-family-actions a { min-height: 40px; padding: 0 18px; font-size: 13px; }
.family-layout-page.product-family-page-0816 .product-family-visual {
  position: static; inset: auto; transform: none; width: 100% !important; min-width: 0;
  height: auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr);
  align-self: center; align-items: center; justify-items: center; gap: 20px; padding: 32px 0; margin: 0;
}
.family-layout-page.product-family-page-0816 .product-family-visual.family-visual-multiple { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.family-layout-page.product-family-page-0816 .product-family-visual.family-visual-multiple > img + img,
.family-layout-page.product-family-page-0816 .product-family-visual.family-visual-multiple > .elementor-widget-helionavi-image + .elementor-widget-helionavi-image { display: block; }
.family-layout-page.product-family-page-0816 .product-family-visual > .elementor-widget-helionavi-image {
  position: static; inset: auto; transform: none; display: block; width: 100%; height: auto; margin: 0;
}
.family-layout-page.product-family-page-0816 .product-family-visual img,
.family-layout-page.product-family-page-0816 .product-family-visual > img:first-child,
.family-layout-page.product-family-page-0816 .product-family-visual > .elementor-widget-helionavi-image:first-child img {
  position: static; inset: auto; transform: none; display: block; width: 100%; max-width: 100%;
  height: 340px; max-height: 340px; object-fit: contain; object-position: center; opacity: 1; margin: 0;
}
.family-layout-page.product-family-page-0816 .family-section-container {
  width: var(--family-layout-width) !important; max-width: none; margin: 0 auto; padding: 0;
  display: flex; flex-direction: column; align-items: stretch; gap: 20px;
}
.family-layout-page.product-family-page-0816 .family-layout-content h2,
.family-layout-page.product-family-page-0816.family-layout-content h2,
.family-layout-page.product-family-page-0816 :is(.product-feature-card, .product-application-grid, .product-model-card) :is(h3, p, .elementor-widget-heading, .elementor-widget-text-editor) {
  text-align: center;
}
.family-layout-page.product-family-page-0816 .product-section-heading,
.family-layout-page.product-family-page-0816 .product-section-heading > div {
  width: 100%; max-width: none; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 16px; margin: 0; text-align: center;
}
.family-layout-page.product-family-page-0816 .product-section-heading .elementor-widget,
.family-layout-page.product-family-page-0816 .family-section-container > .elementor-widget-heading,
.family-layout-page.product-family-page-0816 .family-section-container > .elementor-widget-text-editor {
  width: 100%; max-width: none; text-align: center; margin: 0;
}
.family-layout-page.product-family-page-0816 .product-section-heading p,
.family-layout-page.product-family-page-0816 .family-section-container > .elementor-widget-text-editor p,
.family-layout-page.product-family-page-0816 .product-form-panel > p,
.family-layout-page.product-family-page-0816 .product-form-panel > .elementor-widget-text-editor p {
  width: 100%; max-width: 1000px; margin: 0 auto; text-align: center;
}
.family-layout-page.product-family-page-0816 .family-standalone-heading {
  width: var(--family-layout-width); margin: 0 auto; text-align: center;
}
.family-layout-page.product-family-page-0816 .product-feature-card { align-items: center; }
.family-layout-page.product-family-page-0816 .product-feature-card .elementor-widget { width: 100%; }
.family-layout-page.product-family-page-0816 .product-page-section > .elementor-widget-text-editor {
  width: min(1000px, var(--family-layout-width)); margin: 0 auto; text-align: center;
}
.family-layout-page.product-family-page-0816 .product-page-section > .elementor-widget-text-editor p { text-align: center; }
.family-layout-page.product-family-page-0816 .product-form-panel > p,
.family-layout-page.product-family-page-0816 .product-form-panel > .elementor-widget-text-editor { margin: 10px auto 22px; }
@media (max-width: 1080px) {
  .family-layout-page.product-family-page-0816 .product-family-hero h1 { font-size: 48px; }
  .family-layout-page.product-family-page-0816 .product-family-hero-grid { gap: 24px; }
  .family-layout-page.product-family-page-0816 .product-family-visual img,
  .family-layout-page.product-family-page-0816 .product-family-visual > img:first-child,
  .family-layout-page.product-family-page-0816 .product-family-visual > .elementor-widget-helionavi-image:first-child img { height: 260px; max-height: 260px; }
}
@media (max-width: 680px) {
  .family-layout-page.product-family-page-0816 .product-family-hero-grid { min-height: 0; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .family-layout-page.product-family-page-0816 .product-family-hero-copy { padding: 38px 0 0; }
  .family-layout-page.product-family-page-0816 .product-family-hero h1 { font-size: clamp(38px, 9.5vw, 52px); }
  .family-layout-page.product-family-page-0816 .product-family-visual { padding: 24px 0; }
  .family-layout-page.product-family-page-0816 .product-family-visual img,
  .family-layout-page.product-family-page-0816 .product-family-visual > img:first-child,
  .family-layout-page.product-family-page-0816 .product-family-visual > .elementor-widget-helionavi-image:first-child img { height: 210px; max-height: 210px; }
  .family-layout-page.product-family-page-0816 .product-family-actions { margin-top: 24px; }
}
