/* Location and pillar template, ported from reference/location.html. */
.location-page {
  color: var(--ink);
  background: var(--paper);
  letter-spacing: 0;
}
.location-page .grid > *, .location-page .paths > *, .location-page .ways > * { min-width: 0; }
.location-page .btn:disabled { cursor: wait; }
.location-page .page-header { padding-block: 2rem var(--space-5); }
.location-page .ph-text { grid-column: 1 / span 6; display: grid; gap: var(--space-3); align-content: start; padding-top: var(--space-2); }
.location-page .ph-figure { grid-column: 8 / span 5; width: 100%; margin: 0; display: grid; gap: var(--space-2); align-content: start; }
.location-page .ph-figure img { display: block; width: 100%; max-width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 50%; }
.location-page .header-links { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); align-items: start; }
.location-page .paths { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto auto; column-gap: var(--space-5); }
.location-page .paths > div { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: var(--space-2); align-content: start; }
.location-page .paths .text-link { align-self: start; justify-self: start; }
.location-page .facts { grid-column: 1 / -1; margin-top: var(--space-5); font-size: var(--step--1); color: var(--muted); }
.location-page .split-body { grid-column: 6 / span 7; }
.location-page .prose { grid-column: 1 / span 8; }
.location-page .split-body, .location-page .prose { display: grid; gap: 1.25em; align-content: start; max-width: var(--measure); }
.location-page .prose h3 { margin-top: var(--space-2); }
.location-page .source-note { font-size: var(--step--1); line-height: 1.6; color: var(--muted); margin-top: var(--space-2); }
.location-page .note { max-width: var(--measure); }
.location-page .deflist { grid-column: 1 / -1; margin: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-4); row-gap: var(--space-4); }
.location-page .deflist dt { grid-column: 1 / span 4; font-weight: 600; line-height: 1.45; padding-top: 0.1rem; }
.location-page .deflist dd { grid-column: 5 / span 7; margin: 0; max-width: var(--measure); }
.location-page .projects { grid-column: 1 / span 10; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.location-page .projects li { display: grid; gap: var(--space-1); align-content: start; }
.location-page .projects-link { grid-column: 1 / -1; margin-top: var(--space-5); max-width: var(--measure); }
.location-page .prose ul, .location-page .prose ol { margin: 0; padding-left: 1.5rem; }
.location-page .prose ul { list-style-type: square; }
.location-page .prose ul li::marker { color: var(--muted); }
.location-page .prose li + li { margin-top: var(--space-2); }
.location-page .ways { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto auto; column-gap: var(--space-6); }
.location-page .way { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: var(--space-3); align-content: start; scroll-margin-top: 6rem; }
.location-page .way > p { max-width: var(--measure); }
.location-page .form { display: grid; gap: var(--space-3); margin-top: var(--space-1); max-width: 30rem; align-content: start; }
.location-page .field select { cursor: pointer; }
.location-page .form .btn { justify-self: start; margin-top: var(--space-1); }
.location-page .form-status { font-size: var(--step--1); line-height: 1.5; }
.location-page .faq-head { margin-bottom: var(--space-4); }
.location-page .faq { grid-column: 1 / span 9; }
.location-page .faq .ans { display: grid; gap: var(--space-2); padding-bottom: 1.5rem; color: var(--muted); max-width: var(--measure); }
.location-page .office-map { grid-column: 6 / span 7; margin-top: var(--space-4); min-width: 0; }
.location-page .office-map iframe { display: block; width: 100%; aspect-ratio: 4 / 3; border: 0; }
.location-page .map-caption { margin-top: var(--space-1); font-size: var(--step--1); color: var(--muted); }
.location-page .table-scroll { width: 100%; overflow-x: auto; }
.location-page .data-table { width: 100%; border-collapse: collapse; font-size: var(--step--1); }
.location-page .data-table th, .location-page .data-table td { padding: 0.85rem 1rem; text-align: left; vertical-align: top; }
.location-page .data-table th { background: var(--concrete); font-weight: 600; }
.location-page .data-table th:first-child, .location-page .data-table td:first-child { padding-left: 0; }

@media (max-width: 1100px) {
  .location-page .ph-text { grid-column: 1 / span 7; }
  .location-page .ph-figure { grid-column: 9 / span 4; }
  .location-page .section-head, .location-page .stack-head, .location-page .split-body, .location-page .prose, .location-page .projects, .location-page .faq, .location-page .office-map { grid-column: 1 / -1; }
  .location-page .section-head { margin-bottom: var(--space-4); }
  .location-page .deflist dd { grid-column: 5 / -1; }
  .location-page .ways { column-gap: var(--space-5); }
  .location-page .closing-text { grid-column: 1 / span 7; }
  .location-page .closing-action { grid-column: 9 / span 4; }
}
@media (max-width: 700px) {
  .location-page .page-header { padding-top: 1rem; }
  .location-page .breadcrumb ol { margin-bottom: var(--space-2); }
  .location-page .breadcrumb li[aria-current] { display: none; }
  .location-page .ph-text { grid-column: 1 / -1; padding-top: 0; }
  .location-page .ph-figure { grid-column: 1 / -1; }
  .location-page .paths, .location-page .ways { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: var(--space-5); }
  .location-page .paths > div, .location-page .way { grid-template-rows: none; grid-row: auto; }
  .location-page .ways { row-gap: var(--space-6); }
  .location-page .deflist { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .location-page .deflist dt, .location-page .deflist dd { grid-column: 1 / -1; }
  .location-page .deflist dd { margin-top: 0.35rem; margin-bottom: var(--space-4); }
  .location-page .deflist dd:last-child { margin-bottom: 0; }
  .location-page .projects { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-4); }
  .location-page .form { max-width: none; }
  .location-page .form .btn { width: 100%; }
  .location-page .closing-text, .location-page .closing-action { grid-column: 1 / -1; }
  .location-page .closing-action { margin-top: var(--space-4); }
  .location-page .closing-action .btn { width: 100%; }
  .location-page .data-table th, .location-page .data-table td { padding-inline: 0.5rem; }
}
@media (max-width: 380px) {
  .location-page .header-links { display: grid; gap: var(--space-1); }
  .location-page .form .btn, .location-page .closing-action .btn { padding-inline: var(--space-2); }
}
