/* Shared accessibility and responsive corrections. Existing dashboard styles are unrelated. */
main {display: block; min-width: 0}
.ut-responsive-image {height: auto}
.footer-new-col > a {display: flex; align-items: center; min-height: 32px}
.ut-sr-only {position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important}
:where(a, button, input, select, textarea):focus-visible {outline: 3px solid #315efb; outline-offset: 3px}
.ut-cookie-settings {position: fixed; right: 12px; bottom: 12px; z-index: 9998; max-width: calc(100% - 24px); min-height: 44px; padding: 9px 15px; border: 1px solid #d6dbe5; border-radius: 24px; color: #202735; background: #fff; font: inherit; font-size: 13px; box-shadow: 0 2px 10px #0001; cursor: pointer}
.ut-cookie-settings[hidden] {display: none}
.ut-mobile-nav-cta {display: none !important}
.ut-cookie-fallback {position: fixed; z-index: 10000; padding: 20px; border-radius: 20px; background: #fff; color: #111; box-shadow: 0 6px 30px #0003; font: 14px/1.5 system-ui, sans-serif}
.ut-cookie-fallback .rvly-banner__head {display: flex; align-items: flex-start}
.ut-cookie-fallback h3 {flex: 1; margin: 0; font-size: 18px}
.ut-cookie-fallback .rvly-banner__text {margin: 16px 0}
.ut-cookie-fallback button {cursor: pointer; padding: 8px 12px; border: 1px solid #315efb; border-radius: 12px; background: #fff; color: #202735; font: inherit}
.rvly-banner {box-sizing: border-box; width: min(440px, calc(100vw - 24px)) !important; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; right: 12px !important; bottom: 12px !important; left: auto !important}
.rvly-banner__actions {display: flex; flex-wrap: wrap; gap: 10px}
.rvly-banner__btn {flex: 1 1 140px; min-height: 44px; white-space: normal !important}
.rvly-banner__head h3 {padding-right: 8px; min-width: 0; overflow-wrap: anywhere}
.rvly-banner__head {gap: 8px; min-width: 0}
.rvly-banner__btn {min-width: 0; overflow-wrap: anywhere}
.rvly-banner__close {min-width: 44px; min-height: 44px; flex-shrink: 0}
.ut-table-scroll {max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain}
.ut-table-scroll table {min-width: 540px}
.blog-content :where(img, video, iframe), .text-page :where(img, video, iframe) {max-width: 100%}
.blog-content img, .text-page img {height: auto}
.blog-content :where(p, li, a), .text-page :where(p, li, a) {overflow-wrap: break-word}
@media (max-width: 1023px) {
  .header-new-nav.show {max-height: calc(100dvh - var(--header-height, 80px)); overflow-y: auto; overscroll-behavior: contain; padding-bottom: max(20px, env(safe-area-inset-bottom))}
  .header-new .burger, .header-new-nav a, .header-new-nav .has-dropdown, .mega-tab {min-height: 44px}
  .header-new-nav a {display: flex; align-items: center}
  .header-new-nav .ut-mobile-nav-cta {display: flex !important; margin-top: 16px; align-items: center; justify-content: center; min-height: 44px}
  .mega-menu.mobile-moved {max-width: 100%; min-width: 0}
  .hero-new-left, .hero-new-right, .contact-block-new-wr .col, .blog-content, .blog-layout {min-width: 0}
  .uth-migration-grid {grid-template-columns: minmax(0, 1fr)}
  .uth-migration-copy, .uth-migration-path, .uth-migration-step > * {min-width: 0}
  .locale-modal, .locale-modal__dialog {max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain}
  .custom-select__dropdown {max-height: min(320px, 45dvh); overflow-y: auto}
}
@media (max-width: 767px) {
  .header-new .header-new-wr {gap: 8px}
  .header-new .header-new-logo {width: clamp(120px, 34vw, 150px); min-width: 0; flex-shrink: 1}
  .header-new .header-new-logo img {width: 100%; max-width: 100%; height: auto}
  .header-new .header-new-actions {min-width: 0; flex-shrink: 0; gap: 8px}
  .header-new-actions > .site-btn-new:not(.burger) {padding-inline: 10px; font-size: 14px}
  .header-new .burger {box-sizing: border-box; flex: 0 0 44px; width: 44px; height: 44px; min-width: 44px; padding: 10px}
  input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]), select, textarea {font-size: 16px !important; max-width: 100%; box-sizing: border-box}
  .site-btn-new, .site-btn, button[type=submit] {min-height: 44px; white-space: normal}
  .header-new {width: 100vw; max-width: 100vw}
  .about-new-left {overflow: clip}
  .footer-new-links {min-width: 0; max-width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr))}
  .footer-new-col > a {min-height: 44px}
  .footer-new-col {min-width: 0; max-width: 100%}
  .footer-new-col :where(a, .footer-new-title) {overflow-wrap: anywhere}
  .hero-new .section-title {font-size: clamp(28px, 8vw, 40px); line-height: 1.16; overflow-wrap: break-word}
  .hero-new-actions {gap: 12px; width: 100%}
  .hero-new-actions .site-btn-new {max-width: 100%; text-align: center}
  .hero-new-right {max-width: 100%; min-width: 0; contain: layout}
  .section-title, .site-title, .sec-hero-head {overflow-wrap: break-word}
  .locale-modal__dialog {width: calc(100vw - 24px); max-width: calc(100vw - 24px); box-sizing: border-box}
  .ut-cookie-settings {font-size: 12px}
}
@media (max-width: 375px) {
  /* The primary action remains in the hero and in the opened menu. */
  .header-new-actions > .site-btn-new:not(.burger) {display: none}
}
@media (prefers-reduced-motion: reduce), (hover: none) and (pointer: coarse) {
  .hero-float, .about-card, .hero-new-road, .hero-new-road span {animation: none !important}
  .uth-how-signal i, .uth-audience-stage-top i, .uth-audience-wave i, .uth-audience-ai-card.metric i, .uth-audience-stage-orbit, .uth-ai-wave i, .uth-ai-transcript .is-processing::after, .uth-ai-output, .uth-ai-ring {animation: none !important}
  .hero-new-right {backdrop-filter: none}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto !important}
  *, *::before, *::after {animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important}
}
