* { box-sizing: border-box; }
body { margin: 0; background: #f4f2e9; color: #192b25; font: 16px/1.6 Arial, Helvetica, sans-serif; }
a { color: inherit; text-underline-offset: 5px; }
a:focus-visible { outline: 3px solid #246247; outline-offset: 6px; }
.spaces-wrap { width: min(1200px, calc(100% - 64px)); margin: auto; }
.spaces-intro { padding: 70px 0 58px; max-width: 900px; }
.spaces-eyebrow { margin: 0 0 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; }
h1 { margin: 0 0 24px; font-size: clamp(42px, 5.2vw, 72px); line-height: 1.07; letter-spacing: -.045em; font-weight: 600; max-width: 880px; }
h1 em { font: italic 1.04em/1.05 Georgia, serif; }
.spaces-intro > p:last-child { margin: 0; max-width: 720px; font-size: 19px; color: #506052; line-height: 1.65; }
.spaces-directory { display: grid; grid-template-columns: 1fr 1fr; column-gap: 56px; }
.space-entry { border-top: 1px solid #bdc5b6; padding: 28px 0 36px; position: relative; }
.space-meta { display: flex; gap: 14px; align-items: center; color: #506052; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.space-number { font: italic 18px/1 Georgia, serif; color: #687560; }
.space-entry h2 { font-size: 29px; letter-spacing: -.04em; font-weight: 600; margin: 12px 0 10px; line-height: 1.15; }
.space-entry p { max-width: 460px; margin: 0 0 20px; color: #4c5c50; line-height: 1.7; }
.space-entry a { display: inline-flex; gap: 20px; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; text-decoration-thickness: 1px; }
.space-entry a:hover { color: #8b4934; }
.spaces-note { border-top: 1px solid #bdc5b6; margin-top: 18px; padding: 32px 0; display: flex; gap: 32px; justify-content: space-between; color: #506052; font-size: 14px; }
.spaces-note p { margin: 0; max-width: 650px; }
.spaces-note a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; font-weight: 700; }
.spaces-footer { padding: 24px 0 32px; font-size: 12px; color: #506052; }
.spaces-skip { position: absolute; left: 16px; top: -80px; background: #fff; padding: 12px; z-index: 100; }
.spaces-skip:focus { top: 8px; }
@media (max-width: 700px) {
  .spaces-wrap { width: calc(100% - 40px); }
  .spaces-intro { padding: 44px 0 40px; }
  .spaces-intro > p:last-child { font-size: 17px; }
  .spaces-directory { grid-template-columns: 1fr; }
  .space-entry { padding: 24px 0 28px; }
  .spaces-note { flex-direction: column; gap: 12px; }
}

/* Keep directory numbering legible and targets below the shared sticky bar. */
.space-number { color:#58645d; }
html { scroll-padding-top:calc(var(--kh-bar-height,80px) + 24px); }
