/* A quiet, practical footer. Solid graphite keeps every line readable. */
body[data-site="solutions"] .ms-footer {
  background:var(--ms-chrome,#1b1b19);
  color:var(--ms-chrome-ink,#faf8f3);
  border-top:1px solid var(--ms-chrome-line,#77736b);
}
.ms-footer-inner,.ms-footer-payments,.ms-footer-bottom { width:min(100% - 48px,1320px); margin-inline:auto; }
.ms-footer-inner { display:grid; grid-template-columns:1.25fr 1fr 1fr 1.2fr; gap:40px; padding-block:64px 44px; }
body[data-site="solutions"] .ms-footer :is(p,h2) { margin:0; font-size:18px; line-height:1.6; }
.ms-footer p,.ms-footer-credit>span { color:var(--ms-chrome-muted,#d4cec1); }
body[data-site="solutions"] .ms-footer-intro p { max-width:30ch; margin-block:24px; }
.ms-footer-column { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
body[data-site="solutions"] .ms-footer .ms-footer-column h2 { margin:0 0 14px; font-size:18px; line-height:1.6; letter-spacing:0; font-weight:650; }
.ms-footer a { color:inherit; text-decoration:none; }
.ms-footer .sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ms-footer-column>a { display:inline-flex; align-items:center; min-height:48px; padding-block:8px; font-size:18px; line-height:1.5; overflow-wrap:anywhere; max-width:100%; }
.ms-footer-column>a:hover,.ms-footer-credit a:hover,.ms-footer-top:hover { text-decoration:underline; text-underline-offset:5px; }
body[data-site="solutions"] .ms-footer-contact p { margin-top:18px; }
.ms-footer-contact .ms-footer-phone { font-weight:650; font-size:22px; }
body[data-site="solutions"] .ms-footer-contact .ms-footer-address { margin-top:10px; max-width:25ch; }
.ms-footer .ms-footer-book { display:inline-flex; align-items:center; gap:24px; min-height:56px; padding:12px 20px; border:1px solid var(--ms-chrome-line,#77736b); border-radius:16px; font-size:18px; font-weight:650; box-shadow:inset 0 1px #ffffff18; transition:background 180ms,transform 180ms; }
.ms-footer-book:hover { background:#ffffff0d; }
.ms-footer-book:active { transform:scale(.97); }
.ms-footer-payments { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding-block:28px; border-top:1px solid #77736b66; }
.ms-footer-payments .ms-pay-chips { justify-content:flex-start; margin:0; }
.ms-footer-bottom { display:grid; grid-template-columns:1fr auto; gap:18px 32px; padding-block:28px 36px; border-top:1px solid #77736b66; }
.ms-footer-bottom>p { grid-column:1; }
.ms-footer-credit { grid-column:1; font-size:18px; line-height:1.6; }
.ms-footer-credit a { text-decoration:underline; text-underline-offset:4px; display:inline-block; padding-block:9px; }
.ms-footer-credit>span { display:block; }
.ms-footer-top { grid-column:2; grid-row:1; display:inline-flex; align-items:center; gap:10px; min-height:48px; align-self:start; font-size:18px; }
body[data-site="solutions"] .ms-footer :focus-visible { outline:3px solid #ebd9b4; outline-offset:5px; }
@media(max-width:1100px) {
  .ms-footer-inner { grid-template-columns:1fr 1fr; gap:40px 48px; }
  .ms-footer-intro { grid-column:1; }
  .ms-footer-contact { grid-column:2; grid-row:1; }
}
@media(max-width:600px) {
  .ms-footer-inner,.ms-footer-payments,.ms-footer-bottom { width:calc(100% - 40px); }
  .ms-footer-inner { grid-template-columns:minmax(0,1fr); gap:32px; padding-block:44px 32px; }
  .ms-footer-intro,.ms-footer-contact { grid-column:auto; grid-row:auto; }
  body[data-site="solutions"] .ms-footer .ms-footer-column h2 { margin-bottom:8px; }
  .ms-footer-bottom { grid-template-columns:minmax(0,1fr); }
  .ms-footer-top { grid-column:1; grid-row:auto; justify-self:start; }
}
@media(prefers-reduced-motion:reduce) { .ms-footer-book { transition:none!important; transform:none!important; } }
@media(forced-colors:active) {
  body[data-site="solutions"] .ms-footer { background:Canvas; color:CanvasText; border-color:CanvasText; }
  .ms-footer p,.ms-footer-credit>span { color:CanvasText; }
  .ms-footer a { color:LinkText; }
}
