.footer-instagram { display: inline-grid; width: 32px; height: 32px; place-items: center; margin-top: 18px; border: 1px solid var(--pink); border-radius: 50%; color: var(--pink); transition: background .2s ease, color .2s ease; }
.footer-instagram:hover { background: var(--pink); color: #fff; }
.footer-instagram svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.footer-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(32, 32, 32, .48); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility 0s linear .25s; }
.footer-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.footer-modal__dialog { width: min(620px, 100%); max-height: min(640px, calc(100vh - 40px)); overflow: auto; padding: 42px; border: 1px solid var(--line); border-radius: 20px; background: #F7F3EE; color: var(--ink); box-shadow: 0 18px 48px rgba(63, 44, 35, .16); }
.footer-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.footer-modal__title { margin: 0; color: var(--ink); font: 400 38px/1 var(--font-heading); }
.footer-modal__close { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; padding: 0; border: 1px solid var(--pink); border-radius: 50%; background: transparent; color: var(--pink); font: 400 22px/1 var(--font-body); cursor: pointer; }
.footer-modal__close:hover { background: var(--pink); color: #fff; }
.footer-modal__section + .footer-modal__section { margin-top: 26px; }
.footer-modal__section h3 { margin: 0 0 10px; color: var(--pink); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.footer-modal__section p { margin: 0; color: #403b3b; font-size: 13px; line-height: 1.65; }
.footer-modal__section p + p { margin-top: 8px; }
@media (max-width: 700px) {
  .footer-modal { padding: 16px; }
  .footer-modal__dialog { max-height: calc(100vh - 32px); padding: 28px 22px; border-radius: 16px; }
  .footer-modal__head { gap: 12px; padding-bottom: 16px; }
  .footer-modal__title { font-size: 30px; }
}