/* uTap homepage runtime controls v116
   One final, narrow owner for brand motion and public-homepage font sizes.
   Loaded after all legacy landing hotfixes so older !important declarations
   cannot silently disable the current controls. */

/* Brand marquee geometry. JavaScript owns only --utap-brand-offset; CSS owns
   layout and converts that scalar into the single visible transform. */
html body #hero-brand-band.logo-band .logo-band__viewport,
html body #hero-proof-row .logo-band .logo-band__viewport {
  position: relative !important;
  overflow: hidden !important;
  scroll-behavior: auto !important;
  scrollbar-width: none !important;
}

html body #hero-brand-band.logo-band .logo-band__viewport::-webkit-scrollbar,
html body #hero-proof-row .logo-band .logo-band__viewport::-webkit-scrollbar {
  display: none !important;
}

html body #hero-brand-band.logo-band .logo-band__track,
html body #hero-proof-row .logo-band .logo-band__track,
html body #hero-proof-row .trusted-logo-marquee__track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  animation: none !important;
  translate: none !important;
  transform: translate3d(calc(var(--utap-brand-offset, 0) * -1px), 0, 0) !important;
  will-change: transform !important;
}

html body #hero-brand-band.logo-band .logo-band__set,
html body #hero-brand-band.logo-band .logo-band__set[aria-hidden="true"],
html body #hero-proof-row .logo-band .logo-band__set,
html body #hero-proof-row .logo-band .logo-band__set[aria-hidden="true"] {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  animation: none !important;
  translate: none !important;
  transform: none !important;
}

/* Header and navigation wording. */
html body .site-bar.site-bar--landing .site-direct-menu a,
html body .site-bar.site-bar--landing .site-account-link,
html body .site-bar.site-bar--landing .site-menu-panel a,
html body .site-bar.site-bar--landing .site-menu__trigger {
  font-size: var(--utap-font-size-header-nav, 14px) !important;
}

/* Hero wording. */
html body .main-hero-wrap.main-hero-wrap #hero-title {
  font-size: var(--utap-font-size-hero-title, 64px) !important;
}

html body .main-hero-wrap.main-hero-wrap #hero-description {
  font-size: var(--utap-font-size-hero-body, 18px) !important;
}

html body .main-hero-wrap.main-hero-wrap .hero-tool-pill,
html body .main-hero-wrap.main-hero-wrap .hero-capability-label,
html body .main-hero-wrap.main-hero-wrap .feature-list li {
  font-size: var(--utap-font-size-hero-microcopy, 14px) !important;
}

html body .main-hero-wrap.main-hero-wrap .hero-copy > .hero-actions .btn,
html body .landing-final-cta.landing-final-cta .landing-final-cta__button {
  font-size: var(--utap-font-size-button, 16px) !important;
}

/* Small section labels. */
html body .video-section.video-section .section-eyebrow,
html body .landing-showcase-section.landing-showcase-section .section-eyebrow,
html body .video-section.video-section .video-playlist__label {
  font-size: var(--utap-font-size-section-eyebrow, 12px) !important;
}

/* Main section headings. */
html body .main-hero-wrap.main-hero-wrap .landing-steps-strip__head h2,
html body .video-section.video-section #how-it-works-title,
html body .landing-showcase-section.landing-showcase-section .landing-showcase-section__head h2 {
  font-size: var(--utap-font-size-section-title, 42px) !important;
}

/* Main section paragraphs, including the attached company-branding sentence. */
html body .video-section.video-section .section-head p:not(.section-eyebrow),
html body .landing-showcase-section.landing-showcase-section .landing-showcase-section__head p:not(.section-eyebrow) {
  font-size: var(--utap-font-size-section-body, 17px) !important;
}

/* Repeating card and playlist copy. */
html body .main-hero-wrap.main-hero-wrap .hero-side-box__head strong,
html body .main-hero-wrap.main-hero-wrap .hero-side-card__copy strong,
html body .main-hero-wrap.main-hero-wrap .landing-step-card h3,
html body .video-section.video-section .video-card h3,
html body .video-section.video-section .video-playlist__item strong {
  font-size: var(--utap-font-size-card-title, 16px) !important;
}

html body .main-hero-wrap.main-hero-wrap .hero-side-box__head p,
html body .main-hero-wrap.main-hero-wrap .hero-side-card__description,
html body .main-hero-wrap.main-hero-wrap .landing-step-card p,
html body .video-section.video-section .video-card p,
html body .video-section.video-section .video-playlist__item > span:not(.video-playlist__label) {
  font-size: var(--utap-font-size-card-body, 14px) !important;
}

/* Original-theme and template captions, including “Customized branded themes…”. */
html body .landing-showcase-section.landing-showcase-section .hero-image-panel__caption strong,
html body .landing-showcase-section.landing-showcase-section .hero-image-panel__caption span,
html body .landing-showcase-section.landing-showcase-section .hero-gallery__caption strong,
html body .landing-showcase-section.landing-showcase-section .hero-gallery__caption span,
html body .landing-showcase-section.landing-showcase-section .hero-gallery__copy strong,
html body .landing-showcase-section.landing-showcase-section .hero-gallery__copy span {
  font-size: var(--utap-font-size-media-caption, 16px) !important;
}

/* Trusted brands sentence. */
html body .landing-showcase-section.landing-showcase-section #hero-trust-copy.trusted-label {
  font-size: var(--utap-font-size-trusted-text, 16px) !important;
}

/* Final CTA wording. */
html body .landing-final-cta.landing-final-cta .landing-final-cta__copy h2 {
  font-size: var(--utap-font-size-final-title, 42px) !important;
}

html body .landing-final-cta.landing-final-cta .landing-final-cta__copy p {
  font-size: var(--utap-font-size-final-body, 17px) !important;
}

/* Footer inline styles are deliberately overridden by the saved token. */
html body .site-footer.site-footer .site-footer__nav a,
html body .site-footer.site-footer .site-footer__link {
  font-size: var(--utap-font-size-footer, 13px) !important;
}

/* Responsive safety: editor values remain exact until viewport width would
   force a heading outside the screen. */
@media (max-width: 720px) {
  html body .main-hero-wrap.main-hero-wrap #hero-title {
    font-size: min(var(--utap-font-size-hero-title, 64px), 12vw) !important;
  }

  html body .main-hero-wrap.main-hero-wrap .landing-steps-strip__head h2,
  html body .video-section.video-section #how-it-works-title,
  html body .landing-showcase-section.landing-showcase-section .landing-showcase-section__head h2,
  html body .landing-final-cta.landing-final-cta .landing-final-cta__copy h2 {
    font-size: min(var(--utap-font-size-section-title, 42px), 10.5vw) !important;
  }

  html body .landing-final-cta.landing-final-cta .landing-final-cta__copy h2 {
    font-size: min(var(--utap-font-size-final-title, 42px), 10.5vw) !important;
  }
}
