/* Previous homepage footer (from polish.css and location.css), restored over the Oct 31 homepage. */
.btn:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--violet);outline-offset:4px}
footer.site-footer{display:block;border-top:0;padding:0;background:#1d1b22;color:#f3f1e9;border-radius:32px 32px 0 0;margin-top:40px;overflow:hidden;font-family:Arial,sans-serif}
.footer-inner{width:90%;max-width:1600px;margin:auto;padding:72px 0 26px}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px 6%;align-items:start}
.site-footer .footer-mark{height:56px;width:auto;max-width:100%;flex-basis:auto}
/* Keep the draw/pending states, with the new visible fill when JS is off. */
.site-footer .footer-mark path{fill:#9c86ee;stroke:#9c86ee}
.site-footer .footer-mark.is-drawing path{animation-name:polish-mark-draw}
@keyframes polish-mark-draw{0%{stroke-dashoffset:1;fill:transparent}70%{stroke-dashoffset:0;fill:transparent}100%{stroke-dashoffset:0;fill:#9c86ee}}
.motion-ready .site-footer .footer-mark.motion-pending path{fill:transparent}
html.motion-paused .site-footer .footer-mark path{fill:#9c86ee!important}
.footer-brand p{max-width:340px;margin:22px 0 0;font-size:18px;line-height:1.45;color:#f3f1e9b3}
.footer-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#f3f1e980;margin:0 0 16px}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:17px}
.footer-col a{align-self:flex-start;color:#f3f1e9;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:color .25s,background-size .25s}
.footer-col a:hover{color:#b9a8f5;background-size:100% 1px}
.footer-wordmark{margin:70px 0 0;font-size:clamp(56px,11.4vw,205px);font-weight:400;line-height:.86;letter-spacing:-.065em;white-space:nowrap;color:#f3f1e9}
.footer-wordmark em{font-family:Georgia,serif;font-weight:400;color:#9c86ee;letter-spacing:-.05em}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:34px;padding-top:20px;border-top:1px solid #f3f1e91f;font-size:12px;color:#f3f1e999}
.to-top{width:48px;height:48px;flex-shrink:0;border-radius:50%;border:1px solid #f3f1e966;display:grid;place-items:center;color:#f3f1e9;font-size:18px;text-decoration:none;transition:background .25s,border-color .25s,transform .25s}
.to-top:hover{background:#5B3FB0;border-color:#5B3FB0;transform:translateY(-3px)}
@media(max-width:900px){.footer-top{grid-template-columns:1fr;gap:40px;row-gap:40px;column-gap:0}}
@media(max-width:599px){.footer-wordmark{font-size:clamp(56px,17.6vw,105px);white-space:normal;line-height:.98}.footer-wordmark em{display:block}.footer-note{display:none}}
@media(prefers-reduced-motion:reduce){.footer-col a,.to-top{transition:none}.to-top:hover{transform:none}.site-footer .footer-mark path{fill:#9c86ee!important}}
footer.site-footer{font-size:16px;gap:0}
/* The header nav hides its first/last links on phones; keep every footer link. */
.site-footer .footer-col a{display:inline}
.to-top{cursor:pointer}.footer-wordmark{cursor:default;-webkit-user-select:none;user-select:none}

.loc-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 8px 14px 8px 12px;
  border: 1px solid var(--line);
  border-radius: 99px;
  font-size: 13px;
  line-height: 1;
  color: var(--ink);
  background: transparent;
  cursor: default;
  white-space: nowrap;
}

.loc-dot {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2e9d5b;
  flex: none;
}

.loc-tag[data-day=night] .loc-dot { background: #9c86ee; }

.loc-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: inherit;
  animation: loc-pulse 2s infinite;
}

@keyframes loc-pulse {
  from { transform: scale(1); opacity: .5; }
  to { transform: scale(2.6); opacity: 0; }
}

.loc-swap {
  position: relative;
  display: inline-grid;
  overflow: hidden;
  height: 1.25em;
}

.loc-place,
.loc-time {
  grid-area: 1 / 1;
  line-height: 1.25em;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .25s;
}

.loc-time { transform: translateY(100%); opacity: 0; }

.loc-tag:hover .loc-place,
.loc-tag:focus-visible .loc-place { transform: translateY(-100%); opacity: 0; }

.loc-tag:hover .loc-time,
.loc-tag:focus-visible .loc-time { transform: translateY(0); opacity: 1; }

.loc-tag:focus-visible {
  outline: 3px solid rgba(91,63,176,.25);
  outline-offset: 3px;
}

.loc-tag--dark { border-color: #f3f1e933; color: #f3f1e9; }

html.motion-paused .loc-dot::after { animation: none; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .loc-dot::after { animation: none; opacity: 0; }
}

@media (hover: none) {
  .loc-tag { white-space: normal; max-width: 100%; box-sizing: border-box; border-radius: 14px; padding: 10px 16px 10px 12px; }
  .loc-swap {
    display: inline-flex;
    flex-direction: column;
    min-width: 0;
    gap: 4px;
    height: auto;
    overflow: visible;
  }
  .loc-tag .loc-place { transform: none; opacity: 1; }
  .loc-tag .loc-time { transform: none; opacity: .7; font-size: 12px; }
}
