/* RAVENG product discovery and accessible navigation, 2026-10-09. */
.nav__links { gap: clamp(1rem, 1.6vw, 2rem); }
.nav__products { position: relative; }
.nav__products summary { display: flex; align-items: center; gap: .5rem; min-height: 44px; cursor: pointer; list-style: none; color: var(--ice); font-size: var(--text-sm); font-weight: 600; }
.nav__products summary::-webkit-details-marker { display: none; }
.nav__products[open] summary svg { transform: rotate(180deg); }
.nav__products-menu { position: absolute; top: 100%; left: 0; width: 230px; padding: .5rem; background: var(--surface-2); border: 1px solid var(--border-medium); border-radius: var(--radius-md); box-shadow: 0 18px 40px rgba(10, 10, 26, .4); }
.nav__products-menu a { display: flex; align-items: center; min-height: 44px; padding: .5rem .8rem; color: var(--ice); font-size: 1rem; font-weight: 500; border-radius: var(--radius-sm); }
.nav__products-menu a:hover, .nav__products-menu a:focus-visible { background: var(--surface-3); }
.nav__products summary:focus-visible, .nav__products-menu a:focus-visible, .nav__toggle-products:focus-visible, .nav__mobile a:focus-visible, .footer__products a:focus-visible, .product-directory__item:focus-visible { outline: 2px solid var(--ice); outline-offset: 4px; }
.nav__toggle-products { display: none; width: 44px; height: 44px; padding: 8px; flex-direction: column; justify-content: center; gap: 5px; }
.nav__toggle-products span { display: block; width: 28px; height: 2px; background: var(--ice); }
.nav__toggle-products.is-active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.nav__toggle-products.is-active span:nth-child(2) { opacity: 0; }
.nav__toggle-products.is-active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
.footer__products { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; padding: 1.5rem 0; color: var(--ice); }
.footer__products strong { flex-basis: 100%; font-size: 1rem; }
.footer__products a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-sm); }
.footer__products a:hover { color: var(--crimson); }
.product-directory { background: var(--surface-2); scroll-margin-top: 96px; }
.product-directory__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; margin-top: 2rem; }
.product-directory__item { position: relative; display: flex; flex-direction: column; gap: .375rem; padding: 1.5rem 2rem 1.5rem 0; border-top: 1px solid var(--border-medium); }
.product-directory__item strong { color: var(--ice); font-family: var(--font-display); font-size: var(--text-xl); }
.product-directory__item > span:not(.product-directory__arrow) { color: var(--ice); opacity: .8; font-size: var(--text-sm); max-width: 65ch; }
.product-directory__arrow { position: absolute; right: .5rem; top: 1.5rem; font-size: var(--text-xl); color: var(--crimson); }
.product-directory__item:hover strong { color: var(--crimson); }
@media (max-width: 1024px) {
  .nav__toggle-products { display: flex; }
  .nav__mobile { align-items: stretch; justify-content: flex-start; gap: .25rem; padding: 110px max(24px, calc((100vw - 600px) / 2)) 32px; overflow-y: auto; overscroll-behavior: contain; background: var(--surface-1); }
  .nav__mobile > a { display: flex; align-items: center; flex-shrink: 0; min-height: 44px; font-size: 1.25rem; }
  .nav__mobile-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; flex-shrink: 0; padding-bottom: 1rem; margin-bottom: .5rem; border-bottom: 1px solid var(--border-medium); }
  .nav__mobile-products p { grid-column: 1 / -1; font-size: 1rem; color: var(--ice); opacity: .7; padding-bottom: .5rem; }
  .nav__mobile-products a { display: flex; align-items: center; min-height: 44px; font-size: 1.125rem; opacity: 1; }
}
@media (max-width: 600px) { .product-directory__list { grid-template-columns: 1fr; } }
