/* MAIA SYSTEMS PTY LTD: one site footer for every public page (8 Nov 2026).
   Plain HTML + CSS take on the 21st.dev "footer-section" layout: brand, pages,
   contact, legal, then a company line. No newsletter box (we run no email list),
   no theme switch (the site is dark only), no cookie settings (no cookies set). */

.mfoot {
  --mf-bg: #06080B;
  --mf-ink: #F2F7F9;
  --mf-soft: #AEBBC5;
  --mf-teal: #22B8C4;
  --mf-edge: #06636C;
  --mf-line: rgba(255, 255, 255, .1);
  --mf-gutter: clamp(1rem, 4vw, 2.5rem);
  position: relative;
  isolation: isolate;
  overflow: clip;
  margin-top: 0;
  background: var(--mf-bg);
  color: var(--mf-soft);
  border-top: 1px solid var(--mf-line);
  font-size: .95rem;
  line-height: 1.55;
  text-align: left;
}
.mfoot::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -120px;
  left: 50%;
  width: min(900px, 90vw);
  height: 240px;
  translate: -50% 0;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(34, 184, 196, .14), transparent);
  pointer-events: none;
}
.mfoot__in { max-width: 1200px; margin: 0 auto; padding: 3.2rem var(--mf-gutter) 1.6rem; }
.mfoot__grid { display: grid; gap: 2.4rem 2rem; grid-template-columns: 1.3fr 1fr 1.4fr 1fr; }
.mfoot h2 {
  margin: 0 0 .9rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--mf-teal);
}
.mfoot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.mfoot a { color: var(--mf-ink); text-decoration: none; text-underline-offset: 3px; transition: color 160ms ease; }
.mfoot a:hover { color: var(--mf-teal); text-decoration: underline; }
.mfoot a:focus-visible { outline: 2px solid var(--mf-teal); outline-offset: 3px; border-radius: 4px; }
.mfoot__logo { display: inline-flex; align-items: center; gap: .7rem; font-weight: 800; letter-spacing: .02em; font-size: 1.05rem; }
.mfoot__logo img { width: 44px; height: 44px; }
.mfoot__brand p { margin: .9rem 0 1.2rem; max-width: 28ch; }
.mfoot__cta {
  display: inline-block;
  padding: .7rem 1.2rem;
  border-radius: 999px;
  border: 1px solid var(--mf-edge);
  background: rgba(34, 184, 196, .1);
  color: var(--mf-ink) !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 0 24px -6px rgba(34, 184, 196, .55);
  transition: background-color 160ms ease, border-color 160ms ease;
}
.mfoot__cta:hover { background: rgba(34, 184, 196, .22); border-color: var(--mf-teal); }
.mfoot address { font-style: normal; display: grid; gap: .55rem; }
.mfoot address p { margin: 0; }
.mfoot__k { display: block; font-size: .78rem; color: var(--mf-soft); letter-spacing: .02em; }
.mfoot__base {
  margin-top: 2.6rem;
  padding-top: 1.3rem;
  border-top: 1px solid var(--mf-line);
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 2rem;
  justify-content: space-between;
  font-size: .85rem;
}
.mfoot__base p { margin: 0; }

/* Guard against page styles (docs.css styles h2, p, ul, li and footer links on the document pages). */
footer.mfoot { margin: 0; padding: 0; font-size: .95rem; }
.mfoot h2 { border: 0; padding: 0; margin: 0 0 .9rem; line-height: 1.3; }
.mfoot ul { margin: 0; padding: 0; }
.mfoot li { margin: 0; padding: 0; }
.mfoot li::marker { content: none; }
.mfoot p { margin: 0; }
.mfoot .mfoot__brand p { margin: .9rem 0 1.2rem; }
.mfoot a { display: inline; padding: 0; text-decoration: none; }
.mfoot a.mfoot__logo { display: inline-flex; }
.mfoot a.mfoot__cta { display: inline-block; padding: .7rem 1.2rem; }

@media (max-width: 960px) { .mfoot__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) {
  .mfoot__grid { grid-template-columns: 1fr; gap: 2rem; }
  .mfoot__in { padding-top: 2.6rem; }
  .mfoot__base { flex-direction: column; }
}
@media print { .mfoot { display: none; } }
