/* Selected footer: Midnight — navy, warm highlights, and a spacious directory. */
.midnight-footer { width: min(1460px, calc(100% - 40px)); margin: 0 auto 25px; padding: 60px; border-radius: 30px; overflow: hidden; font: 16px/1.65 "DM Sans", sans-serif; color: #f7faff; background: radial-gradient(ellipse at 100% 0%, #163b67, transparent 62%), #091c32; scroll-margin-top: 115px; }
.midnight-footer * { box-sizing: border-box; }
.midnight-footer a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.midnight-footer a:focus-visible { outline: 3px solid #ffaf6e; outline-offset: 5px; border-radius: 5px; }
.midnight-footer h2 { margin: 0; font: 800 clamp(32px, 3.4vw, 50px)/1.1 "Manrope", sans-serif; letter-spacing: -.045em; }
.midnight-footer h3 { margin: 0 0 18px; font-size: 15px; line-height: 1.5; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #ffaf6e; }
.midnight-footer address { margin: 16px 0 0; font-size: 16px; font-style: normal; color: #bacbdd; line-height: 1.7; }
.midnight-footer img { display: block; width: 175px; height: auto; }
.mf-kicker { margin: 0 0 20px; color: #ffaf6e; font-size: 14px; font-weight: 700; letter-spacing: .13em; }
.mf-banner { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-bottom: 44px; border-bottom: 1px solid #34506b; }
.mf-banner h2 span { color: #ffaf6e; }
.mf-invitation { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; flex-shrink: 0; }
.mf-invitation > span { font-size: 15px; color: #c6d7e8; }
.mf-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 54px; padding: 14px 22px; border-radius: 13px; font-size: 18px; font-weight: 700; background: #ffaf6e; color: #22170e !important; }
.mf-button:hover { background: #ffd2ad; }.mf-button > span { font-size: 25px; line-height: 1; }
.mf-columns { display: grid; grid-template-columns: 1.25fr .85fr .95fr 1.1fr; gap: 38px; padding: 46px 0; }.mf-columns > div { min-width: 0; }
.mf-logo-plate { display: inline-flex; padding: 8px 0; }
.mf-brand p { max-width: 290px; color: #bacbdd; margin: 20px 0 0; font-size: 17px; }
.mf-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.mf-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 18px; font-weight: 500; }
.mf-nav a:hover, .mf-contact a:hover, .mf-socials a:hover, .mf-bottom a:hover { color: #ffaf6e; text-decoration: underline; text-underline-offset: 6px; }
.mf-contact > a { display: block; font-size: 18px; padding: 6px 0; min-height: 44px; }
.mf-socials { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.mf-socials a { width: 48px; height: 48px; flex-shrink: 0; font-size: 23px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #ffffff30; border-radius: 50%; background: #ffffff0a; color: #fff; }
.mf-socials a:hover { color: #ffaf6e; background: #ff963e18; border-color: #ffaf6e; text-decoration: none; }
.mf-socials a:focus-visible { outline: 3px solid #ffaf6e; outline-offset: 4px; }
.mf-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 26px; border-top: 1px solid rgba(181,207,235,.24); font-size: 15px; color: #bacbdd; }
.mf-bottom a { display: inline-flex; align-items: center; min-height: 44px; gap: 12px; }
@media (max-width: 1100px) {
    .midnight-footer { padding: 38px; }.mf-banner { align-items: flex-start; flex-direction: column; }
    .mf-invitation { flex-direction: row; align-items: center; flex-wrap: wrap; }.mf-columns { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) { .midnight-footer { width: calc(100% - 20px); } }
@media (max-width: 700px) {
    .midnight-footer { padding: 28px 24px; border-radius: 22px; }.mf-banner h2 { font-size: 34px; }
    .mf-columns { gap: 30px 20px; padding: 32px 0; }.mf-brand, .mf-contact { grid-column: 1 / -1; }
    .mf-columns h3 { font-size: 14px; letter-spacing: .05em; }
    .mf-invitation { flex-direction: column; align-items: flex-start; }
    .mf-button { width: 100%; font-size: 17px; }.mf-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (prefers-reduced-motion: no-preference) { .midnight-footer a { transition: color .2s, background .2s; } }
