/* The site footer: the same on every public page. tools/site-footer.mjs writes
   its markup into each page; change the footer there, not in a page.
   Every rule starts with footer.sf so a page's own footer, footer div, nav, p
   or a styles cannot reach in (partner-program's footer div{display:flex}
   did). Text colours keep 5:1 or better on the espresso background (the old
   footer's links were 1.9:1). */
footer.sf{display:block;position:static;margin:0;border:0;background:#1c1410;color:#e8cfd4;padding:56px 48px 36px;text-align:left;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:normal;-webkit-font-smoothing:antialiased}
footer.sf *{box-sizing:border-box}
footer.sf div{display:block;margin:0;padding:0;gap:normal;width:auto;flex:none}
footer.sf a{color:inherit;font-size:inherit;text-decoration:none;transition:color .2s,opacity .2s}
footer.sf a:focus-visible{outline:1px solid #e8cfd4;outline-offset:3px;border-radius:2px}
footer.sf .sf-inner{max-width:1160px;margin:0 auto}
footer.sf .sf-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;padding-bottom:30px;border-bottom:1px solid rgba(232,207,212,.12)}
footer.sf .sf-logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.1em;color:#e8cfd4}
footer.sf .sf-tagline{margin-top:4px;font-size:12px;letter-spacing:.04em;color:#a18e8f}
footer.sf .sf-contact{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
footer.sf .sf-contact>a{font-size:13px;color:#e8cfd4}
footer.sf .sf-contact>a:hover{opacity:.7}
footer.sf .sf-social{display:flex;gap:14px;margin-top:8px}
footer.sf .sf-social a{display:inline-block;line-height:0;color:#e8cfd4;opacity:.85}
footer.sf .sf-social a:hover{opacity:1}
footer.sf .sf-social svg{display:block}
footer.sf .sf-links{display:grid;grid-template-columns:repeat(3,minmax(0,210px));gap:24px 48px;padding:30px 0 28px}
footer.sf .sf-head{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#a18e8f;margin-bottom:10px}
footer.sf .sf-col a{display:block;padding:3px 0;font-size:13px;color:#b5a0a3}
footer.sf .sf-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 24px;padding-top:20px;border-top:1px solid rgba(232,207,212,.12)}
footer.sf .sf-legal{display:flex;flex-wrap:wrap;gap:6px 20px}
footer.sf .sf-legal a,footer.sf .sf-copy{font-size:12px;color:#968486}
footer.sf .sf-col a:hover,footer.sf .sf-legal a:hover{color:#e8cfd4}
@media (max-width:640px){
  footer.sf{padding:44px 20px 32px}
  footer.sf .sf-contact{align-items:flex-start}
  footer.sf .sf-links{grid-template-columns:1fr 1fr;gap:24px 20px}
  footer.sf .sf-bottom{flex-direction:column;align-items:flex-start}
}
