/* Public footer only: no layout or navigation rules outside this component. */
.public-footer{padding:0;border-top:1px solid #dce3dc;background:#172c26;color:#e8eee8;text-align:left;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.public-footer .public-footer-inner{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.public-footer .public-footer-help{display:block;background:#edf1e7;color:#253e32;font-size:14px}
.public-footer .public-footer-help-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:28px;padding-bottom:28px}
.public-footer .public-footer-help-link{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:8px 0;text-decoration:none}
.public-footer .public-footer-help-link svg{flex-shrink:0;margin-top:2px;color:#46652b}
.public-footer .public-footer-help-link strong{display:block;font-size:15px;line-height:1.4;margin-bottom:6px;color:#20362b}
.public-footer .public-footer-help-link span span{display:block;color:#4c6153;font-size:13px;line-height:1.6}
.public-footer .public-footer-help-link:hover strong{text-decoration:underline;text-underline-offset:4px}
.public-footer .public-footer-columns{display:grid;grid-template-columns:1.65fr 1fr 1.1fr 1fr;gap:36px;padding:48px 0 40px}
.public-footer .public-footer-columns>*{min-width:0}
.public-footer .public-footer-brand{display:inline-flex;align-items:center;gap:12px;max-width:100%;text-decoration:none;color:#f6f8f3}
.public-footer .public-footer-brand img{display:block;flex-shrink:0}
.public-footer .public-footer-brand span{font-size:21px;font-weight:800;letter-spacing:.07em}
.public-footer .public-footer-about p{margin:12px 0;max-width:32ch;color:#bccdc2;font-size:14px;line-height:1.7}
.public-footer .public-footer-about .public-footer-intro{color:#f6f8f3;font-size:17px;font-weight:600;margin-top:20px}
.public-footer .public-footer-contact{display:inline-block;min-height:44px;margin-top:10px;padding:6px 0;color:#e8eee8;text-decoration:none;font-size:14px}
.public-footer .public-footer-contact span{display:block;color:#bccdc2;font-size:12px;margin-bottom:4px}
.public-footer .public-footer-links{display:block;font-size:14px}
.public-footer .public-footer-links h2{margin:12px 0 16px;color:#cff707;font-size:15px;line-height:1.5;font-weight:650;letter-spacing:0}
.public-footer .public-footer-links ul{list-style:none;padding:0;margin:0}
.public-footer .public-footer-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;text-decoration:none;max-width:100%;line-height:1.5}
.public-footer .public-footer-links a:hover,.public-footer .public-footer-contact:hover{color:#cff707;text-decoration:underline;text-underline-offset:5px}
.public-footer a:focus-visible{outline:3px solid #cff707;outline-offset:4px;border-radius:2px}
.public-footer .public-footer-help a:focus-visible{outline-color:#46652b}
.public-footer .public-footer-bottom{border-top:1px solid #395047;padding:22px 0;display:flex;align-items:baseline;justify-content:space-between;gap:16px 32px;color:#bccdc2;font-size:12px}
.public-footer .public-footer-bottom p{margin:0;line-height:1.8}
.public-footer .public-footer-environment{text-align:right}
.public-footer .public-footer-environment span{color:#e8eee8;font-weight:650;margin-right:8px}
@media(max-width:1000px){
 .public-footer .public-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}
 .public-footer .public-footer-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px}
 .public-footer .public-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
 .public-footer .public-footer-environment{text-align:left}
}
@media(max-width:600px){
 .public-footer .public-footer-inner{padding-right:24px;padding-left:24px}
 .public-footer .public-footer-columns{grid-template-columns:1fr;gap:24px;padding:32px 0}
 .public-footer .public-footer-help-grid{grid-template-columns:1fr;gap:8px;padding-top:20px;padding-bottom:20px}
 .public-footer .public-footer-help-link{gap:16px;padding:12px 0}
 .public-footer .public-footer-links h2{margin-top:0;margin-bottom:8px}
 .public-footer .public-footer-about{padding-bottom:8px}
 .public-footer .public-footer-environment span{display:block}
}
