/* Shared site footer (preview). Scoped to footer.site-foot so /demos/ pages are untouched. */
footer.site-foot{padding:56px 0 28px;border-top:1px solid #e2e8f0;color:var(--mut,#64748b);font-size:14px;background:#fff}
footer.site-foot .w{max-width:1200px;margin:auto;padding:0 28px;box-sizing:border-box;min-width:0}
footer.site-foot .sf-brand{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin:0 0 28px}
footer.site-foot .sf-brand img{height:52px;width:auto;max-width:100%}
footer.site-foot .sf-brand p{margin:0;max-width:420px;line-height:1.55;overflow-wrap:anywhere}
footer.site-foot .sf-brand .sf-tagline{opacity:.8;font-style:italic;text-transform:none;letter-spacing:normal;font-weight:500;padding:0}

footer.site-foot .sf-cols{display:grid;grid-template-columns:1.35fr 1.35fr .8fr .85fr 1fr .9fr;gap:22px 28px;align-items:start}
footer.site-foot .sf-col{min-width:0;max-width:100%}
footer.site-foot .sf-col summary{color:var(--ink,#0f172a);font-weight:800;font-size:13px;letter-spacing:.02em;list-style:none;cursor:default}
footer.site-foot .sf-col summary::-webkit-details-marker{display:none}
footer.site-foot .sf-col summary::marker{content:"";display:none}
footer.site-foot .sf-col ul{list-style:none;margin:10px 0 0;padding:0}
footer.site-foot .sf-col li{margin:0}
footer.site-foot .sf-col a,footer.site-foot .sf-col .sf-text{display:block;padding:3px 0;color:inherit;text-decoration:none;line-height:1.45;overflow-wrap:anywhere}
footer.site-foot .sf-col a:hover{color:var(--b,#2563eb)}
footer.site-foot .sf-col a:focus-visible{outline:2px solid #22d3ee;outline-offset:2px}
footer.site-foot .sf-group{display:block;margin:10px 0 2px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d28d9}
footer.site-foot .sf-group:first-child{margin-top:0}
footer.site-foot .sf-sub{list-style:none;margin:0 0 6px;padding:0 0 0 14px;border-left:1px solid #e9e0ff}
footer.site-foot .sf-sub a{font-size:13px;padding:2px 0}
footer.site-foot .sf-mail .ctaw-email-domain{white-space:nowrap}
footer.site-foot .sf-optional:empty{display:none}

footer.site-foot .sf-social{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:28px 0 0}
footer.site-foot .sf-social:empty{display:none}
footer.site-foot .sf-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #e2e8f0;color:#0f172a;background:#f8fafc}
footer.site-foot .sf-social a:hover{border-color:#c4b5fd;color:#6d28d9}
footer.site-foot .sf-social a:focus-visible{outline:2px solid #22d3ee;outline-offset:2px}
footer.site-foot .sf-social svg{width:16px;height:16px;display:block}

footer.site-foot .sf-copy{margin-top:28px;padding-top:18px;border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}
footer.site-foot .sf-copy p{margin:0;overflow-wrap:anywhere}
footer.site-foot .sf-quick{display:flex;flex-wrap:wrap;gap:8px 14px}
footer.site-foot .sf-quick a{color:inherit;text-decoration:none;font-weight:650}
footer.site-foot .sf-quick a:hover{color:var(--b,#2563eb)}

/* Desktop: columns always visible; summary is a static heading */
@media(min-width:861px){
  footer.site-foot details.sf-col > summary{pointer-events:none}
  footer.site-foot details.sf-col > *:not(summary){display:block !important}
}

/* Mobile: stacked accordion */
@media(max-width:860px){
  footer.site-foot{padding:36px 0 24px}
  footer.site-foot .sf-cols{grid-template-columns:minmax(0,1fr);gap:0}
  footer.site-foot .sf-col{border-top:1px solid #e2e8f0}
  footer.site-foot .sf-col summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;font-size:15px}
  footer.site-foot .sf-col summary::after{content:"+";color:#7c3aed;font-weight:800;line-height:1}
  footer.site-foot .sf-col[open] summary::after{content:"–"}
  footer.site-foot .sf-col ul{margin:0 0 14px}
  footer.site-foot .sf-copy{flex-direction:column;align-items:flex-start}
}
@media(max-width:1100px) and (min-width:861px){
  footer.site-foot .sf-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:520px){
  footer.site-foot,footer.site-foot .w,footer.site-foot .sf-cols,footer.site-foot .sf-col,footer.site-foot .sf-brand,footer.site-foot .sf-copy,footer.site-foot .sf-quick{min-width:0;max-width:100%;box-sizing:border-box}
  footer.site-foot .sf-col a,footer.site-foot .sf-col summary,footer.site-foot .sf-brand p{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  footer.site-foot .sf-col a,footer.site-foot .sf-social a{transition:none}
}

footer.site-foot li[data-sf]:empty{display:none}

footer.site-foot .sf-copy{padding-right:84px;padding-bottom:8px}
@media(max-width:520px){footer.site-foot .sf-copy{padding-right:88px;padding-bottom:64px}}
