/* An ivory-and-blue engraved panorama, composed as one scene with its traffic. */
.site-footer.manhattan-footer {
  --night: 0;
  --footer-paper: #f0ecde;
  --footer-ink: #24466a;
  --veil-rgb: 244 240 226;
  --scene-filter: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: clamp(760px, 56vw, 900px);
  min-height: 760px;
  padding: 0;
  border: 0;
  background: var(--footer-paper);
  color: var(--footer-ink);
}
.site-footer.manhattan-footer::before { content: none; }
.manhattan-footer__scene { position: absolute; inset: 0; pointer-events: none; }
.manhattan-footer__scene > img,
.manhattan-footer__traffic { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.manhattan-footer__scene > img { object-fit: cover; object-position: var(--scene-position, 50% 50%); filter: var(--scene-filter); }
.manhattan-footer__scene::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(var(--veil-rgb) / var(--top-wash, .93)), rgb(var(--veil-rgb) / var(--middle-wash, .68)) 16%, rgb(var(--veil-rgb) / .08) 35%, transparent 57%, rgb(27 54 80 / .2) 88%, rgb(21 45 69 / .8));
}
.manhattan-footer__clock-layer { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.manhattan-footer__clock { display: block; width: 100%; height: 100%; color: var(--footer-ink); overflow: hidden; pointer-events: none; }
[data-clock-dial] { pointer-events: all; touch-action: none; cursor: grab; outline: none; }
[data-clock-dial].is-dragging { cursor: grabbing; }
[data-clock-dial]:focus-visible .street-clock__rim { stroke: var(--clock-ink, #294e69); stroke-width: 2; }
.street-clock__rim { fill: var(--clock-rim, #26445a); stroke: var(--clock-edge, #9dafb0); stroke-width: 1; }
.street-clock__face { fill: var(--clock-face, #d8d7c3); stroke: var(--clock-rim, #32516a); stroke-width: 1; }
.street-clock__bezel { fill: none; stroke: var(--clock-edge, #9dafb0); stroke-width: 1.2; }
.street-clock__inner-ring { fill: none; stroke: var(--clock-ink, #294e69); stroke-width: .65; opacity: .45; }
.street-clock__hour,.street-clock__minute,.street-clock__pin { fill: var(--clock-ink, #294e69); }
.street-clock__numeral,.street-clock__period { fill: var(--clock-ink, #294e69); font-family: Georgia,serif; text-anchor: middle; font-size: 11px; }
.street-clock__numeral { font-style: italic; }
.street-clock__period { font-family: Arial,sans-serif; font-size: 7px; letter-spacing: 1px; }
.manhattan-footer__content { position: relative; z-index: 2; display: flex; flex-direction: column; height: 100%; padding: 40px 4.8vw 28px; pointer-events: none; }
.manhattan-footer__content a,
.manhattan-footer__content button,
.manhattan-footer__content input { pointer-events: auto; }
.manhattan-footer__content a { color: inherit; text-decoration: none; }
.manhattan-footer__content a:hover { text-decoration: underline; text-underline-offset: 5px; }
.manhattan-footer__content :is(a, button):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.manhattan-footer__top { display: grid; grid-template-columns: 1.2fr 1.15fr 1fr; align-items: start; gap: 40px; }
.site-footer .manhattan-footer__brand { width: fit-content; gap: 10px; color: inherit; font-size: 23px; white-space: nowrap; }
.site-footer .manhattan-footer__brand .brand-mark { width: 32px; height: 32px; flex-basis: 32px; background: none; }
.site-footer .manhattan-footer__brand .brand-accent { color: inherit; }
.manhattan-footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.manhattan-footer__nav > div,
.manhattan-footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; font-size: 13px; line-height: 1.6; }
.manhattan-footer__label { display: block; font-size: 9px; font-weight: 700; letter-spacing: .16em; line-height: 1.6; text-transform: uppercase; }
.manhattan-footer__nav .manhattan-footer__label,
.manhattan-footer__contact .manhattan-footer__label { margin-bottom: 8px; }
.manhattan-footer__contact { position: relative; justify-self: end; }
.manhattan-footer__time-controls { position: absolute; top: calc(100% + 14px); right: 0; width: 230px; max-width: 100%; }
.manhattan-footer__time-row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 10px; }
.manhattan-footer__time-row output { font-size: 13px; font-variant-numeric: tabular-nums; }
.manhattan-footer__time-controls input { display: block; width: 100%; height: 24px; margin: 5px 0 0; padding: 0; accent-color: var(--footer-ink); cursor: ew-resize; }
.manhattan-footer__time-controls p { margin: 3px 0 0; font-size: 10px; line-height: 1.5; opacity: .8; }
.manhattan-footer__time-controls button { margin: 6px 0 0; padding: 0 0 3px; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; background: none; color: inherit; font: inherit; font-size: 10px; cursor: pointer; }
.manhattan-footer__time-controls button[hidden] { display: none; }
.manhattan-footer__time-controls .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.manhattan-footer__pause {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px solid rgb(36 70 106 / .35);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}
.manhattan-footer__pause[hidden] { display: none; }
.manhattan-footer__pause-icon { width: 11px; text-align: center; }
.manhattan-footer__statement { position: relative; isolation: isolate; width: fit-content; max-width: 780px; margin-top: clamp(48px, 5.5vw, 84px); }
.manhattan-footer__statement::before { content: ""; position: absolute; z-index: -1; inset: -50px -60px; background: var(--footer-paper); opacity: .9; filter: blur(45px); }
.manhattan-footer__statement .manhattan-footer__label { margin-bottom: 18px; }
.manhattan-footer__statement p {
  margin: 0;
  color: var(--footer-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 4.65vw, 75px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: 1.02;
  text-shadow: 0 0 20px var(--footer-paper), 0 1px 6px var(--footer-paper);
}
.manhattan-footer__statement em { font-weight: 400; }
.manhattan-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgb(255 253 242 / .55);
  color: #fffdf2;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.6;
}
.manhattan-footer__bottom > a { text-transform: uppercase; letter-spacing: .1em; }
.manhattan-footer__bottom > a span { margin-left: 9px; font-size: 15px; }
.manhattan-footer__legal { display: flex; flex-wrap: wrap; gap: 24px; }
@media (max-width: 1000px) and (min-width: 701px) {
  .manhattan-footer__top { grid-template-columns: 1fr 1fr; gap: 28px; }
  .manhattan-footer__contact { justify-self: start; }
  .manhattan-footer__time-controls { position: static; width: 230px; margin-top: 12px; }
  .manhattan-footer__nav { grid-column: 2; grid-row: 1 / 3; }
  .manhattan-footer__statement { margin-top: 36px; }
}
@media (max-width: 700px) {
  .site-footer.manhattan-footer { height: auto; min-height: 1080px; }
  .manhattan-footer__content { min-height: 1080px; padding: 30px 24px 24px; }
  .manhattan-footer__top { grid-template-columns: 1fr; gap: 28px; }
  .site-footer .manhattan-footer__brand { font-size: 24px; }
  .manhattan-footer__nav { gap: 24px; width: 100%; max-width: 400px; }
  .manhattan-footer__contact { justify-self: start; gap: 5px; }
  .manhattan-footer__contact .manhattan-footer__label { margin-bottom: 2px; }
  .manhattan-footer__pause { margin-top: 5px; }
  .manhattan-footer__time-controls { position: static; width: 240px; margin-top: 12px; }
  .manhattan-footer__statement { margin-top: 32px; }
  .manhattan-footer__statement::before { content: none; }
  .manhattan-footer__statement .manhattan-footer__label { max-width: 280px; margin-bottom: 14px; font-size: 8px; }
  .manhattan-footer__statement p { font-size: clamp(32px, 8.5vw, 56px); line-height: 1.07; }
  .manhattan-footer__scene,.manhattan-footer__clock-layer { top: auto; bottom: 80px; height: 300px; }
  .manhattan-footer__scene::after { background: linear-gradient(180deg, var(--footer-paper), transparent 20%, transparent 94%, var(--footer-paper)); }
  .manhattan-footer__bottom { align-items: flex-start; flex-wrap: wrap; gap: 8px 20px; margin-top: auto; padding-top: 20px; border-color: rgb(36 70 106 / .3); color: var(--footer-ink); font-size: 10px; }
  .manhattan-footer__bottom > a { width: 100%; }
  .manhattan-footer__legal { gap: 14px; }
}

/* Keep this draft's approved compact logo throughout the time-of-day themes. */
.site-footer.manhattan-footer .manhattan-footer__brand .brand-logo { width: 270px; height: auto; max-width: 100%; }
.manhattan-footer[data-theme="dark"] .manhattan-footer__brand .brand-logo { filter: none; content: url("assets/giants-digital-logo-horizontal-white-text.svg?v=20261001-gd-font-blue"); }

/* Give touch controls room without placing the scene behind the copy. */
@media (pointer: coarse), (max-width: 820px) {
  .manhattan-footer__nav a, .manhattan-footer__contact > a,
  .manhattan-footer__bottom a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
  .manhattan-footer__nav > div { gap: 0; }
  .manhattan-footer__pause, .manhattan-footer__time-controls button { min-height: 44px; }
  .manhattan-footer__time-controls input { height: 44px; }
}
@media (max-width: 700px) {
  .site-footer.manhattan-footer { min-height: 0; }
  .manhattan-footer__content { height: auto; min-height: 0; }
  .manhattan-footer__bottom { margin-top: 330px; }
}
