footer#contact { position: relative; }
.footer-bottom { position: relative; }
.footer-bottom > span:nth-child(2) { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }

.app-download { position: absolute; left: 0; right: 0; bottom: calc(2vw + 64px); width: max-content; margin: 0 auto; display: flex; align-items: center; gap: 12px; color: inherit; transition: opacity .25s ease; }
.case-footer .app-download { border-bottom: 0; }
.app-download-icon { width: 58px; height: 58px; border-radius: 10px; object-fit: contain; image-rendering: auto; }
.app-download-name { display: grid; align-content: center; gap: 6px; line-height: 1; }
.app-download strong { font-size: 18.7px; font-weight: 700; }
.app-download small { font-size: 14.7px; letter-spacing: .04em; }

.contact-lines .contact-copy { display: inline-flex; align-items: center; gap: 10px; }
.contact-lines .contact-copy::before { content: ""; flex: 0 0 .8333em; width: .8333em; height: .8333em; background: currentColor; -webkit-mask: var(--contact-icon) center / contain no-repeat; mask: var(--contact-icon) center / contain no-repeat; }
.contact-lines .contact-copy:nth-of-type(1) { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath stroke='black' stroke-width='.65' stroke-linejoin='round' d='M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58z'/%3E%3C/svg%3E"); }
.contact-lines .contact-copy:nth-of-type(2) { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm9 8.2L20.2 6H3.8z'/%3E%3C/svg%3E"); }
.contact-lines .contact-copy:nth-of-type(3) { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='a'%3E%3Crect width='24' height='24' fill='black'/%3E%3Cpath d='M15 8c0 3.3-3.1 6-7 6-1 0-2-.2-2.8-.5L2 15l.9-3C1.7 10.9 1 9.5 1 8c0-3.3 3.1-6 7-6s7 2.7 7 6z' fill='white'/%3E%3Cpath d='M10 13c0 3.3 2.9 6 6.5 6 .9 0 1.8-.2 2.6-.5L22 20l-.8-3c1.1-1.1 1.8-2.5 1.8-4 0-3.3-2.9-6-6.5-6-.5 0-1 .1-1.5.2' fill='white'/%3E%3Ccircle cx='6' cy='8' r='.9' fill='black'/%3E%3Ccircle cx='10' cy='8' r='.9' fill='black'/%3E%3Ccircle cx='15' cy='13' r='.9' fill='black'/%3E%3Ccircle cx='19' cy='13' r='.9' fill='black'/%3E%3C/mask%3E%3Crect width='24' height='24' fill='black' mask='url(%23a)'/%3E%3C/svg%3E"); }
.contact-lines .contact-copy:nth-of-type(3)::before { flex-basis: .9375em; width: .9375em; height: .9375em; }
.contact-lines .contact-copy:nth-of-type(1)::before,
.contact-lines .contact-copy:nth-of-type(3)::before { transform: translateY(1px); }

.download-dialog { width: min(540px, calc(100vw - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 16px; background: linear-gradient(#ff5b0a 0 220px, #f3f3f0 220px); color: #0a0a0a; box-shadow: 0 24px 80px rgba(0,0,0,.3); }
.download-dialog::backdrop { background: rgba(0,0,0,.58); backdrop-filter: blur(7px); }
.download-dialog-close { position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fff; color: #0a0a0a; font-size: 24px; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.download-dialog-close:hover { background: #0a0a0a; color: #fff; }
.download-dialog > img { width: 148px; height: 148px; margin: 36px auto; object-fit: cover; border-radius: 13px; }
.download-dialog-copy { padding: 28px; }
.download-dialog-copy > small { font-size: 10px; letter-spacing: .18em; }
.download-dialog h3 { margin: 8px 0 12px; font-size: 32px; letter-spacing: -.04em; }
.download-dialog p { margin: 0; line-height: 1.5; }
.download-stats { display: flex; gap: 24px; padding: 22px 0; font-size: 14px; }
.download-stats b { font-size: 22px; }
.download-confirm { width: 100%; border: 0; padding: 15px 20px; background: #0a0a0a; color: white; font: inherit; font-weight: 700; cursor: pointer; }
.download-confirm:disabled { opacity: .5; }
.download-status { min-height: 24px; padding-top: 10px; font-size: 12px; }

@media (hover: hover) and (pointer: fine) {
  .app-download:hover { opacity: .72; }
}

@media (max-width: 800px) {
  .app-download { left: 0; right: 0; bottom: calc(4vw + 64px); gap: 10px; }
  .app-download-icon { width: 48px; height: 48px; border-radius: 10px; }
  .app-download strong { font-size: 17.3px; }
  .app-download small { font-size: 13.3px; }
  .contact-lines .contact-copy { gap: 8px; }
}
