.s360-footer, .s360-footer * { box-sizing: border-box; }
.s360-footer { background: #14191d; color: #e9e2d9; border-top: 1px solid #6b583c; padding: 3rem 0 1.75rem; font: 1rem/1.55 system-ui, sans-serif; }
.s360-footer .s360-footer-inner { width: min(100% - 2rem, 76rem); margin-inline: auto; }
.s360-footer a { color: #f4e9d8; text-decoration: none; overflow-wrap: anywhere; }
.s360-footer a:hover { text-decoration: underline; }
.s360-footer a:focus-visible, .s360-footer summary:focus-visible { outline: 2px solid #e7c58a; outline-offset: 3px; }
.s360-footer-brand { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; padding-bottom: 1.5rem; border-bottom: 1px solid #625237; }
.s360-footer-brand img { width: min(100%, 16rem); height: auto; display: block; }
.s360-footer-brand p { margin: .8rem 0 0; }
.s360-footer .s360-footer-button { display: inline-flex; min-height: 44px; align-items: center; padding: .65rem 1rem; border: 1px solid #e7c58a; border-radius: .3rem; color: #e7c58a; }
.s360-footer-groups { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.1rem; padding: 1.5rem 0; }
.s360-footer-desktop h2, .s360-footer-mobile summary { margin: 0 0 .25rem; color: #e7c58a; font: 650 1rem/1.4 system-ui, sans-serif; }
.s360-footer ul { list-style: none; padding: 0; margin: 0; }
.s360-footer nav li a, .s360-footer-legal a { display: flex; align-items: center; min-height: 44px; }
.s360-footer nav li span { display: block; padding: .45rem 0; overflow-wrap: anywhere; }
.s360-footer-mobile { display: none; }
.s360-footer-legal { border-top: 1px solid #625237; padding-top: .65rem; }
.s360-footer-legal ul { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem 1rem; }
.s360-footer-legal li { display: flex; align-items: center; min-height: 44px; }
.s360-footer-legal li + li::before { content: ""; width: 3px; height: 3px; border-radius: 100%; background: #e7c58a; margin-right: 1rem; }
.s360-footer-signature { text-align: center; margin: 1.5rem 0 0; color: #cfc6b8; font-size: .875rem; }
.s360-footer-signature strong { margin: .25rem auto 0; display: block; width: max-content; max-width: 100%; border-top: 1px solid #806c48; padding-top: .35rem; font: italic 400 clamp(1.4rem, 3vw, 2rem)/1.25 Georgia, 'Times New Roman', serif; color: #e7c58a; letter-spacing: .025em; }
@media (max-width: 1023px) { .s360-footer-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
  .s360-footer { padding-bottom: calc(7rem + env(safe-area-inset-bottom, 0px)); }
  .s360-footer-desktop { display: none; }
  .s360-footer-mobile { display: block; padding: 1rem 0; }
  .s360-footer-mobile details { border-bottom: 1px solid #625237; }
  .s360-footer-mobile summary { cursor: pointer; min-height: 44px; padding: .65rem .25rem; }
  .s360-footer-mobile nav { padding: 0 .75rem .5rem; }
  .s360-footer-legal li + li::before { display: none; }
}
