/* Motion supports the editorial hierarchy; content is always visible by default. */
/* Native same-origin document continuity: no link interception or loading delay.
   Unsupported browsers keep ordinary document navigation. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  .site-header { view-transition-name: etar-site-header; }
  ::view-transition-old(root) { animation: etar-page-out 150ms ease-out both; }
  ::view-transition-new(root) { animation: etar-page-in 220ms cubic-bezier(.2,.65,.3,1) both; }
  ::view-transition-group(etar-site-header),
  ::view-transition-new(etar-site-header) { animation: none; }
  ::view-transition-old(etar-site-header) { animation: none; opacity: 0; }
}
@keyframes etar-page-out { to { opacity: 0; } }
@keyframes etar-page-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* One anchor/focus offset. JS updates the header height after resize or reflow;
   these responsive values also keep native links usable before JS loads. */
html { --site-header-height: 86px; scroll-padding-top: calc(var(--site-header-height) + 12px); }
.document-section, .section[id], .form-field, .error-summary, [id^="id_"] { scroll-margin-top: 0; }
@media (max-width: 1090px) { html { --site-header-height: 76px; } }
@media (max-width: 767px) { html { --site-header-height: 72px; } }

.reading-progress {
  position: fixed;
  z-index: 90;
  inset: 0 0 auto;
  height: 2px;
  background: var(--accent, #0161be);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
  contain: strict;
}
.reading-progress[hidden] { display: none; }
@supports (animation-timeline: scroll(root block)) {
  .reading-progress[data-native="true"] {
    animation: etar-reading-progress 1s linear both;
    animation-timeline: scroll(root block);
  }
}
@keyframes etar-reading-progress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

[data-section-nav] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 30px;
  padding-block: 15px;
  border-block: 1px solid var(--line, #d5dce7);
}
[data-section-nav] a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding-block: 8px;
  border-bottom: 2px solid transparent;
  color: var(--muted, #53627c);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  transition: color 200ms ease, border-color 200ms ease;
}
[data-section-nav] a:hover,
[data-section-nav] a:focus-visible,
[data-section-nav] a[aria-current="location"] {
  color: var(--blue, #00288e);
  border-bottom-color: currentColor;
}
@media (max-width: 767px) {
  [data-section-nav] { column-gap: 22px; padding-block: 10px; }
  [data-section-nav] a { font-size: 12px; }
}

.button > [aria-hidden="true"],
.text-link > [aria-hidden="true"],
.row-action .arrow,
.object-label > [aria-hidden="true"],
.industry-directory-row .directory-arrow,
.related-links a > [aria-hidden="true"],
.footer-nav a > [aria-hidden="true"] {
  display: inline-block;
  transition: transform 240ms cubic-bezier(.2,.65,.3,1);
}
.button:focus-visible > [aria-hidden="true"],
.text-link:focus-visible > [aria-hidden="true"],
.object-item:focus-visible .object-label > [aria-hidden="true"],
.related-links a:focus-visible > [aria-hidden="true"],
.footer-nav a:focus-visible > [aria-hidden="true"] { transform: translate(3px,-3px); }
.family-row:focus-visible .arrow,
.industry-directory-row:focus-visible .directory-arrow { transform: translateX(4px); }
.text-link[download]:focus-visible > [aria-hidden="true"],
.text-link[href^="#"]:focus-visible > [aria-hidden="true"] { transform: translateY(3px); }

/* Touch navigation never depends on hover, and complete product shapes remain visible. */
.object-item:hover img { transform: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button:hover > [aria-hidden="true"],
  .text-link:hover > [aria-hidden="true"],
  .object-item:hover .object-label > [aria-hidden="true"],
  .related-links a:hover > [aria-hidden="true"],
  .footer-nav a:hover > [aria-hidden="true"] { transform: translate(3px,-3px); }
  .family-row:hover .arrow,
  .industry-directory-row:hover .directory-arrow { transform: translateX(4px); }
  .text-link[download]:hover > [aria-hidden="true"],
  .text-link[href^="#"]:hover > [aria-hidden="true"] { transform: translateY(3px); }
  .object-item img,
  .family-row img { transition: transform 420ms cubic-bezier(.2,.65,.3,1); }
  .object-item:hover img { transform: translateY(-4px); }
  .family-row:hover img { transform: translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .reading-progress { display: none; animation: none; }
  .button, .text-link, .object-item, .family-row, [data-section-nav] a,
  .button > [aria-hidden="true"], .text-link > [aria-hidden="true"],
  .object-label > [aria-hidden="true"], .row-action .arrow,
  .industry-directory-row .directory-arrow, .related-links a > [aria-hidden="true"],
  .footer-nav a > [aria-hidden="true"], .object-item img, .family-row img {
    transition: none !important;
    transform: none !important;
  }
}

@media print {
  .reading-progress { display: none; }
}
