/* Shared contact signature: one component, with the case study's own accent. */
footer.site-footer{--footer-accent:#bc9af1;--footer-rgb:155,111,224;display:block;position:relative;isolation:isolate;padding:0;width:100%;max-width:none;margin:80px 0 0;color:#eeeaf3;border-top:0;font-size:0.875rem;overflow:clip}
.case-page:not(.wiki-page):not(.fbn-page):not(.aitou-page) footer.site-footer{--footer-accent:#ffac57;--footer-rgb:242,151,57}
.site-footer::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background:radial-gradient(ellipse at 70% 45%,rgba(var(--footer-rgb),.14),transparent 64%);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);opacity:.65;transition:opacity .8s ease}
.site-footer:hover::before{opacity:1}
footer.site-footer .footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:56px;padding:88px 0 76px;border-top:1px solid #ffffff18}
.footer-kicker{display:flex;align-items:center;gap:12px;color:#aaa4b2;font-size:1rem;line-height:1.5;margin:0 0 26px}
.footer-kicker>span{color:var(--footer-accent);font-size:1.25rem;display:inline-block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.site-footer:hover .footer-kicker>span{transform:rotate(90deg)}
footer.site-footer h2{font-size:var(--type-step-56-104);font-weight:450;letter-spacing:-.065em;line-height:1.02;margin:0;color:#f4f1f7}
.site-footer h2>span{color:var(--footer-accent)}
.site-footer .footer-email{display:inline-block;margin-top:36px;font-size:1rem;line-height:1.5;color:#b8b1c2;padding-bottom:5px;border-bottom:1px solid #ffffff24;transition:color .3s,border-color .3s}
.site-footer .footer-email:hover{color:var(--footer-accent);border-color:var(--footer-accent)}
.site-footer .footer-actions{display:flex;flex-direction:column;align-items:center;gap:24px;padding-right:12px}
.site-footer .footer-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:216px;padding:13px 14px 13px 26px;border-radius:100px;border:1px solid rgba(var(--footer-rgb),.45);background:linear-gradient(125deg,rgba(var(--footer-rgb),.23),rgba(var(--footer-rgb),.1));box-shadow:inset 0 1px #ffffff16,0 10px 40px #00000012;color:#f4f1f7;font-size:1rem;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s,border-color .6s}
.site-footer .footer-cta-arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--footer-accent);color:#21172c;font-size:1.5rem;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.site-footer .footer-cta:hover{transform:translateY(-4px);border-color:var(--footer-accent);box-shadow:inset 0 1px #ffffff25,0 12px 48px rgba(var(--footer-rgb),.16)}
.site-footer .footer-cta:hover .footer-cta-arrow{transform:translateX(3px)}
.site-footer .footer-book{display:flex;align-items:center;gap:12px;font-size:0.875rem;color:#b8b1c2;transition:color .3s}
.site-footer .footer-book:hover{color:var(--footer-accent)}
footer.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ffffff18;padding:24px 0;font-size:0.75rem;color:#928b9c}
.footer-bottom>div{display:flex;align-items:center;gap:28px}.site-footer #motion-toggle{color:inherit}.site-footer a:focus-visible,.site-footer button:focus-visible{outline:2px solid var(--footer-accent);outline-offset:6px}.site-footer .footer-bottom a:hover{color:var(--footer-accent)}
@media(max-width:700px){footer.site-footer{margin-top:48px}footer.site-footer .footer-invitation{align-items:flex-start;flex-direction:column;gap:36px;padding:56px 0 48px}.footer-kicker{font-size:0.875rem;margin-bottom:22px}footer.site-footer h2{font-size:var(--type-step-56-84)}.site-footer .footer-email{font-size:0.875rem;margin-top:26px}.site-footer .footer-actions{flex-direction:row;flex-wrap:wrap;gap:24px;padding:0}.site-footer .footer-cta{min-width:190px;font-size:0.875rem;padding-left:20px}.site-footer .footer-cta-arrow{width:36px;height:36px}footer.site-footer .footer-bottom{flex-wrap:wrap;font-size:0.75rem;gap:12px}.footer-bottom>div{gap:20px}}
@media(prefers-reduced-motion:reduce){.site-footer *,.site-footer::before{transition:none!important;transform:none!important}}.no-motion .site-footer *, .no-motion .site-footer::before{transition:none!important;transform:none!important}
