/* VA20Four7 v11.15 — Visual Text & Composition Safety
   Prevents clipping/overflow in product visuals while preserving all visual concepts/content. */

/* --------------------------------------------------------------------------
   1. Shared visual text safety
   -------------------------------------------------------------------------- */
html body :is(
  .workflow-visual-canvas,.home940-pressure-board,.home970-flow,.home990-shell,.home1010-stack-visual,
  .va102-service-console,.va102-audience-hero-visual,.va102-orchestration-board,.va102-intelligence-board,
  .va103-audit-console,.va103-output-board,.va103-diagnostic-shell,
  .va104-mini-dashboard,.va104-resource-feature-shell,.va104-career-console,.va104-resource-console,
  .va107-signature,.va107-layer-rail,.va107-design-board,
  .va110-platform-ui,.va110-loop-visual,.va110-pricing-visual,.va110-support-demo,
  .hero-visual-system,.contact-mini-flow
) :is(p,strong,b,small,em,span,h3,h4){
  min-width:0!important;
  max-width:100%;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  max-height:none!important;
  hyphens:none!important;
}

/* Text-bearing chips/labels may wrap instead of disappearing outside the card. */
html body :is(
  .workflow-visual-head>span,.home970-flow-meta>span,.home970-flow-status,
  .home970-step-top em,.va102-console-top span,.va102-console-bottom span,
  .va102-audience-board-top span,.va102-audience-board-bottom span,
  .va102-intelligence-top span,.va110-platform-bar span,.va110-price-path>span,
  .va110-loop-visual>span,.va104-profile-foot span,.va104-mini-top em
){
  width:auto;
  height:auto!important;
  min-height:0;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

/* Text cards must be able to grow vertically with their content. */
html body :is(
  .home970-step,.workflow-visual-step,
  .va102-console-flow article,.va102-audience-board-flow article,.va102-intelligence-cards article,
  .va102-orchestration-board article,.va104-model-flow article,.va107-layer-rail article,
  .va110-price-factors article,.va110-platform-panels article
){
  height:auto!important;
}

/* --------------------------------------------------------------------------
   2. Homepage ownership workflow — fix cramped/clipped card headers
   -------------------------------------------------------------------------- */
html body .home970-step{
  overflow:visible!important;
  min-width:0!important;
}

html body .home970-step-top{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:stretch!important;
  gap:10px!important;
  min-height:0!important;
  width:100%!important;
  margin:0!important;
  overflow:visible!important;
}

html body .home970-step-top span{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  flex:none!important;
  align-self:start!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:12px!important;
  font-size:12.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

html body .home970-step-top em{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:38px!important;
  height:auto!important;
  margin:0!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
  line-height:1.28!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  text-align:left!important;
}

html body .home970-step>strong{
  margin-top:24px!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

html body .home970-step>p{
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

/* Outcome uses a light card: keep all internal text readable and contained. */
html body .home970-step.step-outcome .home970-step-top em,
html body .home970-step.step-outcome .home970-step-top span{
  color:#14243a!important;
}

/* --------------------------------------------------------------------------
   3. Shared workflow/card header normalization
   -------------------------------------------------------------------------- */
html body :is(
  .workflow-visual-step,.va102-console-flow article,.va102-audience-board-flow article,
  .va102-intelligence-cards article,.va102-orchestration-board article,
  .va104-model-flow article,.va107-layer-rail article,.va110-price-factors article
) :is(strong,b,h3,h4,p,small,em){
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

/* Keep outer visual clipping for cinematic framing, while internal cards expand safely. */
html body :is(
  .workflow-visual-canvas,.home940-pressure-board,.home970-flow,.home990-shell,.home1010-stack-visual,
  .va102-service-console,.va102-audience-hero-visual,.va102-orchestration-board,.va102-intelligence-board,
  .va103-audit-console,.va103-output-board,.va103-diagnostic-shell,
  .va104-mini-dashboard,.va104-resource-feature-shell,.va104-career-console,.va104-resource-console,
  .va107-signature,.va107-design-board,.va110-platform-ui,.va110-loop-visual,.va110-pricing-visual,.va110-support-demo
){
  overflow:hidden!important;
}

/* --------------------------------------------------------------------------
   4. Responsive safety
   -------------------------------------------------------------------------- */
@media(max-width:1180px){
  html body .home970-step-top{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:9px!important;
  }
  html body .home970-step-top span{
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
  }
  html body .home970-step-top em{
    min-height:36px!important;
    font-size:11.5px!important;
  }
}

@media(max-width:760px){
  html body .home970-step{
    overflow:hidden!important;
  }
  html body .home970-step-top{
    grid-template-columns:38px minmax(0,1fr)!important;
  }
  html body .home970-step-top em{
    font-size:12px!important;
    line-height:1.3!important;
  }
}
