/* Desktop retains its existing footer. Mobile disclosures work without JS. */
.site-footer__mobile,.site-footer__mobile-details { display: none; }
@media (max-width: 820px) {
 .site-footer { padding: 24px 20px; }
 .site-footer__inner { max-width: 580px; }
 .site-footer .site-footer__grid { display:none; }
 .site-footer__mobile { display:block; }
 .site-footer__mobile>summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:54px; cursor:pointer; list-style:none; }
 .site-footer__mobile>summary::-webkit-details-marker { display:none; }
 .site-footer__mobile-logo { display:block; width:140px; }
 .site-footer__mobile-logo img { display:block; width:100%; height:auto; }
 .site-footer__mobile-chevron { color:#697361; font-size:24px; transition:transform .2s; }
 .site-footer__mobile[open]>summary .site-footer__mobile-chevron { transform:rotate(180deg); }
 .site-footer__mobile>summary:focus-visible { outline:2px solid #587363; outline-offset:4px; }
 .site-footer__mobile-content { padding-top:24px; }
 .site-footer__services { margin-bottom:18px; }
 .site-footer__services h2 { margin:0 0 10px; color:#3d5645; font-size:14px; font-weight:600; }
 .site-footer__services>a { display:grid; grid-template-columns:64px minmax(0,1fr) 16px; align-items:center; gap:10px; min-height:50px; border-bottom:1px solid #e7e6de; color:#64705f; font-size:12px; line-height:1.6; }
 .site-footer__services strong { color:#3f5947; font-size:13px; font-weight:500; }
 .site-footer__mobile-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin-bottom:16px; }
 .site-footer__mobile-menu a { display:flex; align-items:center; min-height:44px; color:#5a6757; font-size:13px; }
 .site-footer .site-footer__logo-panel { width: 140px; }
 .site-footer .site-footer__intro,
 .site-footer__brand .site-footer__company,
 .site-footer .site-footer__nav-title,
 .site-footer .site-footer__extra-menu { display: none; }
 .site-footer .site-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
 .site-footer__links nav, .site-footer .site-footer__nav-list { display: contents; }
 .site-footer__nav-list a { display: flex; align-items: center; min-height: 44px; font-size: 13px; line-height: 1.6; }
 .site-footer__mobile-details { display: block; border-top: 1px solid #e5e2d8; }
 .site-footer__disclosure { border-bottom: 1px solid #e5e2d8; }
 .site-footer__disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; color: #59645d; font-size: 12px; cursor: pointer; list-style: none; }
 .site-footer__disclosure > summary::-webkit-details-marker { display: none; }
 .site-footer__disclosure > summary::after { content: '+'; color: #777d76; font-size: 18px; }
 .site-footer__disclosure[open] > summary::after { content: '−'; }
 .site-footer__disclosure > summary:focus-visible { outline: 2px solid #587363; outline-offset: 2px; }
 .site-footer__mobile-details .site-footer__company { margin: 0; padding: 0 0 16px; gap: 4px; font-size: 12px; line-height: 1.8; }
 .site-footer__mobile-details .site-footer__legal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; padding-bottom: 12px; font-size: 12px; line-height: 1.7; }
 .site-footer__mobile-details .site-footer__legal a { min-width: 0; overflow-wrap: anywhere; }
 .site-footer__mobile-details .site-footer__copyright { margin-top: 16px; font-size: 10px; line-height: 1.7; }
}
