body.public-page {
  --site-gutter:32px;
  display:flex;
  flex-direction:column;
  min-height:100svh;
}
.public-page > .shell {
  flex:1 0 auto;
  min-height:0;
  padding-inline:var(--site-gutter);
}
.site-footer {
  position:relative;
  padding:46px var(--site-gutter) 0;
  border-top:1px solid var(--line);
  background:radial-gradient(ellipse 58% 125% at 12% -75%,#483019,transparent 90%),#171513;
}
.site-footer::before {
  content:"";
  position:absolute;
  top:-1px;
  left:8%;
  width:47%;
  height:1px;
  background:linear-gradient(90deg,transparent,#d99644a1,transparent);
}
.site-footer-inner { max-width:1192px; margin:auto }
.site-footer-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 144px 224px max-content;
  grid-template-areas:"brand links contact social";
  gap:36px;
  padding-bottom:35px;
}
.site-footer-brand { grid-area:brand }
.site-footer-links { grid-area:links }
.site-footer-contact { grid-area:contact }
.site-footer-social { grid-area:social; justify-self:end }
.site-footer-brand a { display:inline-block }
.site-footer-brand img { display:block; width:171px; max-width:100%; height:auto }
.site-footer-brand p { max-width:240px; margin:16px 0 0; color:var(--muted); font-size:15px; line-height:1.55 }
.site-footer h2 { margin:0 0 12px; color:var(--accent); font-size:15px; font-weight:720 }
.site-footer ul { list-style:none; margin:0; padding:0 }
.site-footer-links a, .site-footer-contact a, .site-footer-social-item {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  font-size:14px;
  line-height:1.4;
}
.site-footer-contact address { font-style:normal }
.site-footer-contact-list li { display:flex; align-items:flex-start; gap:9px; min-height:36px }
.site-footer-contact-list .site-footer-icon { margin-top:10px }
.site-footer-contact-address { font-size:14px; line-height:1.45; padding-top:8px }
.site-footer-icon { width:17px; height:17px; flex:none; color:var(--accent) }
.site-footer-contact-list .site-footer-icon { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round }
.site-footer-social-item { gap:9px }
.site-footer-social-icon {
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#251f17;
}
.site-footer-social-icon .site-footer-icon { width:15px; height:15px; fill:currentColor }
.site-footer-bottom { margin:0; border-top:1px solid var(--line); padding:20px 0 22px; color:var(--muted); font-size:13px; line-height:1.5 }
@media (max-width:900px) {
  body.public-page { --site-gutter:24px }
}
@media (max-width:850px) {
  .site-footer-grid { grid-template-columns:1fr 1fr; grid-template-areas:"brand brand" "links social" "contact contact"; gap:23px 18px; padding-bottom:26px }
}
@media (max-width:600px) {
  body.public-page { --site-gutter:20px }
  .site-footer { padding-top:28px }
  .site-footer-brand img { width:146px }
  .site-footer-brand p { margin-top:12px; font-size:14px }
  .site-footer h2 { margin-bottom:7px }
  .site-footer-bottom { padding:16px 0 18px }
}

.site-footer a[href]:hover { color:var(--accent) }
.site-footer a:focus-visible { outline-offset:3px; border-radius:4px }
[data-theme="light"] .site-footer {
  background:radial-gradient(ellipse 58% 125% at 12% -75%,#f2d3a2,transparent 90%),#f8eddd;
}
[data-theme="light"] .site-footer-brand img { content:url("/assets/socialx-logo-light.png") }
[data-theme="light"] .site-footer-social-icon { background:var(--base) }
