/* Quantum Lifestyle — footer (sections/main_footer). Setting-driven values arrive as
   --qlf-* custom properties from the section's inline style block. */

.qlf {
  background: var(--qlf-bg);
  color: var(--qlf-fg);
  font-family: var(--ff-body);
  overflow: hidden;
  --qlf-muted: color-mix(in srgb, var(--qlf-fg) 68%, transparent);
  --qlf-faint: color-mix(in srgb, var(--qlf-fg) 60%, transparent);
  --qlf-line: color-mix(in srgb, var(--qlf-fg) 14%, transparent);
}
.qlf a { color: inherit; text-decoration: none; }
.qlf a:hover { color: var(--qlf-fg); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.qlf a:focus-visible { outline: 2px solid var(--clr-accent); outline-offset: 3px; }
.qlf svg { display: block; }

.qlf__inner {
  max-width: var(--qlf-max, 1280px);
  margin: 0 auto;
  padding: 88px 64px 40px;
  display: grid;
  gap: 48px;
}

/* Head: the full logo, large, with the tagline across from it */
.qlf__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 64px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--qlf-line);
}
.qlf__logo { display: block; color: var(--qlf-fg); }
.qlf__logo:hover { text-decoration: none; }
.qlf__lockup { display: block; width: auto; height: clamp(40px, 4.4vw, 64px); }
.qlf__tagline { margin: 0; font-size: var(--fs-lead, 19px); line-height: 1.45; color: var(--qlf-muted); max-width: 26ch; text-align: right; }

.qlf__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 32px 48px;
}
.qlf__heading {
  margin: 0 0 16px;
  font-family: var(--ff-heading);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--qlf-fg);
}
.qlf__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.qlf__col a { font-size: 15px; line-height: 1.4; color: var(--qlf-muted); }

/* Disclaimer + bottom row */
.qlf__disclaimer {
  padding-top: 32px;
  border-top: 1px solid var(--qlf-line);
  font-size: var(--fs-caption, 12px);
  line-height: 1.6;
  color: var(--qlf-faint);
}
.qlf__disclaimer p { margin: 0; max-width: 110ch; }
.qlf__disclaimer a { text-decoration: underline; text-underline-offset: 3px; }

.qlf__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 32px;
  font-size: 13px;
  color: var(--qlf-faint);
}
.qlf__legal-line { margin: 0; }
.qlf__legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }

/* Marquee — tone-on-tone phrases along the bottom edge */
.qlf__marquee {
  overflow: hidden;
  padding: 8px 0 28px;
  user-select: none;
  -webkit-user-select: none;
}
.qlf__track {
  display: flex;
  width: max-content;
  animation: qlf-scroll var(--qlf-marquee-speed, 70s) linear infinite;
}
.qlf__group { display: flex; align-items: center; flex: 0 0 auto; }
.qlf__phrase {
  padding: 0 0.28em;
  font-family: var(--qlf-marquee-font, var(--ff-accent));
  font-weight: 500;
  font-size: clamp(64px, 11vw, var(--qlf-marquee-size, 144px));
  line-height: 1.12;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--qlf-marquee-color);
}
.qlf__marquee.is-italic .qlf__phrase { font-style: italic; }
.qlf__sep {
  width: 0.14em;
  height: 0.14em;
  margin: 0 0.32em;
  border-radius: 50%;
  background: var(--qlf-marquee-color);
  font-size: clamp(64px, 11vw, var(--qlf-marquee-size, 144px));
  flex: 0 0 auto;
}
@keyframes qlf-scroll { to { transform: translateX(-50%); } }

@media (max-width: 991px) {
  .qlf__inner { padding: 72px 24px 32px; }
  .qlf__head { padding-bottom: 44px; }
}
@media (max-width: 767px) {
  .qlf__inner { padding: 56px 16px 28px; gap: 40px; }
  .qlf__head { flex-direction: column; align-items: flex-start; gap: 16px; padding-bottom: 36px; }
  .qlf__lockup { width: min(100%, 300px); height: auto; }
  .qlf__tagline { text-align: left; font-size: 17px; }
  .qlf__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
  .qlf__bottom { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .qlf__track { animation: none; }
}
