/* Targeted logo, header, image and responsive layout corrections. */
html { scroll-padding-top: 90px; }

/* Match the ID specificity of the shared scroll/mobile header rules. */
#mainNav.tts-nav,
#mainNav.tts-nav.scrolled {
  background: #fbfaf7 !important;
  padding: 0 !important;
  min-height: 78px;
}
#mainNav.tts-nav .navbar-brand { margin-right: 20px; padding: 5px 0; }
/* Crop only the supplied PNG's transparent padding, preserving the artwork. */
#mainNav.tts-nav .brand-logo-img {
  width: 260px;
  height: 68px !important;
  max-width: 100% !important;
  object-fit: cover;
  object-position: center;
}
#mainNav.tts-nav .navbar-toggler { min-height: 44px; }
#mainNav.tts-nav .navbar-toggler-icon { filter: none; }
#mainNav.tts-nav .nav-link { padding-inline: 9px !important; }
.hero-ref { margin-top: 78px; }
.hero-ref-content { min-width: 0; }
.partnership-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(120px, .4fr); }
.partnership-grid > *, .solutions-grid > * { min-width: 0; }
.partnership-visual img {
  width: 100%;
  height: auto !important;
  aspect-ratio: 1200 / 592;
  object-fit: contain;
}
.footer-contact-list a { overflow-wrap: anywhere; min-width: 0; }
.tts-nav ~ .site-footer .footer-logo-img {
  width: 280px;
  height: 76px;
  object-fit: cover;
  background: #fbfaf7;
  border-radius: 4px;
}
#tts-chat-panel { max-height: min(540px, calc(100dvh - 110px)); }

@media (max-width: 1399.98px) {
  #mainNav.tts-nav .navbar-collapse {
    background: #fbfaf7;
    max-height: calc(100dvh - 78px);
    overflow-y: auto;
    padding: 10px 8px 16px;
    margin-top: 0;
    border-top: 1px solid rgba(7, 26, 59, .08);
  }
  #mainNav.tts-nav .dropdown-menu {
    position: static !important;
    transform: none !important;
    min-width: 0;
    width: auto;
    box-shadow: none;
    border: 0;
    border-left: 2px solid rgba(201, 169, 110, .45);
    border-radius: 0;
    margin: 2px 0 8px 12px;
    padding: 4px 0 4px 8px;
    background: transparent;
  }
  #mainNav.tts-nav .dropdown-menu:not(.show) { display: none; }
  #mainNav.tts-nav .dropdown-toggle:active { pointer-events: auto; }
  #mainNav.tts-nav .dropdown-item { white-space: normal; }
  #mainNav.tts-nav .nav-link { padding: 13px 10px !important; }
  .tts-talk { margin: 8px 0; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .partnership-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px; }
  .partnership-quote { grid-column: 2; }
  .solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .partnership-grid { grid-template-columns: minmax(0, 1fr); }
  .partnership-visual { width: 100%; }
  .section-title-nowrap { white-space: normal; }
}
@media (max-width: 767.98px) {
  #mainNav.tts-nav, #mainNav.tts-nav.scrolled { min-height: 68px; }
  #mainNav.tts-nav .brand-logo-img { width: 220px; height: 58px !important; }
  #mainNav.tts-nav .navbar-brand { margin-right: 8px; }
  #mainNav.tts-nav .navbar-collapse { max-height: calc(100dvh - 68px); }
  .hero-ref { margin-top: 68px; height: auto; max-height: none; min-height: 600px; }
  .hero-ref h1 { font-size: clamp(36px, 7.1vw, 54px); line-height: 1.08; }
  .hero-kicker { font-size: clamp(9px, 2.2vw, 12px); letter-spacing: .12em; }
  .hero-ref-container { padding-top: 64px; padding-bottom: 64px; }
  .hero-btn { min-width: 0; }
  .market-cluster { flex-wrap: wrap; gap: 14px; }
  .solutions-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 359.98px) {
  #mainNav.tts-nav .brand-logo-img { width: 200px; height: 54px !important; }
  .btn-tts { white-space: normal; max-width: 100%; }
}
@media (max-width: 575.98px) {
  /* Bootstrap g-5 exceeds the container gutter on narrow screens. */
  .site-footer .row { --bs-gutter-x: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  [data-aos] { opacity: 1 !important; transform: none !important; }
}
