.wave-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: 78px;
  border-top: 1px solid #232327;
  background: linear-gradient(180deg, #0a0b0d 0%, #11100f 65%, #19130f 100%);
  color: #f4f4f5;
}
.wave-footer__backdrop { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.wave-footer__wave { position: absolute; bottom: -85px; left: -12%; width: max(1800px, 150%); height: 500px; }
.wave-footer__wave--back { fill: #e89042; opacity: .055; animation: footer-wave-back 24s ease-in-out infinite alternate; }
.wave-footer__wave--front { fill: #ee9c56; opacity: .075; animation: footer-wave-front 19s ease-in-out infinite alternate; }
@keyframes footer-wave-back { from { transform: translateX(-4%) translateY(6px); } to { transform: translateX(4%) translateY(-5px); } }
@keyframes footer-wave-front { from { transform: translateX(3%) translateY(-3px); } to { transform: translateX(-3%) translateY(8px); } }
.wave-footer__content { position: relative; }
.wave-footer__grid { display: grid; grid-template-columns: 1.35fr .9fr 1fr 1.2fr; gap: clamp(28px, 4vw, 64px); padding-bottom: 62px; }
.wave-footer__grid > * { min-width: 0; }
.wave-footer__brand { font-size: 25px; letter-spacing: -.055em; }
.wave-footer__brand .brand-mark { width: 36px; height: 36px; border-radius: 10px; }
.wave-footer__lead { margin: 23px 0 12px; color: #eeeeef; font-size: 18px; font-weight: 500; line-height: 1.5; letter-spacing: -.025em; }
.wave-footer__description { max-width: 280px; margin: 0 0 24px; color: #a9a4a1; font-size: 13px; line-height: 1.8; }
.wave-footer__cta { display: flex; align-items: center; justify-content: center; gap: 20px; max-width: 264px; min-height: 46px; padding: 12px 18px; border: 1px solid #e6a477; border-radius: 9px; background: #efb184; color: #23180f; font-size: 13px; font-weight: 650; transition: background .2s, border-color .2s; }
.wave-footer__cta:hover { border-color: #f6c49f; background: #f6c49f; }
.wave-footer__cta svg { width: 19px; height: 19px; flex: none; }
.wave-footer__column h2 { margin: 8px 0 20px; font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: -.015em; }
.wave-footer__column > a:not(.wave-footer__channel) { display: flex; align-items: center; min-height: 44px; width: fit-content; max-width: 100%; color: #a9a4a1; font-size: 13px; line-height: 1.6; transition: color .2s; }
.wave-footer__column > a:hover { color: #f5c8a5; }
.wave-footer__access > p { margin: 0 0 20px; color: #a9a4a1; font-size: 13px; line-height: 1.8; }
.wave-footer__channel { display: flex; align-items: center; gap: 12px; min-height: 64px; margin-bottom: 10px; padding: 9px 0; border-radius: 10px; }
.wave-footer__channel-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border: 1px solid #38302b; border-radius: 50%; background: #ffffff03; color: #dfc5b2; transition: border-color .2s, background .2s; }
.wave-footer__channel-icon svg { width: 19px; height: 19px; }
.wave-footer__channel > span:nth-child(2) { min-width: 0; }
.wave-footer__channel strong { display: block; color: #e5e2df; font-size: 12px; font-weight: 500; line-height: 1.7; }
.wave-footer__channel small { display: block; margin-top: 2px; color: #a9a4a1; font-size: 10px; line-height: 1.6; }
.wave-footer__channel-arrow { width: 16px; height: 16px; margin-left: auto; flex: none; color: #b9a597; transition: color .2s; }
.wave-footer__channel:hover .wave-footer__channel-icon { border-color: #80593c; background: #efb1840a; }
.wave-footer__channel:hover .wave-footer__channel-arrow { color: #f5c8a5; }
.wave-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 100px; padding: 23px 0; border-top: 1px solid #ffffff12; }
.wave-footer__bottom p { flex: 1; margin: 0; color: #aaa19a; font-size: 11px; line-height: 1.8; }
.wave-footer__bottom a { display: inline-flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 44px; color: #c3b8ae; font-size: 11px; }
.wave-footer__bottom a:hover { color: #f5c8a5; }
.wave-footer__bottom svg { width: 15px; height: 15px; }
.wave-footer a:focus-visible { outline: 2px solid #efb184; outline-offset: 5px; }
.landing-faq details[data-faq-item] { scroll-margin-top: 96px; }
@media (max-width: 1000px) {
  .wave-footer__grid { grid-template-columns: 1.1fr 1fr; column-gap: 60px; row-gap: 38px; }
}
@media (max-width: 620px) {
  .wave-footer { padding-top: 48px; }
  .wave-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 28px; padding-bottom: 36px; }
  .wave-footer__intro { grid-column: 1 / -1; grid-row: auto; }
  .wave-footer__lead { margin-top: 19px; }
  .wave-footer__description { max-width: 340px; }
  .wave-footer__cta { max-width: 100%; }
  .wave-footer__access { grid-column: 1 / -1; }
  .wave-footer__access > p br { display: none; }
  .wave-footer__channel { max-width: 360px; }
  .wave-footer__column h2 { margin-top: 0; margin-bottom: 12px; }
  .wave-footer__bottom { flex-direction: column; align-items: flex-start; gap: 4px; padding: 22px 0; }
  .wave-footer__bottom p { max-width: 300px; }
}
@media (prefers-reduced-motion: reduce) {
  .wave-footer__wave { animation: none; }
  .wave-footer a, .wave-footer__channel-icon, .wave-footer__channel-arrow { transition: none; }
}
@media print { .wave-footer__backdrop { display: none; } }
