/* A quiet final surface, with contact actions large enough to use by touch. */
body .site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--material-joint);padding:clamp(44px,5vw,72px) 5% 24px}
main:has(>.invitation:last-child)+.site-footer,
main:has(>.material-run:last-child)+.site-footer{border-top:0}
.site-footer .footer-top{grid-template-columns:1.05fr 1fr .85fr;gap:6%;align-items:start}
.site-footer .footer-identity{grid-column:auto}
.site-footer .footer-top p.footer-label{color:var(--green);font:700 10px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.14em;margin:0 0 17px}
.site-footer .footer-brand{font-size:clamp(28px,3vw,42px);line-height:1.3;margin:15px 0 20px}
.site-footer .footer-brand .script{font-size:1.25em}
.site-footer .footer-identity>p:last-child{font-size:12px;line-height:1.7;color:#4b4d47;max-width:260px}
.site-footer .footer-top>.footer-contact{display:flex;align-items:stretch;gap:0;padding:0;min-width:0}
.footer-contact a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;min-height:74px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.footer-contact a>span:first-child{grid-column:1;display:block;font-size:11px;color:#4b4d47}
.footer-contact a>strong{grid-column:1;grid-row:2;font-weight:500}
.footer-contact a>span[aria-hidden]{grid-column:2;grid-row:1/3;color:var(--gold);font-size:20px}
.footer-contact a:first-of-type{border-top:1px solid var(--line)}
.footer-link-grid{display:grid;grid-template-columns:1fr;gap:0}
.footer-link-grid a{display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:13px;line-height:1.55}
.site-footer a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.footer-contact a:hover{background:#20543d08}
.site-footer a:focus-visible{outline:2px solid var(--green);outline-offset:4px;background:#f0f2e9}
.site-footer .footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px 32px;align-items:center;margin-top:44px;padding-top:20px;font-size:11px;line-height:1.7;color:#4b4d47}
.footer-tools{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-tools a,.site-footer .footer-back-top{display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:12px;color:var(--ink)}
.site-footer .footer-back-top{white-space:nowrap}
@media(max-width:1000px){
 .site-footer .footer-top{grid-template-columns:1fr 1fr;gap:36px 8%}
 .site-footer .footer-identity{grid-column:1/-1}
 .site-footer .footer-bottom{grid-template-columns:minmax(0,1fr) auto}
 .footer-tools{grid-column:1;grid-row:2}
 .site-footer .footer-back-top{grid-column:2;grid-row:2}
}
@media(max-width:600px){
 body .site-footer{padding:40px 6% max(28px,env(safe-area-inset-bottom))}
 .site-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:32px}
 .site-footer .footer-brand{font-size:32px;margin:12px 0 16px}
 .site-footer .footer-identity>p:last-child{max-width:none}
 .site-footer .footer-top p.footer-label{margin-bottom:14px}
 .footer-contact a{min-height:76px;font-size:16px}
 .footer-link-grid{grid-template-columns:1fr 1fr;column-gap:22px}
 .footer-link-grid a{min-height:48px;font-size:13px}
 .site-footer .footer-bottom{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:30px;padding-top:18px;font-size:12px}
 .footer-tools{grid-column:1;grid-row:2;justify-content:space-between;gap:8px 20px}
 .site-footer .footer-back-top{grid-column:1;grid-row:3;justify-self:start;min-height:48px}
}
