/* ===================== Footer (Z1-style) ===================== */
:root{
  --ohm-footer-bg: #0e0f10;
  --ohm-footer-fg: #eaeaea;
  --ohm-footer-dim: #b8b8b8;
  --ohm-footer-accent: #ffffff;
  --ohm-footer-ring: rgba(255,255,255,.18);
}

.ohm-footer{
  position: relative;
  background: var(--ohm-footer-bg);
  color: var(--ohm-footer-fg);
  padding: clamp(48px, 7vw, 88px) 0 24px;
  overflow: hidden;
}
.ohm-footer a{ color: var(--ohm-footer-fg); text-decoration: none; }
.ohm-footer a:hover{ color: #fff; }

.ohm-footer__bg{
  position: absolute; inset: 0;
  background:
    radial-gradient(40vw 40vw at 25% 80%, var(--ohm-footer-grad-1), transparent 60%),
    radial-gradient(45vw 45vw at 75% 90%, var(--ohm-footer-grad-2), transparent 60%);
  opacity: .8; pointer-events: none;
}

.ohm-footer__grid{
  display: grid; gap: clamp(24px, 4.5vw, 56px);
  grid-template-columns: 1.4fr .9fr 1fr;
  align-items: start;
}

.ohm-footer__brand .ohm-footer__email{
  font-family: var(--font-display, 'Clash Display', system-ui);
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 44px);
  margin: 0 0 .6rem;
  letter-spacing: .01em;
  color:#ffffff;
}
.ohm-footer__blurb{
  color: var(--ohm-footer-dim);
  max-width: 46ch;
  margin: 0 0 1rem;
  line-height: 1.6;
}

.ohm-footer__social{
  display: flex; gap: .6rem; padding: 0; margin: .75rem 0 0; list-style: none;
}
.ohm-footer__social .ico{
  display: inline-grid; place-items: center;
  width: 38px; height: 38px; border-radius: 999px;
  border: 1px solid var(--ohm-footer-ring);
  transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.ohm-footer__social .ico:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.28);
}

.ohm-footer__nav{
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px;
}
.ohm-footer__nav ul{ list-style: none; margin: 0; padding: 0; }
.ohm-footer__nav a{
  display: inline-block; padding: 6px 0;
  color: var(--ohm-footer-fg);
  opacity: .9;
}
.ohm-footer__nav a:hover{ opacity: 1; }

.ohm-footer__cta h4{
  font-family: var(--font-display, 'Clash Display', system-ui);
  font-size: clamp(18px, 2vw, 22px); margin: 0 0 .5rem; color: #fff;
}
.ohm-footer__cta p{
  color: var(--ohm-footer-dim);
  margin: 0 0 .9rem; line-height: 1.6; max-width: 42ch;
}
.ohm-footer__btn{
  display: inline-flex; align-items: center; gap: .55rem;
  border: 1px solid var(--ohm-footer-ring);
  border-radius: 999px; padding: .6rem 1.1rem;
  font-weight: 700; letter-spacing: .02em;
  background: transparent;
  color: var(--ohm-footer-accent);
  transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.ohm-footer__btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.28);
}

/* Bar */
.ohm-footer__bar{
  display: flex; justify-content: space-between; align-items: center;
  gap: 18px; margin-top: clamp(24px, 5vw, 48px);
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 16px; color: var(--ohm-footer-dim);
  font-size: 14px;
}
.ohm-footer__bar ul{
  display: flex; gap: 16px; list-style: none; margin: 0; padding: 0;
}
.ohm-footer__bar a{ color: var(--ohm-footer-dim); }
.ohm-footer__bar a:hover{ color: #fff; }

/* ======= Responsive ======= */
@media (max-width: 1100px){
  .ohm-footer__grid{ grid-template-columns: 1.2fr 1fr; }
  .ohm-footer__cta{ grid-column: 1 / -1; }
}
@media (max-width: 640px){
  .ohm-footer__grid{ grid-template-columns: 1fr; }
  .ohm-footer__nav{ grid-template-columns: 1fr 1fr; }
  .ohm-footer__bar{ flex-direction: column; align-items: flex-start; gap: 10px; }
}
