/* ── 8 workflow viz panels (4 hero cards + 4 feature sections) ── */

/* Shared shell — beam SVG + paths only */
.sol-problem-list {
  position: relative;
  border-radius: 16px;
  overflow: visible;
}

.sol-features .sol-problem-list.sol-viz-intake-section,
.sol-features .sol-problem-list.sol-viz-doc-section,
.sol-features .sol-problem-list.sol-viz-hub-section,
.sol-features .sol-problem-list.sol-viz-offer-section {
  border-radius: 32px;
  overflow: hidden;
}

.sol-problem-list__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.sol-problem-list__path-base {
  fill: none;
  stroke: #c5daf0;
  stroke-width: 2;
  stroke-linecap: round;
}

.sol-problem-list__path-flow {
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  animation: sol-beam-flow-out 2.2s linear infinite;
}

/* ── Hero deck slides — Figma: 340×340 viz + 340×130 footer ── */
.sol-hero-slide-viz {
  flex: 0 0 auto;
  width: 100%;
  height: 340px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #f4f6f8;
  line-height: 0;
}

.sol-hero-slide-viz__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

/* ── 1. Intake — hero card (legacy beam layout; unused if slide image) ── */
.sol-viz-intake-card {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  height: 280px;
  margin-bottom: 0.85rem;
  padding: 1rem 0.75rem;
  border-radius: 10px;
  display: grid;
  grid-template-columns:
    auto
    minmax(1.75rem, 1fr)
    minmax(128px, 50%);
  align-items: center;
  column-gap: clamp(0.35rem, 1.2vw, 0.65rem);
  overflow: visible;
}

.sol-viz-intake-card .sol-problem-list__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  grid-column: 1 / -1;
  grid-row: 1;
  z-index: 1;
  pointer-events: none;
}

.sol-viz-intake-card .sol-problem-list__icons {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.72rem;
  align-self: center;
  padding-right: 0.1rem;
}

.sol-viz-intake-card .sol-problem-list__icon {
  width: 40px;
  height: 40px;
}

.sol-viz-intake-card .sol-problem-list__icon img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(13, 116, 206, 0.12));
}

.sol-viz-intake-card .sol-problem-list__card-wrap {
  grid-column: 3;
  grid-row: 1;
  position: relative;
  right: auto;
  top: auto;
  transform: none;
  justify-self: stretch;
  align-self: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-bottom: 22px;
  z-index: 3;
  overflow: visible;
}

.sol-viz-intake-card .sol-problem-list__card {
  width: 100%;
  max-width: 100%;
  padding: 0.9rem 0.65rem 0.75rem;
  border-radius: 10px;
}

.sol-viz-intake-card .sol-problem-list__card-layer:nth-child(1) {
  top: 8px;
  left: 8px;
  right: 8px;
  bottom: 6px;
}

.sol-viz-intake-card .sol-problem-list__card-layer:nth-child(2) {
  top: 14px;
  left: 16px;
  right: 16px;
  bottom: 0;
}

.sol-viz-intake-card .sol-problem-list__filter {
  right: 0.65rem;
  width: 26px;
  height: 26px;
}

.sol-viz-intake-card .sol-problem-list__filter svg {
  width: 12px;
  height: 12px;
}

.sol-viz-intake-card .problem-list {
  font-size: 0.65rem;
  gap: 0.28rem;
  padding-right: 0.85rem;
}

.sol-viz-intake-card .problem-list__highlight {
  font-size: 0.6rem;
  margin-top: 0.2rem;
}

/* ── 2. Doc review — hero card ── */
.sol-viz-doc-card {
  min-height: 280px;
  height: 280px;
  margin-bottom: 0.85rem;
  padding: 0.85rem 0.75rem;
  border-radius: 10px;
}

.sol-viz-doc-card .sol-problem-list__svg {
  z-index: 2;
}

.sol-viz-doc-card .sol-doc-review__drawing {
  right: 0.25rem;
  width: 46%;
  max-width: 168px;
}

.sol-viz-doc-card .sol-doc-review__content {
  left: 0.5rem;
  width: 54%;
  max-width: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
}

.sol-viz-doc-card .sol-alert-list {
  gap: 0.35rem;
}

.sol-viz-doc-card .sol-alert-tag {
  padding: 0.28rem 0.5rem 0.28rem 0.35rem;
  gap: 0.35rem;
}

.sol-viz-doc-card .sol-alert-tag__icon svg {
  width: 12px;
  height: 12px;
}

.sol-viz-doc-card .sol-alert-tag__text {
  font-size: 0.58rem;
}

.sol-viz-doc-card .sol-doc-review__ai {
  width: 100%;
  max-width: 128px;
  padding: 0.55rem 0.6rem;
  margin: 0;
}

.sol-viz-doc-card .sol-doc-review__ai-title {
  font-size: 0.72rem;
}

.sol-viz-doc-card .sol-doc-review__ai-spark svg {
  width: 20px;
  height: 20px;
}

.sol-viz-doc-card .sol-doc-review__skel {
  height: 6px;
  margin-bottom: 0.35rem;
}

/* ── 3. Pricing hub — hero card ── */
.sol-viz-hub-card {
  min-height: 280px;
  height: 280px;
  margin-bottom: 0.85rem;
  padding: 0.5rem 0.35rem;
  border-radius: 10px;
}

.sol-viz-hub-card .sol-hub-beam__center {
  width: 72px;
}

.sol-viz-hub-card .sol-hub-beam__logo {
  width: 34px;
  height: 34px;
  font-size: 0.52rem;
}

.sol-viz-hub-card .sol-hub-beam__logo--power svg {
  width: 20px;
  height: 20px;
}

.sol-viz-hub-card .sol-hub-beam__label {
  font-size: 0.52rem;
  padding: 0.28rem 0.45rem;
  max-width: 88px;
  white-space: normal;
  line-height: 1.2;
  text-align: center;
}

.sol-viz-hub-card .sol-hub-beam__node--sap { left: 12%; top: 20%; }
.sol-viz-hub-card .sol-hub-beam__node--power { left: 12%; top: 50%; }
.sol-viz-hub-card .sol-hub-beam__node--solidworks { left: 12%; top: 80%; }
.sol-viz-hub-card .sol-hub-beam__node--cad { left: 88%; top: 16%; }
.sol-viz-hub-card .sol-hub-beam__node--webtools { left: 88%; top: 38%; }
.sol-viz-hub-card .sol-hub-beam__node--priceapi { left: 88%; top: 60%; }
.sol-viz-hub-card .sol-hub-beam__node--platforms { left: 88%; top: 82%; }

/* ── 4. Offer — hero card ── */
.sol-viz-offer-card {
  min-height: 280px;
  height: 280px;
  margin-bottom: 0.85rem;
  padding: 0.45rem 0.35rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sol-viz-offer-card .sol-offer-flow {
  gap: 0.3rem;
  width: 100%;
}

.sol-viz-offer-card .sol-offer-card {
  max-width: 46%;
  padding: 0.5rem 0.55rem 0.45rem;
  border-radius: 10px;
}

.sol-viz-offer-card .sol-offer-card__title {
  font-size: 0.62rem;
  margin-bottom: 0.4rem;
}

.sol-viz-offer-card .sol-offer-card__price {
  font-size: 0.62rem;
}

.sol-viz-offer-card .sol-offer-card__heading,
.sol-viz-offer-card .sol-offer-card__email {
  font-size: 0.55rem;
}

.sol-viz-offer-card .sol-offer-card__block {
  padding: 0.4rem 0;
}

.sol-viz-offer-card .sol-offer-card__line {
  height: 5px;
}

.sol-viz-offer-card .sol-offer-card__footer {
  padding-top: 0.35rem;
  font-size: 0.5rem;
}

.sol-viz-offer-card .sol-offer-flow__arrow svg {
  width: 20px;
  height: 14px;
}

.sol-viz-offer-card .sol-offer-card__check {
  width: 28px;
  height: 28px;
}

.sol-viz-offer-card .sol-offer-card__check svg {
  width: 16px;
  height: 16px;
}

.sol-viz-offer-card .sol-offer-card__ready {
  font-size: 0.62rem;
}

.sol-viz-offer-card .sol-offer-card__btn {
  font-size: 0.55rem;
  padding: 0.28rem 0.45rem;
}

/* ── 5. Intake — feature section
   Col1 icons | Col2 beam lane | Col3 card — beams card → icons ── */
.sol-viz-intake-section {
  padding: clamp(1.25rem, 3vw, 2rem);
  display: grid;
  grid-template-columns:
    auto
    minmax(2rem, 1fr)
    minmax(0, 60%);
  align-items: center;
  column-gap: clamp(0.4rem, 1.5vw, 0.75rem);
  overflow: visible;
}

.sol-viz-intake-section .sol-problem-list__svg {
  grid-column: 1 / -1;
  grid-row: 1;
  z-index: 2;
}

.sol-viz-intake-section .sol-problem-list__icons {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: clamp(0.65rem, 2vw, 1.1rem);
  align-self: center;
}

.sol-viz-intake-section .sol-problem-list__icon {
  width: clamp(44px, 8vw, 56px);
  height: clamp(44px, 8vw, 56px);
}

.sol-viz-intake-section .sol-problem-list__icon img {
  width: clamp(44px, 8vw, 56px);
  height: clamp(44px, 8vw, 56px);
  object-fit: contain;
}

.sol-viz-intake-section .sol-problem-list__card-wrap {
  grid-column: 3;
  grid-row: 1;
  position: relative;
  right: auto;
  top: auto;
  transform: none;
  justify-self: stretch;
  align-self: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-bottom: 22px;
  z-index: 3;
  overflow: visible;
}

/* ── 6. Doc review — feature section
   Blueprint 70% width behind (z0) | Col1 alerts | Col2 beam | Col3 AI on top ── */
.sol-viz-doc-section {
  position: relative;
  isolation: isolate;
  padding: clamp(1.25rem, 3vw, 2rem);
  display: grid;
  grid-template-columns:
    auto
    clamp(1.5rem, 4vw, 2.75rem)
    minmax(200px, 280px);
  align-items: center;
  column-gap: clamp(0.5rem, 1.5vw, 0.85rem);
  overflow: visible;
}

.sol-viz-doc-section .sol-problem-list__svg {
  grid-column: 1 / -1;
  grid-row: 1;
  z-index: 2;
}

/* unwrap content so alerts + AI sit in separate grid columns */
.sol-viz-doc-section .sol-doc-review__content {
  display: contents;
}

.sol-viz-doc-section .sol-alert-list {
  grid-column: 1;
  grid-row: 1;
  z-index: 3;
  align-self: center;
  position: relative;
}

.sol-viz-doc-section .sol-doc-review__ai {
  grid-column: 3;
  grid-row: 1;
  z-index: 3;
  position: relative;
  width: 100%;
  max-width: 280px;
  margin-left: 0;
  margin-right: 0;
  justify-self: end;
}

.sol-viz-doc-section .sol-doc-review__drawing {
  grid-column: 1 / -1;
  grid-row: 1;
  position: relative;
  z-index: 0;
  width: 70%;
  max-width: 70%;
  justify-self: end;
  align-self: center;
  right: auto;
  top: auto;
  transform: none;
  margin: 0;
  pointer-events: none;
}

.sol-viz-doc-section .sol-doc-review__blueprint {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(var(--sol-feature-viz-h, 440px) - 2.5rem);
  object-fit: contain;
  object-position: right center;
  opacity: 0.92;
}

/* ── 7. Pricing hub — Earth center, nodes + labels around ── */
.sol-viz-hub-section {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem);
  overflow: visible;
}

.sol-viz-hub-section .sol-problem-list__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.sol-viz-hub-section .sol-hub-beam__stage {
  inset: 0;
}

.sol-viz-hub-section .sol-hub-beam__center {
  width: clamp(96px, 20vw, 140px);
}

.sol-viz-hub-section .sol-hub-beam__earth {
  margin: 0 auto;
}

.sol-viz-hub-section .sol-hub-beam__logo {
  width: clamp(44px, 9vw, 58px);
  height: clamp(44px, 9vw, 58px);
  font-size: 0.66rem;
}

.sol-viz-hub-section .sol-hub-beam__logo--power svg {
  width: clamp(22px, 5vw, 28px);
  height: clamp(22px, 5vw, 28px);
}

.sol-viz-hub-section .sol-hub-beam__label {
  font-size: 0.74rem;
  padding: 0.38rem 0.62rem;
  max-width: none;
  white-space: nowrap;
}

/* logos left, labels right — symmetric around Earth */
.sol-viz-hub-section .sol-hub-beam__node--sap { left: 17%; top: 21%; }
.sol-viz-hub-section .sol-hub-beam__node--power { left: 17%; top: 50%; }
.sol-viz-hub-section .sol-hub-beam__node--solidworks { left: 17%; top: 79%; }
.sol-viz-hub-section .sol-hub-beam__node--cad { left: 83%; top: 17%; }
.sol-viz-hub-section .sol-hub-beam__node--webtools { left: 83%; top: 39%; }
.sol-viz-hub-section .sol-hub-beam__node--priceapi { left: 83%; top: 61%; }
.sol-viz-hub-section .sol-hub-beam__node--platforms { left: 83%; top: 83%; }

/* ── 8. Offer — feature section ── */
.sol-viz-offer-section {
  padding: clamp(1.35rem, 3.5vw, 2.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
}

.sol-viz-offer-section .sol-offer-flow {
  gap: 24px;
  width: 100%;
}

.sol-viz-offer-section .sol-offer-card {
  max-width: min(48%, 300px);
}

/* Shared intake card internals (both contexts) */
.sol-viz-intake-card .sol-problem-list__icon,
.sol-viz-intake-section .sol-problem-list__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sol-viz-intake-section .sol-problem-list__icon img {
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(13, 116, 206, 0.12));
}

.sol-viz-intake-card .sol-problem-list__card-stack,
.sol-viz-intake-section .sol-problem-list__card-stack {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.sol-viz-intake-card .sol-problem-list__card-layer,
.sol-viz-intake-section .sol-problem-list__card-layer {
  position: absolute;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e2e6ec;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.sol-viz-intake-section .sol-problem-list__card-layer:nth-child(1) {
  top: 0;
  left: 0;
  right: 24px;
  bottom: 24px;
  z-index: 1;
}

.sol-viz-intake-section .sol-problem-list__card-layer:nth-child(2) {
  top: 24px;
  left: 24px;
  right: 0;
  bottom: 0;
  z-index: 0;
}

.sol-viz-intake-card .sol-problem-list__card,
.sol-viz-intake-section .sol-problem-list__card {
  position: relative;
  z-index: 3;
  width: 100%;
  margin-left: auto;
  background: #fff;
  border: 1px solid #e8eef4;
  box-shadow: 0 8px 28px rgba(13, 116, 206, 0.1);
}

.sol-viz-intake-section .sol-problem-list__card {
  width: 100%;
  max-width: 100%;
  border-radius: 11px;
  padding: 0.9rem 0.75rem 0.8rem;
}

.sol-viz-intake-section .problem-list {
  font-size: 0.68rem;
  line-height: 1.32;
  gap: 0.28rem;
  padding-right: 0.95rem;
}

.sol-viz-intake-section .problem-list li {
  white-space: normal;
}

.sol-viz-intake-section .problem-list__highlight {
  margin-top: 0.22rem;
  font-size: 0.6rem;
  letter-spacing: 0.02em;
}

.sol-viz-intake-card .sol-problem-list__filter,
.sol-viz-intake-section .sol-problem-list__filter {
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  z-index: 4;
  border-radius: 50%;
  border: 1px solid #d8dee6;
  background: #d5efff;
  color: var(--sol-primary-dark);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(13, 116, 206, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  pointer-events: none;
}

.sol-viz-intake-section .sol-problem-list__filter {
  right: 0.7rem;
  width: 28px;
  height: 28px;
}

.sol-viz-intake-section .sol-problem-list__filter svg {
  width: 12px;
  height: 12px;
}

/* Shared doc review — hero card only (section uses grid above) */
.sol-viz-doc-card .sol-doc-review__drawing {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}

.sol-viz-doc-card .sol-doc-review__content {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* Shared hub — SVG beams below stage; orb on top */
.sol-viz-hub-card .sol-problem-list__svg,
.sol-viz-hub-section .sol-problem-list__svg {
  z-index: 1;
}

.sol-viz-hub-card .sol-hub-beam__stage,
.sol-viz-hub-section .sol-hub-beam__stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.sol-viz-hub-card .sol-hub-beam__node,
.sol-viz-hub-section .sol-hub-beam__node {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.sol-viz-hub-card .sol-hub-beam__center,
.sol-viz-hub-section .sol-hub-beam__center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  margin: 0;
}

.sol-viz-hub-card .sol-hub-beam__earth,
.sol-viz-hub-section .sol-hub-beam__earth {
  position: relative;
  z-index: 1;
  display: block;
}

/* ── Responsive — feature section panels ── */

/* Tablet */
@media (max-width: 991.98px) {
  .sol-viz-intake-section {
    padding: clamp(1rem, 2.5vw, 1.5rem);
    grid-template-columns:
      auto
      minmax(1.25rem, 1fr)
      minmax(0, 58%);
    column-gap: clamp(0.35rem, 1.2vw, 0.55rem);
  }

  .sol-viz-doc-section {
    padding: clamp(1rem, 2.5vw, 1.5rem);
    grid-template-columns:
      auto
      clamp(1.25rem, 3.5vw, 2.25rem)
      minmax(168px, 220px);
  }

  .sol-viz-doc-section .sol-doc-review__drawing {
    width: 70%;
    max-width: 70%;
  }

  .sol-viz-doc-section .sol-doc-review__blueprint {
    max-height: calc(var(--sol-feature-viz-h, 380px) - 2rem);
  }

  .sol-viz-doc-section .sol-doc-review__ai {
    max-width: 220px;
  }

  .sol-viz-hub-section {
    padding: clamp(1rem, 2.5vw, 1.5rem);
  }

  .sol-viz-hub-section .sol-hub-beam__node--sap,
  .sol-viz-hub-section .sol-hub-beam__node--power,
  .sol-viz-hub-section .sol-hub-beam__node--solidworks { left: 12%; }

  .sol-viz-hub-section .sol-hub-beam__node--cad,
  .sol-viz-hub-section .sol-hub-beam__node--webtools,
  .sol-viz-hub-section .sol-hub-beam__node--priceapi,
  .sol-viz-hub-section .sol-hub-beam__node--platforms { left: 88%; }

  .sol-viz-hub-section .sol-hub-beam__label {
    font-size: 0.72rem;
    white-space: normal;
    max-width: 110px;
    text-align: center;
  }

  .sol-viz-offer-section {
    padding: clamp(1rem, 2.5vw, 1.5rem);
  }

  .sol-viz-offer-section .sol-offer-card {
    max-width: min(46%, 260px);
  }
}

/* Mobile landscape / large phone */
@media (max-width: 767.98px) {
  .sol-problem-list__path-base,
  .sol-problem-list__path-flow {
    stroke-width: 1.75;
  }

  .sol-viz-intake-section {
    padding: 1rem 0.85rem;
    grid-template-columns:
      auto
      minmax(0.85rem, 1fr)
      minmax(0, 62%);
    column-gap: 0.35rem;
    overflow: visible;
  }

  .sol-viz-intake-section .sol-problem-list__svg {
    z-index: 2;
  }

  .sol-viz-intake-section .sol-problem-list__icons {
    gap: 0.5rem;
    z-index: 3;
  }

  .sol-viz-intake-section .sol-problem-list__icon,
  .sol-viz-intake-section .sol-problem-list__icon img {
    width: 42px;
    height: 42px;
  }

  .sol-viz-intake-section .sol-problem-list__card-wrap {
    padding-bottom: 16px;
  }

  .sol-viz-intake-section .sol-problem-list__card {
    padding: 0.8rem 0.7rem 0.75rem;
  }

  .sol-viz-intake-section .problem-list {
    font-size: 0.64rem;
    padding-right: 0.85rem;
  }

  .sol-viz-intake-section .problem-list__highlight {
    font-size: 0.58rem;
  }

  /* Doc: blueprint behind, tags | beam | AI on top */
  .sol-viz-doc-section {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      clamp(0.65rem, 2.5vw, 1.15rem)
      minmax(132px, 44%);
    grid-template-rows: auto;
    align-items: center;
    column-gap: 0.35rem;
    padding: 1rem 0.85rem 1.1rem;
    overflow: visible;
  }

  .sol-viz-doc-section .sol-problem-list__svg {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .sol-viz-doc-section .sol-doc-review__drawing {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 70%;
    max-width: 70%;
    justify-self: end;
    z-index: 0;
  }

  .sol-viz-doc-section .sol-doc-review__blueprint {
    max-height: calc(var(--sol-feature-viz-h, 360px) - 2rem);
  }

  .sol-viz-doc-section .sol-doc-review__content {
    display: contents;
  }

  .sol-viz-doc-section .sol-alert-list {
    grid-column: 1;
    grid-row: 1;
    gap: 0.45rem;
    align-self: center;
    flex: none;
    max-width: 100%;
    min-width: 0;
  }

  .sol-viz-doc-section .sol-alert-tag {
    padding: 0.35rem 0.6rem 0.35rem 0.4rem;
    gap: 0.35rem;
  }

  .sol-viz-doc-section .sol-alert-tag__icon svg {
    width: 14px;
    height: 14px;
  }

  .sol-viz-doc-section .sol-alert-tag__text {
    font-size: 0.72rem;
  }

  .sol-viz-doc-section .sol-doc-review__ai {
    grid-column: 3;
    grid-row: 1;
    width: 100%;
    max-width: none;
    padding: 0.85rem 0.95rem 0.8rem;
    justify-self: stretch;
  }

  .sol-viz-doc-section .sol-doc-review__ai-title {
    font-size: 0.95rem;
  }

  .sol-viz-doc-section .sol-doc-review__ai-spark svg {
    width: 26px;
    height: 26px;
  }

  .sol-viz-doc-section .sol-doc-review__skel {
    height: 6px;
    margin-bottom: 0.35rem;
  }

  .sol-viz-hub-section {
    padding: 1rem 0.75rem;
  }

  .sol-viz-hub-section .sol-hub-beam__center {
    width: clamp(88px, 24vw, 120px);
  }

  .sol-viz-hub-section .sol-hub-beam__logo {
    width: 42px;
    height: 42px;
    font-size: 0.6rem;
  }

  .sol-viz-hub-section .sol-hub-beam__node--sap { left: 14%; top: 18%; }
  .sol-viz-hub-section .sol-hub-beam__node--power { left: 14%; top: 50%; }
  .sol-viz-hub-section .sol-hub-beam__node--solidworks { left: 14%; top: 82%; }
  .sol-viz-hub-section .sol-hub-beam__node--cad { left: 86%; top: 14%; }
  .sol-viz-hub-section .sol-hub-beam__node--webtools { left: 86%; top: 36%; }
  .sol-viz-hub-section .sol-hub-beam__node--priceapi { left: 86%; top: 58%; }
  .sol-viz-hub-section .sol-hub-beam__node--platforms { left: 86%; top: 80%; }

  .sol-viz-offer-section {
    padding: 1rem 0.85rem;
  }

  .sol-viz-offer-section .sol-offer-flow {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem;
  }

  .sol-viz-offer-section .sol-offer-card {
    flex: 1 1 140px;
    max-width: calc(50% - 0.35rem);
  }
}

/* Small phone */
@media (max-width: 575.98px) {
  .sol-viz-intake-section {
    padding: 0.85rem 0.7rem;
    grid-template-columns:
      auto
      minmax(0.65rem, 1fr)
      minmax(0, 64%);
    column-gap: 0.3rem;
  }

  .sol-viz-intake-section .sol-problem-list__icon,
  .sol-viz-intake-section .sol-problem-list__icon img {
    width: 34px;
    height: 34px;
  }

  .sol-viz-intake-section .sol-problem-list__icons {
    gap: 0.38rem;
  }

  .sol-viz-intake-section .sol-problem-list__card-wrap {
    padding-bottom: 14px;
  }

  .sol-viz-intake-section .sol-problem-list__card {
    padding: 0.72rem 0.6rem 0.65rem;
    border-radius: 10px;
  }

  .sol-viz-intake-section .sol-problem-list__filter {
    width: 24px;
    height: 24px;
    right: 0.6rem;
  }

  .sol-viz-intake-section .problem-list {
    font-size: 0.58rem;
    gap: 0.22rem;
    padding-right: 0.8rem;
  }

  .sol-viz-intake-section .problem-list__highlight {
    font-size: 0.54rem;
  }

  .sol-viz-doc-section {
    grid-template-columns:
      minmax(0, 1fr)
      clamp(0.5rem, 2vw, 0.85rem)
      minmax(118px, 48%);
    padding: 0.85rem 0.7rem 1rem;
  }

  .sol-viz-doc-section .sol-doc-review__drawing {
    width: 72%;
    max-width: 72%;
  }

  .sol-viz-doc-section .sol-doc-review__blueprint {
    max-height: calc(var(--sol-feature-viz-h, 300px) - 1.75rem);
  }

  .sol-viz-doc-section .sol-alert-list {
    gap: 0.38rem;
  }

  .sol-viz-doc-section .sol-alert-tag {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.32rem 0.55rem 0.32rem 0.38rem;
  }

  .sol-viz-doc-section .sol-alert-tag__text {
    font-size: 0.65rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .sol-viz-doc-section .sol-doc-review__ai {
    padding: 0.75rem 0.85rem 0.7rem;
    border-radius: 12px;
  }

  .sol-viz-doc-section .sol-doc-review__ai-head {
    margin-bottom: 0.55rem;
  }

  .sol-viz-doc-section .sol-doc-review__ai-title {
    font-size: 0.88rem;
  }

  .sol-viz-hub-section {
    padding: 0.85rem 0.65rem;
  }

  .sol-viz-hub-section .sol-hub-beam__center {
    width: clamp(76px, 28vw, 108px);
  }

  .sol-viz-hub-section .sol-hub-beam__logo {
    width: 38px;
    height: 38px;
    font-size: 0.55rem;
  }

  .sol-viz-hub-section .sol-hub-beam__logo--power svg {
    width: 22px;
    height: 22px;
  }

  .sol-viz-hub-section .sol-hub-beam__label {
    font-size: 0.58rem;
    padding: 0.28rem 0.42rem;
    max-width: 82px;
    line-height: 1.15;
  }

  .sol-viz-hub-section .sol-hub-beam__node--sap { left: 16%; top: 16%; }
  .sol-viz-hub-section .sol-hub-beam__node--power { left: 16%; top: 50%; }
  .sol-viz-hub-section .sol-hub-beam__node--solidworks { left: 16%; top: 84%; }
  .sol-viz-hub-section .sol-hub-beam__node--cad { left: 84%; top: 12%; }
  .sol-viz-hub-section .sol-hub-beam__node--webtools { left: 84%; top: 34%; }
  .sol-viz-hub-section .sol-hub-beam__node--priceapi { left: 84%; top: 56%; }
  .sol-viz-hub-section .sol-hub-beam__node--platforms { left: 84%; top: 78%; }

  .sol-viz-offer-section {
    padding: 0.85rem 0.7rem;
  }

  .sol-viz-offer-section .sol-offer-flow {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }

  .sol-viz-offer-section .sol-offer-flow__arrow {
    transform: rotate(90deg);
  }

  .sol-viz-offer-section .sol-offer-card,
  .sol-viz-offer-section .sol-offer-card--review {
    flex: none;
    width: 100%;
    max-width: min(100%, 280px);
  }
}

/* Hero deck cards — compact phones */
@media (max-width: 575.98px) {
  .sol-hero-slide-viz {
    margin-bottom: 0;
  }

  .sol-hero-deck__card .sol-viz-intake-card,
  .sol-hero-deck__card .sol-viz-doc-card,
  .sol-hero-deck__card .sol-viz-hub-card,
  .sol-hero-deck__card .sol-viz-offer-card {
    min-height: 250px;
    height: 250px;
    padding: 0.65rem 0.55rem;
  }

  .sol-hero-deck__card .sol-viz-intake-card {
    column-gap: 0.25rem;
  }

  .sol-hero-deck__card .sol-viz-intake-card .sol-problem-list__icon,
  .sol-hero-deck__card .sol-viz-intake-card .sol-problem-list__icon img {
    width: 34px;
    height: 34px;
  }

  .sol-hero-deck__card .sol-viz-intake-card {
    grid-template-columns:
      auto
      minmax(1.25rem, 1fr)
      minmax(118px, 52%);
  }

  .sol-hero-deck__card .sol-viz-intake-card .sol-problem-list__icons {
    gap: 0.58rem;
  }

  .sol-hero-deck__card .sol-viz-intake-card .sol-problem-list__card-wrap {
    padding-bottom: 18px;
  }

  .sol-hero-deck__card .sol-viz-doc-card .sol-doc-review__ai {
    max-width: 112px;
    padding: 0.45rem 0.5rem;
  }

  .sol-hero-deck__card .sol-viz-doc-card .sol-alert-tag__text {
    font-size: 0.52rem;
  }

  .sol-hero-deck__card .sol-viz-hub-card .sol-hub-beam__center {
    width: 64px;
  }

  .sol-hero-deck__card .sol-viz-hub-card .sol-hub-beam__logo {
    width: 30px;
    height: 30px;
  }

  .sol-hero-deck__card .sol-viz-hub-card .sol-hub-beam__label {
    font-size: 0.46rem;
    max-width: 72px;
    padding: 0.22rem 0.35rem;
  }
}
