.site-footer {
  position:relative;
  overflow:hidden;
  padding:clamp(64px,8vw,108px) clamp(20px,5vw,72px) 26px;
  color:rgba(242,237,227,.74);
  background:#0B110E;
  border-top:1px solid rgba(198,166,107,.28);
  font-family:'Jost',sans-serif;
}
.site-footer::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.035;
  background-image:repeating-linear-gradient(135deg,#C6A66B 0 1px,transparent 1px 26px);
}
.site-footer a { color:rgba(242,237,227,.78); }
.site-footer a:hover { color:#DFC58C; }
.site-footer a:focus-visible { outline:2px solid #DFC58C; outline-offset:5px; }
.site-footer__inner,.site-footer__contact,.site-footer__legal {
  position:relative;
  width:min(1280px,100%);
  margin-inline:auto;
}
.site-footer__inner {
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(520px,1.7fr);
  gap:clamp(52px,8vw,130px);
  align-items:start;
}
.site-footer__brand { max-width:390px; }
.site-footer__logo {
  position:relative;
  display:block;
  width:220px;
  max-width:100%;
  aspect-ratio:994/306;
  overflow:hidden;
}
.site-footer__logo img {
  position:absolute;
  top:-153.92%;
  left:-12.88%;
  width:125.76%;
  max-width:none;
  height:auto;
  filter:invert(1) sepia(1) saturate(.5) hue-rotate(2deg) brightness(1.15);
}
.site-footer__brand p {
  margin:28px 0 0;
  color:rgba(242,237,227,.72);
  font:300 clamp(16px,1.45vw,21px)/1.55 'Cormorant Garamond',Georgia,serif;
}
.site-footer__book {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:30px;
  padding:13px 22px;
  color:#0F1713 !important;
  background:#C6A66B;
  font:400 13px/1.4 'Jost',sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.site-footer__book:hover { background:#DFC58C; }
.site-footer__nav {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(26px,4vw,58px);
}
.site-footer h2 {
  margin:0 0 18px;
  color:#C6A66B;
  font:500 12px/1.4 'Jost',sans-serif;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.site-footer__nav a,.site-footer__contact a {
  display:table;
  margin:0 0 11px;
  font:300 16px/1.55 'Jost',sans-serif;
}
.site-footer__nav a:hover,.site-footer__contact a:hover { text-decoration:underline; text-underline-offset:5px; }
.site-footer__contact {
  display:grid;
  grid-template-columns:1.35fr 1fr .7fr;
  gap:clamp(30px,5vw,78px);
  margin-top:clamp(52px,7vw,90px);
  padding:clamp(30px,4vw,48px) 0;
  border-top:1px solid rgba(198,166,107,.2);
  border-bottom:1px solid rgba(198,166,107,.2);
}
.site-footer address {
  margin:0 0 15px;
  color:rgba(242,237,227,.66);
  font:300 16px/1.75 'Jost',sans-serif;
  font-style:normal;
}
.site-footer__legal {
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  align-items:center;
  gap:24px 34px;
  padding-top:24px;
  color:rgba(242,237,227,.4);
  font:300 11px/1.5 'Jost',sans-serif;
  letter-spacing:.08em;
}
.site-footer__legal p { margin:0; }
.site-footer__information { display:flex; align-items:center; justify-content:center; gap:9px 20px; flex-wrap:wrap; }
.site-footer__information a { color:rgba(242,237,227,.58); }
.site-footer__information a:hover,.site-footer__information a[aria-current="page"] { color:#DFC58C; }
.site-footer__language { display:flex; align-items:center; gap:7px; letter-spacing:.18em; }
.site-footer__language [aria-current="true"] { color:#F2EDE3; }
.site-footer__language [aria-hidden="true"] { color:rgba(198,166,107,.45); }
.site-footer__language .language-pending { color:rgba(242,237,227,.36); }
@media(max-width:900px) {
  .site-footer__inner { grid-template-columns:1fr; }
  .site-footer__brand { max-width:520px; }
  .site-footer__contact { grid-template-columns:1.3fr 1fr 1fr; }
  .site-footer__legal { grid-template-columns:1fr auto; }
  .site-footer__information { grid-column:1 / -1; grid-row:1; justify-content:flex-start; }
}
@media(max-width:620px) {
  .site-footer { padding-top:58px; }
  .site-footer__logo { width:190px; }
  .site-footer__nav { grid-template-columns:1fr 1fr; gap:32px 26px; }
  .site-footer__nav > div:nth-child(2) { grid-row:span 2; }
  .site-footer__contact { grid-template-columns:1fr; gap:28px; }
  .site-footer__legal { grid-template-columns:1fr; align-items:flex-start; }
  .site-footer__information { grid-column:auto; grid-row:auto; }
}
