/* Shared closing invitation, original logo, standalone badges, and navigation. */
.contact-section.section{padding-block:80px 64px;background:#07100c;border-bottom:1px solid var(--line)}
.contact-section h2{font-size:clamp(36px,4.1vw,64px);line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
.contact-section .eyebrow{margin-bottom:22px}
.contact-section .button{margin:34px 0 12px;min-height:60px;padding-inline:32px;font-size:17px;border-radius:3px}
.contact-section>a{width:fit-content;max-width:100%;margin-inline:auto;padding-block:10px;font-size:17px;overflow-wrap:anywhere}
.footer{padding-block:56px 24px}
.footer .footer-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.95fr);gap:4%;align-items:start}
.footer .footer-signature{display:block;grid-column:auto;min-width:0}
.footer .footer-brand{position:relative;display:block;width:260px;max-width:100%;aspect-ratio:2.75;overflow:hidden}
.footer .footer-brand img{display:block;position:absolute;width:123%;height:auto;max-width:none;left:-13.5%;top:-110%;mix-blend-mode:screen}
.footer .footer-tagline{font-size:22px;line-height:1.4;margin:18px 0 0;color:var(--text)}
.footer .footer-statement{border-left:1px solid var(--mint);padding-left:18px;margin:26px 0 0;max-width:31ch;font-size:16px;line-height:1.85;color:var(--muted);text-wrap:pretty}
.footer .footer-top>nav{font-size:16px;line-height:1.6;gap:3px;min-width:0}
.footer .footer-top>nav>.eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.7;margin-bottom:18px;color:var(--mint)}
.footer .footer-top nav a{min-height:39px;max-width:100%;padding-block:7px;overflow-wrap:anywhere}
/* The artwork stands on the footer itself, without panel backgrounds or borders. */
.footer-assurance{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;gap:24px;min-width:0}
.footer-protocol,.footer-membership{display:block;max-width:100%;color:var(--text);text-decoration:none;transition:transform .2s}
.footer-protocol{width:220px;border-radius:50%}
.footer-protocol-emblem{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 10px #0002)}
.footer-membership{width:232px;border-radius:17px}
.footer-membership-art{position:relative;display:block;width:100%;aspect-ratio:2.42;overflow:hidden;border-radius:inherit;background:#000}
.footer-membership-art img{position:absolute;display:block;width:119%;max-width:none;height:auto;left:-9.5%;top:-44%;object-fit:contain}
.footer-protocol:hover,.footer-membership:hover{transform:translateY(-2px)}
.footer-protocol:focus-visible,.footer-membership:focus-visible{outline:2px solid var(--mint);outline-offset:6px}
.footer .footer-policies{margin-top:38px;padding-top:24px;gap:8px 28px;font-size:14px;line-height:1.7}
.footer .footer-policies a{min-height:44px}
.footer .footer-policies span{font-size:10px;letter-spacing:.05em;line-height:1.8}
.footer .footer-bottom{border:0;margin-top:4px;padding-top:0;gap:12px 24px;font-size:13px;line-height:1.7;flex-wrap:wrap;justify-content:flex-end}
.footer .footer-bottom>span:first-child{margin-right:0}
.footer .theme-toggle{border:1px solid var(--line);border-radius:3px;padding:8px 14px;min-height:44px;font-size:12px;text-underline-offset:4px}
@media(max-width:1100px){
 .footer .footer-top{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:36px 5%}
 .footer-assurance{grid-column:1/-1;flex-direction:row;gap:40px}
}
@media(max-width:800px){
 .footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .footer .footer-signature{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:32px;align-items:start}
 .footer .footer-brand{grid-column:1;grid-row:1}.footer .footer-tagline{grid-column:1;grid-row:2}
 .footer .footer-statement{grid-column:2;grid-row:1/3;margin-top:0;max-width:32ch}
}
@media(max-width:600px){
 .contact-section.section{padding-block:60px 44px}.contact-section h2{font-size:clamp(30px,7vw,46px)}
 .contact-section .button{margin-top:28px;font-size:14px}.contact-section>a{font-size:15px}
 .footer{padding-block:36px 22px}
 .footer .footer-signature{display:block}
 .footer .footer-statement{max-width:39ch;font-size:15px;margin-top:24px}
 .footer .footer-top{gap:32px 24px}.footer .footer-top>nav{font-size:14px}
 .footer .footer-top>nav>.eyebrow{font-size:10px;margin-bottom:12px}
 .footer .footer-top nav a{min-height:44px;padding-block:9px}
 .footer-assurance{flex-direction:column;gap:24px;justify-content:center}
 .footer-protocol{width:180px;flex:none}
 .footer-membership{width:232px;min-width:0;border-radius:17px}
 .footer .footer-policies{margin-top:30px;padding-top:20px;gap:2px 24px}
 .footer .footer-policies span{flex-basis:100%;margin:18px 0 0;font-size:10px}
 .footer .footer-bottom{justify-content:flex-start;margin-top:18px;gap:10px 20px}
 .footer .footer-bottom>span:first-child{flex-basis:100%}.footer .footer-bottom .theme-toggle{margin-left:auto}
}
@media(max-width:380px){.footer .footer-top{grid-template-columns:1fr;gap:28px}}
@media(prefers-reduced-motion:reduce){.footer-protocol,.footer-membership{transition:none}.footer-protocol:hover,.footer-membership:hover{transform:none}}
