/* Matches the main-site footer measured 2026-10-13. Scoped away from Source's footer rules. */
.alefy-footer { display:flex; flex-direction:column; overflow:hidden; background:#0d0d0d; color:#fff; font:400 16px/24px "Alefy Header Inter", Inter, system-ui, sans-serif; letter-spacing:-.025em; }
.alefy-footer, .alefy-footer * { box-sizing:border-box; }
.alefy-footer-container { width:100%; max-width:1442px; margin:0 auto; padding:0 20px; }
.alefy-footer-cta-row { display:flex; flex-direction:column; gap:24px; padding:32px 0; }
.alefy-footer h2 { max-width:16ch; margin:0; color:#fff; font:400 30px/1.05 Lustria, Georgia, serif; letter-spacing:-.03em; text-wrap:balance; }
.alefy-footer-demo { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; flex-shrink:0; min-height:48px; padding:0 20px; border:0; border-radius:4px; background:#fff; color:#0d0d0d; font:inherit; letter-spacing:-.015em; cursor:pointer; }
.alefy-footer-demo:hover { background:#ffffffd9; }
.alefy-footer-divider { height:1px; background:#ffffff1a; }
.alefy-footer-content { display:flex; flex:1; flex-direction:column; }
.alefy-footer-columns { display:flex; flex:1; flex-direction:column; gap:48px; padding:48px 0 40px; }
.alefy-footer-brand { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:32px; }
.alefy-footer .alefy-logo { text-decoration:none; }
.alefy-footer .alefy-logo img:last-child { filter:brightness(0) invert(1); }
.alefy-footer-copyright, .alefy-footer-label { margin:0; color:#ffffff8c; font:400 14px/20px "Alefy Header Inter", Inter, system-ui, sans-serif; letter-spacing:-.015em; }
.alefy-footer-label { margin-bottom:16px; }
.alefy-footer-nav { display:grid; flex:1; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 24px; }
.alefy-footer-nav ul { display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none; }
.alefy-footer-nav li { margin:0; padding:0; line-height:24px; }
.alefy-footer-nav a { color:#fff; font:400 14px/20px "Alefy Header Inter", Inter, system-ui, sans-serif; letter-spacing:-.015em; text-decoration:none; white-space:nowrap; }
.alefy-footer-nav a:hover { color:#fff9; }
.alefy-footer :focus-visible { outline:2px solid #fff; outline-offset:4px; }
.alefy-footer-watermark { display:flex; height:57.6px; align-items:flex-start; justify-content:center; overflow:hidden; }
.alefy-footer-watermark span { background:linear-gradient(to bottom,#ffffff24,#ffffff08); background-clip:text; -webkit-background-clip:text; color:transparent; font:700 96px/1 "Alefy Header Inter", Inter, system-ui, sans-serif; letter-spacing:-.02em; }
@media (min-width:640px) {
    .alefy-footer-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .alefy-footer-watermark { height:76.8px; }
    .alefy-footer-watermark span { font-size:128px; }
}
@media (min-width:768px) {
    .alefy-footer { min-height:100svh; }
    .alefy-footer-container { padding-right:32px; padding-left:32px; }
    .alefy-footer-cta-row { flex-direction:row; align-items:flex-end; justify-content:space-between; padding:96px 0 40px; }
    .alefy-footer h2 { font-size:40px; }
    .alefy-footer-demo { align-self:auto; }
    .alefy-footer-columns { flex-direction:row; gap:32px; padding-top:56px; }
    .alefy-footer-brand { width:40%; flex-shrink:0; }
    .alefy-footer-watermark { height:105.6px; }
    .alefy-footer-watermark span { font-size:176px; }
}
@media (min-width:1024px) {
    .alefy-footer-container { padding-right:48px; padding-left:48px; }
    .alefy-footer-nav { display:flex; justify-content:space-between; column-gap:20px; }
    .alefy-footer-watermark { height:144px; }
    .alefy-footer-watermark span { font-size:240px; }
}
