/* Shared scrollbars for pages, dropdowns, galleries and admin panels. */
* {
  scrollbar-width: thin;
  scrollbar-color: #8092a2 #091422;
}
*::-webkit-scrollbar { width: .5rem; height: .5rem; }
*::-webkit-scrollbar-track { background: #091422; border-radius: 1rem; }
*::-webkit-scrollbar-thumb {
  background: #8092a2;
  border: .125rem solid #091422;
  border-radius: 1rem;
}
*::-webkit-scrollbar-thumb:hover { background: #e8f0f8; }
*::-webkit-scrollbar-corner { background: #091422; }
.pnd-select-menu { scrollbar-color: #b7c6d2 #0c1c2d; }
.pnd-select-menu::-webkit-scrollbar-track { background: #0c1c2d; }
.pnd-select-menu::-webkit-scrollbar-thumb { border-color: #0c1c2d; }

/* Logo and contact on the first row; all three menu links on the second. */
@media (max-width: 800px) {
  .nav-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: 1 / -1;
    width: 100%;
    gap: .25rem;
    flex-wrap: nowrap;
  }
  .nav-links a { padding: .625rem .5rem; text-align: center; letter-spacing: .06em; }
}
@media (max-width: 500px) {
  .nav-wrap { padding: .75rem .625rem 0; }
  .navbar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    justify-items: stretch;
    gap: .5rem;
    padding: .625rem;
  }
  .nav-logo { width: 8.75rem; max-width: 100%; height: 2.5rem; justify-content: flex-start; }
  .nav-logo img { max-width: 100%; max-height: 2.375rem; object-fit: contain; }
  .nav-cta {
    grid-row: 1;
    grid-column: 2;
    align-self: center;
    justify-self: end;
    font-size: .625rem;
    padding: .5rem .75rem;
    letter-spacing: .07em;
  }
  .nav-links { gap: .125rem; }
  .nav-links a { min-width: 0; font-size: .625rem; padding: .625rem .25rem; letter-spacing: .05em; }
}
/* Compact, plain dark navigation dropdowns. */
.navbar { position:relative; }
.nav-group { position:relative; min-width:0; }
.nav-group-head { display:flex; align-items:center; border-radius:.5rem; }
.nav-group.is-open .nav-parent { color:#fff; background:#ffffff0b; }
.nav-links .nav-parent { display:block; }
.nav-parent:focus-visible,.nav-submenu a:focus-visible { outline:2px solid white; outline-offset:2px; }
.nav-submenu { position:absolute; z-index:100; top:calc(100% + .5rem); left:0; width:15.25rem; max-width:calc(100vw - 2rem); padding:.3125rem; border:1px solid #ffffff26; border-radius:.625rem; background:#0b1928; box-shadow:0 .75rem 1.5rem #0006; }
.nav-submenu:not([hidden]) { display:grid; gap:.0625rem; animation:nav-submenu-enter .14s ease-out; }
.nav-submenu::before { content:''; position:absolute; left:0; right:0; top:-.625rem; height:.625rem; }
.nav-links .nav-submenu a { display:block; padding:.5rem .625rem; color:#dfe8f0; font-size:.75rem; font-weight:500; text-transform:none; letter-spacing:0; white-space:normal; text-align:left; line-height:1.35; border-radius:.3125rem; background:none; }
.nav-links .nav-submenu a::after { display:none; }
.nav-links .nav-submenu a:hover { background:#ffffff0c; color:white; }
#about-history,#about-advantages,#about-certificates { scroll-margin-top:1.5rem; }
@keyframes nav-submenu-enter { from { opacity:0; transform:translateY(-.1875rem); } to { opacity:1; transform:translateY(0); } }
@media(max-width:800px) {
  .nav-group { position:static; }
  .nav-group-head { width:100%; }
  .nav-links .nav-parent { flex:1; min-width:0; padding:.625rem .25rem; }
  .nav-submenu { left:.625rem; right:.625rem; top:calc(100% + .375rem); width:auto; max-width:none; max-height:min(60vh,23rem); overflow:auto; overscroll-behavior:contain; }
}
@media(max-width:500px) {
  .nav-links .nav-parent { font-size:.625rem; letter-spacing:.04em; }
  .nav-links .nav-submenu a { font-size:.75rem; padding:.625rem .75rem; }
}
@media(max-width:360px) { .nav-links .nav-parent { font-size:.5625rem; letter-spacing:.015em; } }
@media(prefers-reduced-motion:reduce) { .nav-submenu:not([hidden]) { animation:none; } }
