.range-card{display:block;color:inherit;font:inherit}
.nav-disclosure{position:relative}
.nav-disclosure>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;outline-offset:6px}
.nav-disclosure>summary::-webkit-details-marker{display:none}
.nav-disclosure>summary:focus-visible{outline:2px solid var(--bronze)}
.nav-disclosure[open]>summary .chevron{transform:rotate(180deg)}
.nav-panel{position:absolute;top:34px;left:-20px;width:290px;padding:14px 20px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 16px 40px #15171a20;z-index:40}
.nav-panel a{display:flex;justify-content:space-between;gap:20px;padding:12px 0;font-size:13px;white-space:normal}
.nav-panel a:after{display:none}
.nav-panel a:hover{color:var(--bronze-dark)}
.nav-panel .nav-panel-separator{border-top:1px solid var(--line);margin-top:7px;padding-top:18px}
.nav-panel a span{color:var(--bronze)}
.page-directory{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:7vw;padding-top:52px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.page-directory>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.page-directory .directory-title{font:400 25px var(--display);margin-bottom:8px;color:var(--bronze-dark)}
.page-directory a{font-size:13px;line-height:1.5;color:#5d5952}
.page-directory a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.mobile-nav{max-height:calc(100dvh - 100px);overflow-y:auto}.mobile-nav>a{font-size:19px;padding:11px 0}.page-directory{gap:30px}.page-directory .directory-title{font-size:21px}.page-directory a{font-size:12px}}
@media(max-width:640px){.mobile-nav>a{font-size:17px}.page-directory{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:35px}.page-directory>div{gap:11px}.page-directory .directory-title{font-size:25px}.page-directory a{font-size:14px}}

/* Original logos, aligned like the approved PROMPOLU / STRUGAL reference. */
.site-header{grid-template-columns:minmax(0,440px) 1fr auto}
.brand-group{display:flex;align-items:center;gap:16px;min-width:0}
.site-header .brand-group .brand{flex:1;min-width:0;width:auto;max-width:none;margin:0;padding:0;border:0;background:transparent}
.distributor-mark{flex:0 0 27%;aspect-ratio:2.65;display:grid;place-items:center;padding:0;border:2px solid #deddd8;background:#fff}
.distributor-mark img{width:70%;height:auto;max-width:100%}
@media(max-width:1190px){
 .site-header{grid-template-columns:minmax(0,310px) 1fr auto}
 .brand-group{gap:12px}
}
@media(max-width:900px){
 .site-header{grid-template-columns:minmax(0,1fr) auto auto}
 .brand-group{max-width:400px}
}
@media(max-width:640px){
 .site-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
 .brand-group{gap:10px}
}

/* The mobile menu has its own layout; legacy desktop nav rules must not apply. */
@media (max-width: 900px) {
  .mobile-nav {
    top: 84px;
    align-items: stretch;
    gap: 0;
    max-height: calc(100dvh - 104px);
    padding: 12px 20px 20px;
    overscroll-behavior: contain;
    text-align: left;
  }
  .mobile-nav > a:not(.button) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    gap: 20px;
    width: 100%;
    min-height: 48px;
    padding: 12px 0;
    line-height: 1.4;
  }
  .mobile-nav > a:not(.button) > span {
    flex-shrink: 0;
    padding: 0;
    line-height: 1;
  }
  .mobile-nav > a.button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-self: stretch;
    flex-shrink: 0;
    gap: 16px;
    width: 100%;
    min-height: 52px;
    margin-top: 20px;
    padding: 14px 22px;
    border-bottom: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
  }
}
.mobile-nav > a.button[aria-current] { color: #fff; text-decoration: none; }

/* Keep the quote label inside its pill on mobile, including current-page links. */
@media (max-width: 900px) {
  #mainNav > a.menu-quote {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: center;
    justify-content: normal;
    align-self: stretch;
    width: 100%;
    min-height: 52px;
    padding: 14px 22px;
    gap: 12px;
    border: 0;
    box-sizing: border-box;
    color: #fff;
    text-decoration: none;
  }
  #mainNav > a.menu-quote > .menu-quote-label {
    padding: 0;
    min-width: 0;
    color: inherit;
    font: 600 14px/24px var(--body);
    letter-spacing: 0;
    text-align: center;
  }
  #mainNav > a.menu-quote > svg {
    width: 28px;
    height: 24px;
    margin: 0;
    justify-self: end;
  }
}
