/* ─────────────────────────────────────────
   FOOTER COMPONENT
   Shared across all pages
───────────────────────────────────────── */
/* Prevent horizontal overflow expanding viewport on mobile Safari */
html { overflow-x: clip; }
/* Required for footer parallax reveal */
main { overflow: clip; }

.footer-wrap {
  position: relative;
  overflow: hidden;
}
.footer-wrap__dark {
  opacity: 0;
  pointer-events: none;
  background-color: var(--void, #0d0a08);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.site-footer {
  background: var(--coal, #231f20);
  border-top: 1.5px solid rgba(20,20,20,0.12);
  min-height: 20vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.footer-grid {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  align-items: stretch;
  width: 100%;
  max-width: 1400px; margin: 0 auto;
  padding: 48px 48px 48px;
  position: relative;
}
.footer-col { display: flex; flex-direction: column; gap: 0; align-items: center; text-align: center; padding: 48px 20px; justify-content: center; }
.footer-col--center { gap: 24px; justify-content: flex-start; align-items: center; text-align: center; }
.footer-logo { display: flex; align-items: center; justify-content: center; }
.footer-logo img { width: 200px; height: auto; max-width: none; }
.footer-nav {
  list-style: none;
  font-family: var(--f-heading, 'Oswald', sans-serif); font-size: 18px;
  letter-spacing: 0.06em; text-transform: uppercase;
  display: flex; flex-direction: column; gap: 10px;
}
.footer-nav a { color: var(--parch, #f2e5cc); text-decoration: none; transition: color 0.15s; }
.footer-nav a:hover { color: var(--ember, #c94a14); }
.footer-contact-block { display: flex; flex-direction: column; gap: 20px; color: rgba(242,229,204,0.55); font-family: var(--f-mono, 'Roboto Mono', monospace); font-size: 13px; letter-spacing: 0.04em; text-transform: none; }
.footer-contact-block strong {
  font-family: var(--f-heading, 'Oswald', sans-serif); font-size: 18px; font-weight: 400;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--parch, #f2e5cc);
}
.footer-contact-block a { color: rgba(242,229,204,0.55); text-decoration: none; transition: color 0.15s; }
.footer-contact-block a:hover { color: var(--ember, #c94a14); }
.footer-social {
  list-style: none;
  display: flex; flex-direction: column; gap: 16px; align-items: center; text-align: center;
}
.footer-social a {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--f-heading, 'Oswald', sans-serif); font-size: 18px;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--parch, #f2e5cc); text-decoration: none; transition: color 0.15s;
}
.footer-social a:hover { color: var(--ember, #c94a14); }
.footer-social svg { width: 15px; height: 15px; fill: currentColor; }
.footer-sister {
  font-family: var(--f-mono, monospace); font-size: 10px;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: rgba(242,229,204,0.25); text-align: center; padding: 0 48px 8px;
  width: 100%; max-width: 1400px;
}
.footer-sister a { color: rgba(242,229,204,0.35); text-decoration: underline; }
.footer-sister a:hover { color: var(--ember, #c94a14); }

.footer-copy {
  font-family: var(--f-mono, monospace); font-size: 10px;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: rgba(242,229,204,0.30); padding: 0 48px 48px; text-align: center;
  width: 100%; max-width: 1400px;
}

/* Responsive */
@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: 1fr; gap: 0; }
  .footer-col { padding: 32px 20px; }
}
@media (max-width: 768px) {
  .footer-grid { padding: 32px 20px 32px; }
  .footer-copy { padding: 0 20px 36px; }
}
