/* Shared customer access, visible in both desktop and mobile navigation. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header .nav-wrap{position:relative;gap:28px}
.site-header .nav{margin-left:auto;gap:25px;white-space:nowrap}
.site-header .nav-contact{padding:10px 0!important;border:0;background:none;gap:0;margin:0;font-weight:400}
.site-header .nav-contact:hover{color:#b94f35;background:none}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.app-access{position:relative}
.app-access>summary{display:flex;align-items:center;justify-content:center;gap:17px;min-height:44px;padding:11px 18px;background:#1b2020;color:#fff;border:1px solid #1b2020;border-radius:2px;font-size:14px;font-weight:600;line-height:1.4;list-style:none;cursor:pointer;white-space:nowrap}
.app-access>summary::-webkit-details-marker{display:none}
.app-access>summary:hover,.app-access[open]>summary{background:#343c37;border-color:#343c37}
.app-access>summary:focus-visible,.app-access-panel a:focus-visible{outline:2px solid #b94f35;outline-offset:4px}
.app-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.app-access[open] .app-chevron{transform:translateY(2px) rotate(225deg)}
.app-access-panel{position:absolute;right:0;top:calc(100% + 15px);z-index:60;width:300px;max-width:calc(100vw - 38px);padding:20px;background:#fbfbf8;border:1px solid #dce0d8;box-shadow:0 18px 45px #1b20201a;border-radius:2px;color:#1b2020}
.app-access-panel>p{font-size:12px;color:#69716b;margin:0 0 11px;padding:0 9px}
.app-access-panel>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:12px 9px;border-top:1px solid #e2e5dd}
.app-access-panel>a:hover,.app-access-panel>a:focus-visible{background:#edf0e8}
.app-access-panel strong,.app-access-panel small{display:block}
.app-access-panel strong{font-size:15px;font-weight:600;line-height:1.5}
.app-access-panel small{font-size:12px;color:#626c65;line-height:1.5;margin-top:3px}
.app-entry-arrow{font-size:19px;color:#b94f35}
.footer .footer-links{gap:clamp(24px,4vw,64px)}
.footer-apps a>span[aria-hidden]{margin-left:5px;color:#b9c3b9}
@media(max-width:1180px){.site-header .nav-wrap{gap:20px}.site-header .nav{gap:18px}}
@media(max-width:1050px){
  .site-header,.inner-page .site-header{height:var(--header-height)}
  .site-header .nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;margin:0;padding:12px 20px 20px;flex-direction:column;align-items:stretch;gap:0;background:#f7f7f4;border:1px solid #dedfdb;border-top:0;white-space:normal}
  .site-header .nav.is-open{display:flex}
  .site-header .nav a,.site-header .nav .nav-contact{padding:12px 0!important;min-height:44px}
  .header-actions{margin-left:auto}
  .header-actions .menu-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;background:transparent;border:1px solid #c7ccc5;border-radius:2px;color:#1a1e1e;cursor:pointer}
  .header-actions .menu-button span{width:20px;height:2px;display:block;background:#1a1e1e}
  .app-access{position:static}
  .app-access-panel{top:calc(100% + 8px);max-width:100%}
  .footer-main{flex-direction:column}
  .footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:0}
}
@media(max-width:620px){
  .site-header .nav-wrap{gap:8px}
  .header-actions{gap:8px}
  .app-access>summary{font-size:13px;padding:11px 12px;gap:11px}
  .site-header .brand{gap:8px}
  .site-header .brand-mark{width:36px;height:36px;background-size:76px 76px;background-position:-20px -15px}
  .site-header .brand-text strong{font-size:17px}
  .site-header .brand-text small{font-size:7px;letter-spacing:.08em}
  .app-access-panel{padding:17px}
  .footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;margin-top:36px}
  .footer .footer-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;gap:12px 24px}
  .footer-apps>strong{grid-column:1/-1;margin-bottom:0}
}
@media(max-width:380px){.site-header .brand-text small{display:none}.site-header .brand-text strong{font-size:16px;letter-spacing:.06em}.app-access>summary{font-size:12px;padding-inline:10px;gap:8px}}
