/* A quiet three-column footer with a generous brand signature. */
.site-footer{background:rgb(224 210 240 / .4);padding:56px 0 24px;color:var(--ink)}
.site-footer-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.3fr);gap:48px;align-items:start}
.site-footer h2{font-family:Outfit,Arial,sans-serif;font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.01em;margin:0 0 16px}
.site-footer a{color:var(--ink);text-decoration:none;font-size:15px;line-height:1.5;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
.site-footer-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.site-footer-contact>a:not(.site-footer-invitation){font-size:16px}
.site-footer-contact p{font-size:14px;line-height:1.5;margin:8px 0 20px}
.site-footer .site-footer-invitation{display:inline-flex;justify-content:space-between;gap:24px;white-space:nowrap;flex-wrap:nowrap;margin-top:12px;border:1px solid var(--purple);border-radius:999px;padding:10px 20px;min-height:44px;color:var(--purple);font-weight:700;transition:background-color 200ms ease-out}
.site-footer-invitation span{transition:transform 200ms ease-out}
.site-footer-identity{align-self:center;text-align:center;padding-left:16px}
.site-footer-brand{justify-content:center}
.site-footer-brand img{display:block;width:100%;max-width:320px;height:auto;object-fit:contain}
.site-footer-identity p{font-size:14px;line-height:1.6;margin:20px 0 0;color:var(--muted)}
.site-footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:16px;border-top:1px solid rgb(34 34 34 / .12)}
.site-footer-legal p{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}
.site-footer-legal-links{display:flex;flex-wrap:wrap;gap:0 20px;list-style:none;margin:0;padding:0}.site-footer-legal-links>li{margin:0;padding:0}
.site-footer-legal-links a{font-size:12px}
.site-footer a:focus-visible{outline:3px solid var(--purple);outline-offset:4px;border-radius:4px}
@media(hover:hover) and (pointer:fine){.site-footer a:hover{color:var(--purple);text-decoration:underline;text-underline-offset:4px}.site-footer .site-footer-brand:hover{text-decoration:none}.site-footer .site-footer-invitation:hover{background:white;text-decoration:none}.site-footer-invitation:hover span{transform:translateX(3px)}}
@media(max-width:1023px){.site-footer-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1fr);gap:32px}.site-footer-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.site-footer-identity{padding-left:0}.site-footer-contact>a:not(.site-footer-invitation){font-size:15px}.site-footer-legal{justify-content:flex-start;gap:4px 24px}}
@media(max-width:767px){.site-footer{padding:32px 0 20px}.site-footer-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:32px 24px}.site-footer h2{font-size:20px;margin-bottom:16px}.site-footer a{font-size:14px}.site-footer-contact>a:not(.site-footer-invitation){font-size:14px}.site-footer-contact p{font-size:13px}.site-footer .site-footer-invitation{padding:8px 16px;gap:20px;font-size:14px}.site-footer-identity{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left}.site-footer-brand{flex:none;width:140px}.site-footer-identity p{font-size:13px;margin:0;max-width:22ch}.site-footer-legal{margin-top:28px;padding-top:16px;display:block}.site-footer-legal-links{gap:0 16px;margin-top:4px}.site-footer-legal>p:last-child{margin-top:8px}}
@media(max-width:359px){.site-footer-layout{gap:24px 16px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.site-footer-identity{gap:16px}.site-footer-brand{width:112px}.site-footer-identity p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.site-footer .site-footer-invitation,.site-footer-invitation span{transition:none;transform:none!important}}

@media(max-width:767px){.site-footer-identity{display:block;text-align:center}.site-footer-identity .site-footer-brand{width:160px;margin-inline:auto}.site-footer-identity p{max-width:none;margin:12px 0 0}}

/* Stable contact rhythm shared by every page and language. */
.site-footer-contact{min-width:0}
.site-footer-contact>a:not(.site-footer-invitation){width:fit-content;max-width:100%}
.site-footer .site-footer-invitation span{display:inline-block;flex:none}
.site-footer .site-footer-invitation{width:max-content;max-width:100%}
