.site-footer {
    margin-top:max(40px,calc(40 / var(--gfs) * 100vw));
    padding:28px 0 max(40px,calc(40 / var(--gfs) * 100vw));
    border-top:1px solid #34373b;
    color:#f4f5f2;
    font-size:14px;
    line-height:1.55;
    text-align:left;
}
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing:border-box; }
.site-footer__top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; }
.site-footer__brand { display:inline-flex; align-items:center; gap:12px; min-height:44px; flex-shrink:0; }
.site-footer__mark { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:#24272b; }
.site-footer__mark img { display:block; width:28px; height:28px; }
.site-footer__wordmark { display:block; width:145px; height:auto; }
.site-footer__up { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:13px; color:#b6b8b5; }
.site-footer__up span { display:grid; place-items:center; width:36px; height:36px; border:1px solid #34373b; border-radius:50%; font-size:18px; }
.site-footer__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.15fr); gap:clamp(24px,3vw,48px); }
.site-footer__column { min-width:0; }
.site-footer h2 { margin:0 0 16px; color:#b6b8b5; font-size:12px; line-height:1.4; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.site-footer__email { display:block; width:fit-content; max-width:100%; color:#dcfe04; font-size:clamp(22px,2.4vw,34px); font-weight:500; letter-spacing:-.035em; line-height:1.25; overflow-wrap:anywhere; }
.site-footer__phone { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; color:#f4f5f2; font-size:16px; }
.site-footer .legal-links { align-items:flex-start; text-align:left; gap:4px; }
.site-footer .legal-links a { display:inline-flex; align-items:center; min-height:32px; padding:4px 0; color:#d6d8d5; font-size:14px; line-height:1.5; text-decoration:none; }
.site-footer__name { margin:0 0 14px; font-size:14px; font-weight:500; }
.site-footer__details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; margin:0 0 18px; }
.site-footer__details dt { margin:0 0 2px; color:#91969b; font-size:11px; }
.site-footer__details dd { margin:0; color:#d6d8d5; font-size:13px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.site-footer__address-label { margin:0 0 4px; color:#91969b; font-size:11px; }
.site-footer address { font-size:12px; line-height:1.65; font-style:normal; color:#b6b8b5; overflow-wrap:anywhere; }
.site-footer__bottom { margin-top:28px; padding-top:18px; border-top:1px solid #34373b; }
.site-footer__bottom p { margin:0; color:#91969b; font-size:12px; line-height:1.6; }
.site-footer a:hover { color:#edff73; }
.site-footer a:focus-visible { outline:2px solid #dcfe04; outline-offset:5px; border-radius:3px; }
@media(max-width:1919px) { .site-footer { margin-top:max(80px,calc(80 / var(--gfs) * 100vw)); } }
@media(max-width:1000px) {
    .site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 36px; }
    .site-footer__contact { grid-column:1/-1; }
}
@media(max-width:767px) {
    .site-footer { margin-top:max(40px,calc(40 / var(--gfs) * 100vw)); padding-top:24px; padding-bottom:28px; }
    .site-footer__top { margin-bottom:26px; gap:12px; }
    .site-footer__brand { gap:9px; }
    .site-footer__mark { width:38px; height:38px; border-radius:12px; }
    .site-footer__mark img { width:25px; height:25px; }
    .site-footer__wordmark { width:127px; }
    .site-footer__up { gap:8px; font-size:12px; }
    .site-footer__grid { grid-template-columns:1fr; gap:24px; }
    .site-footer__contact { grid-column:auto; }
    .site-footer h2 { margin-bottom:12px; }
    .site-footer .legal-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 20px; }
    .site-footer .legal-links a { min-height:44px; font-size:13px; }
    .site-footer__company { padding-top:22px; border-top:1px solid #34373b; }
    .site-footer__details { max-width:420px; }
    .site-footer address { max-width:520px; font-size:12px; }
    .site-footer__bottom { margin-top:24px; padding-top:16px; }
}
@media(max-width:359px) { .site-footer__up span { width:30px; height:30px; } .site-footer__up { gap:6px; } }

/* Approved desktop layout: two panels; mobile rules stay unchanged. */

@media(min-width:768px){
.site-footer__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0 24px}
.site-footer__contact{grid-column:1;grid-row:1;padding:24px 24px 18px;background:#1d2025;border:1px solid #34373b;border-bottom:0;border-radius:24px 24px 0 0}
.site-footer__contact h2{margin-bottom:12px}
.site-footer__email{font-size:28px}
.site-footer__phone{min-height:32px;margin-top:6px;font-size:14px}
.site-footer__documents{grid-column:1;grid-row:2;padding:0 24px 24px;background:#1d2025;border:1px solid #34373b;border-top:0;border-radius:0 0 24px 24px}
.site-footer__documents h2{padding-top:14px;border-top:1px solid #34373b;margin-bottom:8px}
.site-footer .legal-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px}
.site-footer .legal-links a{font-size:13px;min-height:38px}
.site-footer__company{grid-column:2;grid-row:1/3;padding:24px;background:#1d2025;border:1px solid #34373b;border-radius:24px}
.site-footer__name{font-size:15px;margin-bottom:16px}
.site-footer__details{gap:12px 30px;margin-bottom:22px}
.site-footer__details dd{font-size:14px}
.site-footer address{font-size:13px;max-width:520px}
}
