/* Aeren's editorial footer structure, adapted to Wellist's own mark and colors. */
.wellist-footer {
  --footer-ink: #173944;
  --footer-muted: #64737a;
  --footer-plum: #8c3569;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 32px clamp(24px, 6vw, 104px) 20px;
  background: linear-gradient(180deg, #fff 0%, #fdfbf9 12%, #faf7f2 42%, #faf7f2 100%);
  color: var(--footer-ink);
}
.wellist-footer-atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, transparent 10%, #000 58%);
  mask-image: linear-gradient(180deg, transparent 0%, transparent 10%, #000 58%);
}
.wellist-footer-atmosphere::before,
.wellist-footer-atmosphere::after {
  content: '';
  position: absolute;
  inset: -12%;
  animation: footer-color-drift 24s ease-in-out infinite alternate;
  animation-play-state: paused;
}
.wellist-footer-atmosphere::before {
  background: radial-gradient(ellipse 61% 66% at 5% 100%, #adcfc0b3, #c5ddd25c 55%, transparent 85%), radial-gradient(ellipse 68% 71% at 99% 89%, #c8a4bf94, #dec7d75c 49%, transparent 86%);
}
.wellist-footer-atmosphere::after {
  background: radial-gradient(ellipse 55% 46% at 55% 100%, #c2d0dc7a, transparent 82%);
  animation-name: footer-color-counter;
  animation-duration: 29s;
}
.wellist-footer[data-footer-motion] .wellist-footer-atmosphere::before,
.wellist-footer[data-footer-motion] .wellist-footer-atmosphere::after { animation-play-state: running; }
.wellist-footer-inner { max-width: 1376px; margin-inline: auto; }
.wellist-footer-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding-block: 8px 30px;
  scroll-margin-top: 24px;
  outline: none;
}
.wellist-footer-banner h2 {
  max-width: 700px;
  margin: 0;
  font: 500 clamp(30px, 3.2vw, 46px)/1.18 Sora, Arial, sans-serif;
  letter-spacing: -.057em;
  text-wrap: balance;
}
.wellist-footer-demo {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  gap: 28px;
  min-height: 56px;
  padding: 14px 21px 14px 24px;
  border: 0;
  border-radius: 999px;
  color: #fffafc;
  background: #173944;
  text-align: start;
  font-size: 14px;
  line-height: 1.4;
  transition: background .25s, color .25s;
}
.wellist-footer-arrow {
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .25s;
}
.wellist-footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(150px, .65fr) minmax(0, .9fr);
  gap: clamp(30px, 5vw, 75px);
  padding-top: 36px;
}
.wellist-footer-mark {
  display: inline-flex;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--footer-plum);
}
.wellist-footer-mark span {
  display: block;
  width: 39px;
  height: 39px;
  background: currentColor;
  -webkit-mask: url('/assets/wellist-mark.svg') center / contain no-repeat;
  mask: url('/assets/wellist-mark.svg') center / contain no-repeat;
}
.wellist-footer-intro h3 {
  max-width: 360px;
  margin: 18px 0 0;
  font: 400 clamp(24px, 2.1vw, 31px)/1.35 Sora, Arial, sans-serif;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.wellist-footer-ai { margin-top: 30px; }
.wellist-footer-ai h4 {
  margin: 0 0 15px;
  font: 400 clamp(19px, 1.65vw, 24px)/1.3 Sora, Arial, sans-serif;
  letter-spacing: -.05em;
}
.wellist-footer-provider-links { display: flex; flex-wrap: wrap; gap: 8px; }
.wellist-footer-provider-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid #8c356929;
  border-radius: 999px;
  background: #ffffff2b;
  color: var(--footer-ink);
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
  transition: background .25s, border-color .25s;
}
.wellist-footer-provider-links img { flex: 0 0 18px; width: 18px; height: 18px; }
.wellist-footer-label {
  margin: 0 0 13px;
  color: var(--footer-muted);
  font-size: 11px;
  line-height: 1.5;
}
.wellist-footer-nav { display: flex; flex-direction: column; align-items: flex-start; }
.wellist-footer-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding-block: 6px;
  font-size: 13px;
  line-height: 1.4;
  transition: color .25s;
}
.wellist-footer-next-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 64px;
  padding-block: 8px 18px;
  border-bottom: 1px solid #17394430;
  font: 400 clamp(21px, 1.8vw, 26px)/1.35 Sora, Arial, sans-serif;
  letter-spacing: -.045em;
  transition: color .25s, border-color .25s;
}
.wellist-footer-next-copy { max-width: 280px; margin: 17px 0 0; color: var(--footer-muted); font-size: 12px; line-height: 1.65; }
.wellist-footer-wordmark {
  position: relative;
  height: clamp(95px, 19.5vw, 280px);
  margin-block: 14px 10px;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, #000 12%, #000e 42%, #0008 75%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 12%, #000e 42%, #0008 75%, transparent 100%);
}
.wellist-footer-wordmark::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, #719e99 4%, #b696ad 49%, #8a607d 100%);
  opacity: .58;
  -webkit-mask: url('/assets/wellist-logo.svg') center / contain no-repeat;
  mask: url('/assets/wellist-logo.svg') center / contain no-repeat;
}
.wellist-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 48px;
  padding-top: 8px;
  border-top: 1px solid #17394420;
  color: var(--footer-muted);
  font-size: 10px;
  line-height: 1.5;
}
.wellist-footer-top-link { display: inline-flex; align-items: center; gap: 13px; min-height: 40px; padding-block: 8px; color: var(--footer-ink); }
.wellist-footer-top-link .wellist-footer-arrow { flex-basis: 16px; width: 16px; height: 16px; }
.wellist-footer :is(a, button):focus-visible { outline: 2px solid var(--footer-plum); outline-offset: 5px; }
@media (hover: hover) and (pointer: fine) {
  .wellist-footer-demo:hover { background: var(--footer-plum); }
  .wellist-footer-demo:hover .wellist-footer-arrow { transform: rotate(45deg); }
  .wellist-footer-nav a:hover, .wellist-footer-mark:hover, .wellist-footer-next-link:hover { color: var(--footer-plum); }
  .wellist-footer-provider-links a:hover { background: #ffffffa6; border-color: #8c35694d; }
  .wellist-footer-next-link:hover { border-color: #8c35696b; }
  .wellist-footer-next-link:hover .wellist-footer-arrow { transform: translateX(3px); }
  .wellist-footer-top-link:hover .wellist-footer-arrow { transform: translateY(-3px); }
  [dir="rtl"] .wellist-footer-next-link:hover .wellist-footer-arrow { transform: translateX(-3px) scaleX(-1); }
}
[dir="rtl"] .wellist-footer-next-link .wellist-footer-arrow { transform: scaleX(-1); }
@keyframes footer-color-drift { from { transform: translate(-1.5%, 0) scale(1); } to { transform: translate(3%, -2%) scale(1.06); } }
@keyframes footer-color-counter { from { transform: translate(2%, -1%) scale(1.05); } to { transform: translate(-3%, 3%) scale(1); } }
@media (max-width: 900px) {
  .wellist-footer { padding: 28px clamp(20px, 5vw, 40px) 16px; }
  .wellist-footer-banner { gap: 24px; padding-bottom: 26px; }
  .wellist-footer-banner h2 { font-size: clamp(30px, 4.5vw, 38px); }
  .wellist-footer-top { grid-template-columns: minmax(0, 1fr) minmax(140px, .65fr); gap: 28px 50px; padding-top: 30px; }
  .wellist-footer-next { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 50px; align-items: start; }
  .wellist-footer-next > .wellist-footer-label { grid-column: 1 / -1; }
  .wellist-footer-next-copy { margin: 8px 0 0; }
  .wellist-footer-wordmark { height: 21vw; margin-block: 25px 14px; }
}
@media (max-width: 600px) {
  .wellist-footer-banner { flex-direction: column; align-items: flex-start; gap: 22px; }
  .wellist-footer-banner h2 { max-width: 420px; font-size: clamp(29px, 7.8vw, 38px); }
  .wellist-footer-demo { min-height: 52px; font-size: 13px; padding-block: 12px; }
  .wellist-footer-top { grid-template-columns: minmax(0, 1fr); gap: 29px; }
  .wellist-footer-intro h3 { max-width: 300px; margin-top: 14px; font-size: 25px; }
  .wellist-footer-ai { margin-top: 25px; }
  .wellist-footer-ai h4 { font-size: 21px; }
  .wellist-footer-provider-links { gap: 6px; }
  .wellist-footer-provider-links a { gap: 8px; padding-inline: 12px; font-size: 11px; }
  .wellist-footer-mark span { width: 33px; height: 33px; }
  .wellist-footer-nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .wellist-footer-nav .wellist-footer-label { grid-column: 1 / -1; margin-bottom: 7px; }
  .wellist-footer-nav a { min-height: 44px; font-size: 12px; }
  .wellist-footer-next { display: block; }
  .wellist-footer-next-link { min-height: 58px; font-size: 23px; }
  .wellist-footer-next-copy { margin-top: 13px; font-size: 12px; }
  .wellist-footer-wordmark { height: 21vw; margin-block: 31px 18px; }
  .wellist-footer-bottom { gap: 16px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .wellist-footer *, .wellist-footer *::before, .wellist-footer *::after { animation: none !important; transition: none !important; }
}
