/* Review copy: keep words intact even across the workbook's inline highlights. */
body #root :is(main,footer,header),
body #root :is(main,footer,header) :is(h1,h2,h3,h4,p,li,a,button,label,span,strong,b,em,small,div) {
  -webkit-hyphens:none!important;
  hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
body #root main :is(h1,h2,h3,h4,p,li) {
  min-width:0;
  max-width:100%;
}
body #root main p {
  text-wrap:pretty;
}
body #root :is(.about-company-copy,.isp26-hero-copy,.isp26-weapons-intro,.d-intro) strong {
  display:inline;
  white-space:normal;
}

/* Size large copy against its own column, including the shared demo heading. */
body #root .cta-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(28px,5vw,80px)!important;
}
body #root .cta-grid > * {
  min-width:0;
}
body #root .cta-grid > div:first-child,
body #root .isp26-hero-copy,
body #root .d-hero-copy {
  container-type:inline-size;
}
body #root .cta-section h2 {
  max-width:100%!important;
  font-size:clamp(30px,4.25vw,76px)!important;
  line-height:1.08!important;
  text-wrap:balance;
}
@supports (font-size:1cqi) {
  body #root .cta-section h2 {
    font-size:clamp(28px,9.8cqi,76px)!important;
  }
  body #root :is(.isp26-hero-copy,.d-hero-copy) h1 {
    font-size:clamp(28px,9.2cqi,76px)!important;
  }
}
@media(max-width:1000px) {
  body #root .cta-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body #root .cta-section h2 {
    font-size:clamp(30px,7.6vw,68px)!important;
  }
}
@media(max-width:680px) {
  body #root main[data-screen-label="Company"] .page-hero-content h1 {
    font-size:clamp(28px,7.8vw,42px)!important;
    line-height:1.08!important;
  }
  body #root :is(.isp26-hero-copy,.d-hero-copy) h1 {
    font-size:clamp(26px,7.4vw,42px)!important;
  }
  body #root .cta-section h2 {
    font-size:clamp(27px,7.6vw,42px)!important;
  }
  body #root .d-actions a,
  body #root .isp26-button {
    gap:16px;
    max-width:100%;
  }
}

/* Avoid replacing guessed offscreen heights while the reader is scrolling. */
body #root main > section,
body #root footer {
  content-visibility:visible;
  contain-intrinsic-size:none;
}
@media(prefers-reduced-motion:no-preference) {
  html {
    scroll-behavior:smooth;
  }
  body #root .reveal {
    opacity:.12;
    transform:translate3d(0,12px,0);
    transition:opacity .62s cubic-bezier(.2,.7,.2,1),transform .62s cubic-bezier(.2,.7,.2,1);
  }
  body #root .reveal.in {
    opacity:1;
    transform:translate3d(0,0,0);
  }
  body #root .route-enter {
    animation:isp-update-route .32s ease both;
  }
  body #root :is(.isp26-hero-copy,.isp26-catalog-head,.isp26-section) {
    animation-duration:.58s;
    animation-timing-function:cubic-bezier(.2,.7,.2,1);
  }
  @keyframes isp-update-route {
    from {opacity:.86}
    to {opacity:1}
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto!important;
  }
  body #root .reveal {
    opacity:1;
    transform:none;
    transition:none;
  }
  body #root :is(.route-enter,.isp26-hero-copy,.isp26-catalog-head,.isp26-section) {
    animation:none;
  }
}
