/* Shared public footer, isolated from gallery page styling. */
.sw-site-footer{position:relative;display:block;justify-content:initial;gap:0;background:#e7e7e2;color:#0a0a0b;border-top:1px solid rgba(10,10,11,.13);padding:75px 0 28px;margin:0;width:100%;font-size:1rem;text-transform:none;letter-spacing:normal}.sw-site-wrap{width:min(calc(100% - 2*clamp(20px,4.7vw,76px)),1500px);margin:auto}.sw-site-footer-brand{position:relative;display:inline-flex;align-items:center;gap:13px;margin-bottom:34px;color:#111;text-decoration:none;font-size:clamp(19px,1.8vw,25px);font-weight:820;letter-spacing:-.035em}.sw-site-footer-brand img{display:block;width:44px;height:33px;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.24))}.sw-site-footgrid{display:grid;grid-template-columns:1.4fr repeat(3,.55fr);gap:40px}.sw-site-foot p{max-width:390px;color:#6c6c67;line-height:1.55;margin:0}.sw-site-col strong{font:700 .68rem/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#777772}.sw-site-col a{display:block;margin-top:12px;color:#4e4e4a;text-decoration:none}.sw-site-col a:hover{color:#e20816}.sw-site-bottom{margin-top:60px;padding-top:20px;border-top:1px solid rgba(10,10,11,.13);display:flex;align-items:flex-start;flex-direction:column;gap:8px;color:#777772;font-size:.78rem}.sw-site-legal{display:inline-flex;align-items:center;gap:8px}.sw-site-legal a{color:inherit;text-decoration:none}.sw-site-legal a:hover{color:#e20816}
.sw-site-footgrid{display:grid!important;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(130px,.55fr))!important;align-items:start!important;gap:clamp(28px,4vw,64px)!important}.sw-site-col{min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-start!important}.sw-site-col strong{display:block!important;margin:0 0 10px!important;line-height:1.3!important}.sw-site-col a{display:inline-flex!important;align-items:center!important;width:auto!important;min-height:32px!important;margin:1px 0!important;line-height:1.4!important}
@media(max-width:980px){.sw-site-footgrid{grid-template-columns:1fr 1fr!important}.sw-site-foot{grid-column:1/-1}}
@media(max-width:650px){.sw-site-footgrid{grid-template-columns:1fr!important;gap:24px!important}.sw-site-foot{grid-column:auto}.sw-site-col{padding-top:20px;border-top:1px solid rgba(10,10,11,.13)}}
.sw-site-bottom{display:grid!important;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(130px,.55fr))!important;align-items:center!important;gap:clamp(28px,4vw,64px)!important;margin-top:60px!important;padding-top:20px!important;border-top:1px solid rgba(10,10,11,.13)!important;color:#777772;font-size:.78rem;white-space:nowrap}
.sw-site-bottom>span:first-child{display:flex;align-items:center;min-height:44px;line-height:1.45}
.sw-site-bottom-legal{display:flex;align-items:center;min-height:44px}
.sw-site-bottom-legal a,.sw-site-legal-mobile a{color:inherit;text-decoration:none}
.sw-site-bottom-legal a:hover,.sw-site-legal-mobile a:hover{color:#e20816}
.sw-site-legal-mobile{display:none}
@media(max-width:980px){.sw-site-bottom{display:block!important;margin-top:42px!important;white-space:normal}.sw-site-bottom>span:first-child{display:block;min-height:0}.sw-site-bottom-legal{display:none}.sw-site-legal-mobile{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:15px}.sw-site-legal-mobile a{min-height:34px;display:inline-flex;align-items:center}}
@media(max-width:650px){.sw-site-legal-mobile{flex-direction:column;align-items:flex-start;gap:1px}}
.sw-site-footer{font-family:Inter,Arial,sans-serif}.sw-site-footer a:focus-visible{outline:2px solid #bf0715;outline-offset:5px}

/* Readable small footer labels on the light surface. */
.sw-site-bottom,.sw-site-col strong{color:#61615c!important}

/* 7.9.83 links to the town pages in the footer */
/* 7.9.93 town strip in the shared footer: same columns as the footer above (label under the brand text, towns under
   the link columns), no line of its own; the line of the bottom row below closes it */
.sw-towns{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(130px,.55fr));align-items:baseline;gap:10px clamp(28px,4vw,64px);margin:52px 0 0;font-size:13px;line-height:1.5}
.sw-towns-label{color:rgba(10,10,11,.5);font-weight:600;letter-spacing:.02em}
.sw-towns-list{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:4px 0}
.sw-towns-list a{color:inherit;text-decoration:none;opacity:.78;transition:opacity .2s ease}
.sw-towns-list a:not(:last-child)::after{content:"·";display:inline-block;margin:0 11px;opacity:.45}
.sw-towns-list a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.sw-towns+.sw-site-bottom{margin-top:22px!important}
@media(max-width:980px){.sw-towns{grid-template-columns:1fr}.sw-towns-list{grid-column:auto}}
@media(max-width:650px){.sw-towns{margin-top:36px}.sw-towns-list{gap:6px 18px}.sw-towns-list a::after{display:none!important}}
