/* Shared corrections. Keep this stylesheet after each page's existing styles. */
[hidden] { display: none !important; }
.fade-up { opacity: 1 !important; transform: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #1179b5;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #fff;
}
.nav-dd-toggle {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  background: none; border: 0; padding: 0; margin: 0; font: inherit;
  font-size: 13px; font-weight: 500; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text, #3a3a3a); white-space: nowrap;
}
.nav-dd-toggle:hover { color: var(--deep-blue, #0f6da3); }
.ag-navigation-ready .nav-dd-panel:not([hidden]) {
  display: flex; opacity: 1; visibility: visible; pointer-events: auto;
}
.nav-dd-toggle[aria-expanded="false"] svg { transform: none !important; }
.nav-dd-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.faq-item .faq-q { list-style: none; text-align: left; }
.faq-q::-webkit-details-marker { display: none; }
.faq-item .faq-a { display: block; }
.faq-item[open] .faq-q::after { content: '−'; }
.faq-item:not([open]) .faq-q::after { content: '+'; }
.review-playback {
  display: block; margin: 16px auto 0; padding: 9px 14px;
  min-height: 40px; background: #1179b5; color: #fff; border: 1px solid #1179b5;
  border-radius: 4px; font: inherit; font-size: 13px; cursor: pointer;
}
.review-playback:hover { background: #0f6da3; border-color: #0f6da3; }
.quote-alternatives { margin: 18px 0; line-height: 1.7; }
.quote-alternatives a { color: #0f6da3; text-decoration: underline; }
.visualizer-fallback { margin: 18px 0; line-height: 1.7; }
@media (max-width:480px) {
  .use-case-grid { grid-template-columns: minmax(0,1fr) !important; }
  .use-case-grid > * { min-width: 0; }
}
/* Content and navigation remain usable if scripts fail or are disabled. */
html:not(.ag-navigation-ready) .hamburger { display: none !important; }
html:not(.ag-navigation-ready) .nav-links { display: flex !important; }
html:not(.ag-navigation-ready) .nav-dd-panel {
  display: flex !important; position: static; width: auto; max-width: 100%;
  flex-wrap: wrap; padding: 16px; box-shadow: none;
}
@media (max-width:1080px) {
  html:not(.ag-navigation-ready) .nav-links {
    position: static; width: 100%; max-height: none; overflow: visible;
  }
  html:not(.ag-navigation-ready) header nav { flex-wrap: wrap; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  .fade-up, .rv-rot-slide, .glass-panel, .nav-dd-toggle svg { transition: none !important; }
}

/* Approved desktop header logo size; mobile and footer logos unchanged. */
@media (min-width:1081px) {
  header .nav-logo svg { width:245px; height:58.75px; }
}
