.region-trigger::after {
  content: "";
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  margin: -3px 1px 0 3px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  opacity: 0.82;
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform 180ms ease, opacity 180ms ease;
}

.region-trigger[aria-expanded="true"]::after {
  opacity: 1;
  transform: rotate(225deg);
}

@media (prefers-reduced-motion: reduce) {
  .region-trigger::after {
    transition: none;
  }
}

html[lang="en"] body:is([data-page="home"], [data-page="products"]) .description {
  width: min(100%, 880px) !important;
  max-width: 880px !important;
  white-space: normal !important;
  text-wrap: balance !important;
}

html[lang="en"] body:is([data-page="home"], [data-page="products"]) .typewriter-grid,
html[lang="en"] body:is([data-page="home"], [data-page="products"]) .typewriter-visual,
html[lang="en"] body:is([data-page="home"], [data-page="products"]) .typewriter-reserve {
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: balance !important;
}

/* English copy is shown in full instead of being captured mid-typewriter. */
html[lang="en"] body:is([data-page="home"], [data-page="products"]) .typewriter-visual {
  visibility: hidden !important;
}

html[lang="en"] body:is([data-page="home"], [data-page="products"]) .typewriter-reserve {
  visibility: visible !important;
}

html[lang="en"] body:is([data-page="home"], [data-page="products"]) #hero-title .title-line,
html[lang="en"] body:is([data-page="home"], [data-page="products"]) #hero-title .title-word,
html[lang="en"] body:is([data-page="home"], [data-page="products"]) #hero-title .title-word-inner {
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: balance !important;
}

html[lang="en"] body [data-orphan-guard],
html[lang="en"] body :is(h1, h2, h3, p) {
  overflow-wrap: normal;
  word-break: normal;
}

html[lang="en"] body .footer-company-summary {
  text-align: left !important;
  text-align-last: auto !important;
  word-spacing: normal !important;
}

html[lang="en"] body[data-page="products"] :is(.product-source-cta-label, .storyflow-device-status strong, .storyflow-alert-meta em),
html[lang="en"] body[data-page="company"] .company-solution-cta-label {
  white-space: nowrap !important;
}

html[lang="en"] body[data-page="products"] #how-it-works .storyflow-alert-head strong {
  min-width: 0;
  font-size: 15px;
  line-height: 20px;
  white-space: nowrap;
}

html[lang="en"] body[data-page="products"] #how-it-works .storyflow-alert-message {
  min-width: 0;
  font-size: 15px;
  line-height: 20px;
  white-space: nowrap;
}

html[lang="en"] body[data-page="company"] #company-title {
  max-width: 1040px !important;
  font-size: clamp(48px, 4.4vw, 62px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
}

html[lang="en"] body:is([data-page="company"], [data-page="careers"]) :is(#company-title, #careers-title) .muted-word {
  margin-left: 0.2em;
  white-space: normal !important;
}

@media (max-width: 700px) {
  html[lang="en"] body:is([data-page="home"], [data-page="products"]) #hero-title {
    font-size: clamp(16px, 5vw, 21px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.05em !important;
  }

  html[lang="en"] body:is([data-page="home"], [data-page="products"]) #hero-title .title-line {
    display: block !important;
    min-height: 0 !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
  }

  html[lang="en"] body:is([data-page="home"], [data-page="products"]) #hero-title .title-word-inner {
    display: block !important;
    white-space: nowrap !important;
  }

  html[lang="en"] body :is(h1, h2) {
    text-wrap: balance !important;
  }

  html[lang="en"] body[data-page="company"] #company-title {
    font-size: clamp(30px, 9vw, 38px) !important;
  }
}

/* Keep every mobile navigation label vertically centered within its row. */
@media (max-width: 1080px) {
  body[data-page] .mobile-nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}

/* Keep supporting copy readable when the viewport grows beyond a standard desktop. */
@media (min-width: 1600px) {
  :root {
    --site-hero-title-size: clamp(68px, 3.75vw, 80px);
  }

  body[data-page] .site-header:not(.is-scrolled) .nav-item,
  body[data-page] .site-header.is-scrolled .nav-item,
  body[data-page] .site-header .header-utility-button,
  body[data-page] .site-header .region-trigger {
    font-size: clamp(15px, 0.84vw, 16px) !important;
    line-height: 1.25 !important;
  }

  body[data-page] .site-header .region-label {
    font-size: clamp(12px, 0.68vw, 13px) !important;
  }

  body:is([data-page="home"], [data-page="products"]) .hero-content {
    width: min(
      calc(100% - 96px),
      clamp(1120px, 66.67vw, 1280px)
    ) !important;
  }

  body:is([data-page="home"], [data-page="products"]) :is(
    .description,
    .typed-text,
    .typewriter-reserve
  ) {
    font-size: clamp(15px, 0.84vw, 17px) !important;
    line-height: 1.65 !important;
  }

  body:is([data-page="home"], [data-page="products"]) .entry-actions {
    width: min(100%, clamp(800px, 46.88vw, 900px)) !important;
    gap: clamp(22px, 1.25vw, 28px) !important;
  }

  body:is([data-page="home"], [data-page="products"]) :is(
    .entry-card,
    .entry-card.secondary
  ) {
    min-height: clamp(164px, 9.38vw, 184px) !important;
    padding: clamp(28px, 1.67vw, 32px) !important;
  }

  body:is([data-page="home"], [data-page="products"]) :is(
    .entry-title,
    .entry-card.secondary .entry-title
  ) {
    font-size: clamp(21px, 1.15vw, 24px) !important;
  }

  body:is([data-page="home"], [data-page="products"]) :is(
    .entry-helper,
    .entry-card.secondary .entry-helper,
    .entry-helper-line
  ) {
    font-size: clamp(15px, 0.84vw, 17px) !important;
  }

  :is(body[data-page], body:not([data-page])) .site-footer .footer-company-name {
    font-size: clamp(16px, 0.89vw, 18px) !important;
    line-height: 1.5 !important;
  }

  :is(body[data-page], body:not([data-page])) .site-footer .footer-company-summary {
    font-size: clamp(14px, 0.78vw, 16px) !important;
    line-height: 1.7 !important;
  }

  :is(body[data-page], body:not([data-page])) .site-footer .footer-column h2 {
    font-size: clamp(15px, 0.84vw, 17px) !important;
  }

  :is(body[data-page], body:not([data-page])) .site-footer .footer-links a {
    font-size: clamp(15px, 0.78vw, 16px) !important;
  }

  :is(body[data-page], body:not([data-page])) .site-footer :is(
    .footer-bottom,
    .footer-legal-line
  ) {
    font-size: clamp(14px, 0.73vw, 15px) !important;
  }

  html[lang="en"] body[data-page="company"] #company-title {
    max-width: 1180px !important;
    font-size: var(--site-hero-title-size) !important;
  }
}
