/* Footer and the optional front-page introduction only. */
.site-footer { background:#f8f7f6; border-top:1px solid #e8e5e3; padding:clamp(3.5rem,7vw,6rem) 0; }
.site-footer .footer-inner { display:grid; grid-template-columns:minmax(200px,1.3fr) repeat(3,minmax(0,1fr)); gap:clamp(1.75rem,4vw,4rem); align-items:start; }
.site-footer .footer-brand a { font-family:inherit; letter-spacing:normal; font-size:inherit; }
.site-footer .footer-brand img { width:min(230px,100%); height:auto; }
.site-footer .footer-brand p { margin:1rem 0; max-width:22ch; color:#54504f; }
.site-footer .footer-delivery { display:inline-flex; align-items:center; min-height:48px; font-weight:700; text-decoration:underline; }
.site-footer .footer-column h2 { margin:0 0 .75rem; font-size:1rem; line-height:1.4; font-weight:700; }
.site-footer .footer-links,.site-footer .footer-menu { display:block; list-style:none; padding:0; margin:0; }
.site-footer .footer-menu .sub-menu { list-style:none; padding:0 0 0 1rem; margin:0; }
.site-footer .footer-links a,.site-footer .footer-menu a,.site-footer .footer-privacy { display:flex; align-items:center; min-height:48px; width:fit-content; max-width:100%; color:#363231; text-decoration:none; overflow-wrap:anywhere; }
.site-footer .footer-links a:hover,.site-footer .footer-menu a:hover,.site-footer .footer-privacy:hover,.site-footer .footer-links a:focus-visible,.site-footer .footer-menu a:focus-visible,.site-footer .footer-privacy:focus-visible { text-decoration:underline; }
.homepage-about { padding:clamp(3.5rem,7vw,6rem) 0; background:#fff; }
.homepage-about-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,6rem); }
.homepage-about h2 { margin:0; font-size:clamp(1.8rem,3.4vw,2.7rem); font-weight:600; }
.homepage-about-copy p { margin:0 0 1rem; max-width:65ch; }
.homepage-about-links { display:flex; flex-wrap:wrap; gap:.25rem .85rem; list-style:none; margin:1.4rem 0 0; padding:0; }
.homepage-about-links a { display:inline-flex; align-items:center; min-height:48px; font-weight:600; text-underline-offset:.2em; }
@media (max-width:850px) { .site-footer .footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); } .homepage-about-inner { grid-template-columns:1fr; gap:1.5rem; } }
@media (max-width:480px) { .site-footer .footer-inner { grid-template-columns:1fr; gap:2.5rem; } }
