/* Authorized Path Forward · shell.css
   The page frame, the header with the route mark, the primary navigation,
   the main column and the footer (DESIGN_SYSTEM §8.1, §8.5).
   A 16 px gutter at 320 px wide; one reading column. */

.page-frame {
  max-width: var(--max-content-width);
  margin-inline: auto;
  padding-inline: var(--space-4);
}

@media (min-width: 768px) {
  .page-frame {
    padding-inline: var(--space-6);
  }
}

.site-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3) var(--space-5);
  padding-block: var(--space-5);
  border-bottom: var(--border-thin) solid var(--color-border-container);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-md);
  font-weight: var(--weight-semibold);
  letter-spacing: -0.01em;
  color: var(--color-text-primary);
  text-decoration: none;
}

.brand:hover {
  color: var(--color-link-hover);
}

/* The mark: a route from a dot to an arrowhead. */
.mark {
  width: 30px;
  height: 30px;
  flex: none;
}

.mark__route {
  fill: none;
  stroke: var(--brand-primary);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mark__start {
  fill: var(--color-text-primary);
}

.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
}

.site-nav li,
.site-nav li + li {
  margin: 0;
}

.site-nav a {
  display: inline-block;
  padding-block: var(--space-1);
  border-bottom: var(--border-medium) solid transparent;
  color: var(--color-text-secondary);
  text-decoration: none;
}

.site-nav a:hover {
  color: var(--color-link-hover);
  border-bottom-color: var(--color-border-accent);
}

.site-nav a[aria-current="page"] {
  color: var(--color-text-primary);
  font-weight: var(--weight-medium);
  border-bottom-color: var(--brand-primary);
}

.site-main {
  max-width: var(--measure-text);
  padding-block: var(--space-7) var(--space-8);
}

.site-footer {
  padding-block: var(--space-6) var(--space-8);
  border-top: var(--border-thin) solid var(--color-border-container);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
}

.site-footer p {
  margin: 0;
  max-width: var(--measure-text);
}

.site-footer a {
  color: var(--color-link);
}
