/* Standrow. One stylesheet.

   Archetype: the four-part slip. The desk's one organizing idea is that a parking price has four
   parts, and the page says so with BORDER STYLE: solid, dashed, dotted, double. Color carries
   nothing here at all. Every part is written out in words and numbered one to four beside its
   line, so the style is decoration and the words are the information.

   Layout is a wide left column of reading against a narrow right column that holds nothing but
   air on a large screen, and the section headings hang out into the left margin. */

@font-face { font-family: "Noticia Text"; src: url("/assets/sw-text-400.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Noticia Text"; src: url("/assets/sw-text-400i.woff2") format("woff2");
  font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Noticia Text"; src: url("/assets/sw-text-700.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Darker Grotesque"; src: url("/assets/sw-face-600.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Darker Grotesque"; src: url("/assets/sw-face-800.woff2") format("woff2");
  font-weight: 800; font-style: normal; font-display: swap; }

:root {
  --sw-paper: #f5f2ea;
  --sw-card: #e3ded1;
  --sw-ink: #191c1b;
  --sw-rule: #2e3331;
  --sw-quiet: #5f5f57;
  --sw-hair: #c6c3b4;
  --sw-mark: #8c4622;
  --sw-cool: #0f5d63;

  --sw-text: "Noticia Text", Georgia, "Times New Roman", serif;
  --sw-face: "Darker Grotesque", "Helvetica Neue", Arial, sans-serif;

  --sw-lead: 1.47;
  --sw-measure: 60ch;
  --sw-gutter: clamp(1.1rem, 4vw, 3.1rem);
  --sw-slab: clamp(2.1rem, 5vw, 3.9rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0; background: var(--sw-paper); color: var(--sw-ink);
  font-family: var(--sw-text); font-size: 1.02rem; line-height: var(--sw-lead);
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--sw-mark); text-underline-offset: 0.15em; text-decoration-thickness: from-font; }
a:hover { color: var(--sw-ink); }
:focus-visible { outline: 3px solid var(--sw-cool); outline-offset: 2px; }

.sw-skip {
  position: absolute; left: -9999px; top: 0; z-index: 20;
  background: var(--sw-ink); color: var(--sw-paper); padding: 0.8rem 1.1rem;
  font-family: var(--sw-face); font-weight: 800; font-size: 1rem;
  display: inline-block; min-height: 44px; line-height: 1.5;
}
.sw-skip:focus { left: 0.5rem; top: 0.5rem; }

/* ------------------------------------------------------------------ masthead */

.sw-top { border-bottom: 3px double var(--sw-rule); }
.sw-top-in {
  max-width: 76rem; margin: 0 auto; padding: 1.3rem var(--sw-gutter) 1rem;
  display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; align-items: baseline;
  justify-content: space-between;
}
.sw-mast { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.35rem 0.9rem; }
.sw-mast a {
  text-decoration: none; color: inherit;
  font-family: var(--sw-face); font-weight: 800; font-size: 2.1rem; letter-spacing: 0.005em;
  display: inline-block; min-height: 44px; line-height: 1.25;
}
.sw-mast-strap {
  font-family: var(--sw-face); font-weight: 600; font-size: 0.92rem;
  letter-spacing: 0.13em; text-transform: uppercase; color: var(--sw-quiet);
}
.sw-top-reach {
  margin: 0; text-align: right; font-family: var(--sw-face); font-size: 0.98rem;
  display: flex; flex-direction: column; gap: 0;
}
.sw-top-reach a {
  font-weight: 800; text-decoration: none; font-size: 1.15rem;
  display: inline-block; padding: 0.62rem 0; margin: -0.62rem 0; min-height: 44px; line-height: 1.5;
}
.sw-top-reach span { color: var(--sw-quiet); font-weight: 600; }

.sw-nav { border-top: 1px solid var(--sw-hair); background: var(--sw-card); }
.sw-nav-in { max-width: 76rem; margin: 0 auto; padding: 0 var(--sw-gutter); overflow-x: auto; }
.sw-nav ul { margin: 0; padding: 0; list-style: none; display: flex; gap: 1.5rem; white-space: nowrap; }
.sw-nav a {
  display: block; padding: 0.7rem 0; text-decoration: none; color: var(--sw-ink);
  font-family: var(--sw-face); font-weight: 600; font-size: 1.05rem;
  border-bottom: 3px solid transparent;
}
.sw-nav a:hover { border-bottom-color: var(--sw-quiet); }
.sw-nav a[aria-current="page"] { border-bottom-color: var(--sw-mark); color: var(--sw-mark); }

/* ------------------------------------------------------------------ the page */

main { display: block; }
.sw-piece-page { max-width: 76rem; margin: 0 auto; padding: 0 var(--sw-gutter) var(--sw-slab); }
.sw-head { padding: var(--sw-slab) 0 1.4rem; border-bottom: 1px solid var(--sw-hair); }

.sw-brow {
  margin: 0 0 0.7rem; font-family: var(--sw-face); font-weight: 800; font-size: 0.95rem;
  letter-spacing: 0.19em; text-transform: uppercase; color: var(--sw-mark);
}
.sw-head h1 {
  margin: 0; max-width: 22ch; font-family: var(--sw-face); font-weight: 800;
  font-size: clamp(2.4rem, 7vw, 4.4rem); line-height: 1.0; letter-spacing: 0.002em;
}
.sw-stand {
  margin: 1rem 0 0; max-width: 56ch;
  font-size: clamp(1.02rem, 2vw, 1.2rem); line-height: 1.4; color: var(--sw-rule);
}

.sw-body { padding-top: 1.8rem; }
.sw-body > * { max-width: var(--sw-measure); }
.sw-body > h2 {
  max-width: 32ch; margin: 2.6rem 0 0.8rem; font-family: var(--sw-face); font-weight: 800;
  font-size: clamp(1.6rem, 3.6vw, 2.2rem); line-height: 1.1;
}
.sw-body > h2:first-child { margin-top: 0; }
.sw-body > h3 {
  max-width: 40ch; margin: 1.7rem 0 0.45rem;
  font-family: var(--sw-face); font-weight: 800; font-size: 1.2rem;
}
.sw-body > p { margin: 0 0 1rem; }
.sw-body > ul, .sw-body > ol { margin: 0 0 1.15rem; padding-left: 1.2rem; }
.sw-body > ul li, .sw-body > ol li { margin-bottom: 0.42rem; }

/* ------------------------------------------------------------------ the four parts */

.sw-pieces, .sw-entries { list-style: none; margin: 0 0 1.5rem; padding: 0; max-width: 100%; }
.sw-pieces li, .sw-entries li { margin: 0 0 0.5rem; }

.sw-pieces a, .sw-entries a {
  display: block; padding: 1rem 0 1.05rem; text-decoration: none; color: inherit;
  border-top-color: var(--sw-rule); border-top-width: 3px;
}
.sw-pieces a:hover, .sw-entries a:hover { background: var(--sw-card); }

/* The encoding: four border STYLES. Print-safe, color-free, and each is named in words on the
   row it belongs to. */
.is-ground a { border-top-style: solid; }
.is-cover a  { border-top-style: dashed; }
.is-hands a  { border-top-style: dotted; }
.is-ride a   { border-top-style: double; border-top-width: 6px; }

.sw-piece-of, .sw-entry-of {
  display: block; font-family: var(--sw-face); font-weight: 600; font-size: 0.95rem;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--sw-quiet); margin-bottom: 0.2rem;
}
.sw-piece-name, .sw-entry-name {
  display: block; font-family: var(--sw-face); font-weight: 800;
  font-size: clamp(1.35rem, 3vw, 1.75rem); line-height: 1.12; margin-bottom: 0.25rem;
}
.sw-piece-said, .sw-entry-said { display: block; color: var(--sw-rule); max-width: 64ch; }

/* ------------------------------------------------------------------ tables */

.sw-grid-wrap { overflow-x: auto; margin: 0 0 1.5rem; max-width: 100%; }
.sw-cells, .sw-grid { border-collapse: collapse; width: 100%; font-size: 0.96rem; margin: 0 0 1.5rem; }
.sw-cells caption, .sw-grid caption {
  text-align: left; font-family: var(--sw-face); font-weight: 800; font-size: 0.95rem;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--sw-quiet); padding-bottom: 0.5rem;
}
.sw-cells th, .sw-cells td, .sw-grid th, .sw-grid td {
  text-align: left; vertical-align: top; padding: 0.65rem 1rem 0.65rem 0;
  border-bottom: 1px solid var(--sw-hair);
}
.sw-grid thead th {
  font-family: var(--sw-face); font-weight: 800; font-size: 0.95rem;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--sw-quiet);
  border-bottom: 3px double var(--sw-rule);
}
.sw-cells th[scope="row"], .sw-grid th[scope="row"] {
  font-family: var(--sw-face); font-weight: 800; font-size: 1.05rem;
  width: 15rem; padding-right: 1.3rem;
}
.sw-cells { max-width: 100%; }
.sw-claim-on { font-family: var(--sw-face); font-weight: 800; color: var(--sw-cool); }
.sw-claim-off { font-family: var(--sw-face); font-weight: 600; color: var(--sw-quiet); }

/* ------------------------------------------------------------------ plates */

.sw-plate { margin: 1.8rem 0; max-width: 100%; }
.sw-plate img { border: 1px solid var(--sw-hair); }
.sw-plate figcaption { margin-top: 0.5rem; font-size: 0.9rem; color: var(--sw-rule); max-width: 58ch; }

/* ------------------------------------------------------------------ forms */

.sw-check, .sw-book {
  max-width: 100%; margin: 0 0 1.8rem; padding: 1.3rem var(--sw-gutter) 1.4rem;
  background: var(--sw-card); border: 3px double var(--sw-rule);
}
.sw-check { border-color: var(--sw-mark); }
.sw-check-said { margin: 0 0 1rem; max-width: 62ch; font-size: 1.02rem; }
.sw-fine { font-size: 0.9rem; color: var(--sw-rule); margin: 0 0 1rem; max-width: 64ch; }
.sw-fine:last-child { margin-bottom: 0; }

.sw-fields, .sw-check-fields { display: grid; gap: 0.8rem 1.1rem; margin-bottom: 1rem; }
@media (min-width: 40rem) {
  .sw-fields { grid-template-columns: 1fr 1fr; }
  .sw-field-wide { grid-column: 1 / -1; }
  .sw-check-fields { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 62rem) { .sw-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.sw-field { display: flex; flex-direction: column; gap: 0.25rem; }
.sw-field label {
  font-family: var(--sw-face); font-weight: 800; font-size: 0.95rem;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--sw-rule);
}
.sw-field input, .sw-field select, .sw-field textarea {
  font: inherit; font-size: 1rem; color: var(--sw-ink); background: var(--sw-paper);
  border: 1px solid var(--sw-quiet); border-radius: 0; padding: 0.6rem 0.7rem;
  width: 100%; min-height: 44px;
}
.sw-field textarea { min-height: 8rem; resize: vertical; }
.sw-field input:focus, .sw-field select:focus, .sw-field textarea:focus { border-color: var(--sw-cool); }
.sw-field [aria-invalid="true"] { border-color: var(--sw-mark); border-width: 2px; }
.sw-wrong { font-family: var(--sw-face); font-weight: 600; font-size: 0.92rem; color: var(--sw-mark); margin: 0.2rem 0 0; }
.sw-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.sw-send { margin: 0 0 1rem; }
.sw-send button {
  font-family: var(--sw-face); font-weight: 800; font-size: 1.15rem; letter-spacing: 0.03em;
  background: var(--sw-rule); color: var(--sw-paper);
  border: 2px solid var(--sw-rule); border-radius: 0;
  padding: 0.6rem 1.6rem; min-height: 44px; cursor: pointer;
}
.sw-send button:hover { background: var(--sw-mark); border-color: var(--sw-mark); }
.sw-send button[disabled] { background: var(--sw-quiet); border-color: var(--sw-quiet); cursor: not-allowed; }
.sw-off, .sw-broke {
  font-size: 0.92rem; margin: 0 0 1rem; padding: 0.75rem 0.95rem;
  border-left: 5px solid var(--sw-mark); background: var(--sw-paper); max-width: 64ch;
}

/* ------------------------------------------------------------------ questions */

.sw-asks { max-width: 100%; }
.sw-ask { border-top: 1px solid var(--sw-hair); padding: 1.1rem 0 0.3rem; }
.sw-ask h3 {
  margin: 0 0 0.5rem; max-width: 48ch;
  font-family: var(--sw-face); font-weight: 800; font-size: 1.3rem; line-height: 1.15;
}
.sw-ask p { margin: 0 0 0.8rem; max-width: var(--sw-measure); }

/* ------------------------------------------------------------------ elsewhere */

.sw-also { margin: 2.5rem 0 0; max-width: 100%; border-top: 3px double var(--sw-rule); padding-top: 1.1rem; }
.sw-also h2 {
  margin: 0 0 0.9rem; font-family: var(--sw-face); font-weight: 800; font-size: 0.95rem;
  letter-spacing: 0.19em; text-transform: uppercase; color: var(--sw-quiet);
}
.sw-also ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem 2rem; }
@media (min-width: 48rem) { .sw-also ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 72rem) { .sw-also ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sw-also a { display: block; text-decoration: none; color: inherit; }
.sw-also a:hover .sw-also-name { color: var(--sw-mark); }
.sw-also-name { display: block; font-family: var(--sw-face); font-weight: 800; font-size: 1.15rem; margin-bottom: 0.15rem; }
.sw-also-said { display: block; font-size: 0.9rem; color: var(--sw-rule); }

/* ------------------------------------------------------------------ storage card */

/* ⚠️ This panel was three lines of prose plus two buttons, fixed to the foot of the window, and it
   painted over whatever the page had put in that band: on the front page the availability widget's
   own submit button, wholly covered and unclickable, and on a narrow screen the independence line.
   It is now one line, so it occupies about 60px instead of 160, and the layout below keeps the
   widget clear of that band at every size. */
.sw-keep {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 15;
  background: var(--sw-ink); color: var(--sw-paper);
  padding: 0.6rem var(--sw-gutter);
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.1rem;
}
.sw-keep[hidden] { display: none; }
.sw-keep p { margin: 0; max-width: 70ch; font-size: 0.85rem; }
.sw-keep a { color: var(--sw-paper); }
.sw-keep-go { display: flex; gap: 0.6rem; flex-wrap: wrap; margin: 0; flex: none; }
.sw-keep button {
  font-family: var(--sw-face); font-weight: 800; font-size: 1rem;
  background: transparent; color: var(--sw-paper); border: 2px solid var(--sw-paper);
  border-radius: 0; padding: 0.45rem 1.1rem; min-height: 44px; cursor: pointer;
}
.sw-keep button:hover { background: var(--sw-paper); color: var(--sw-ink); }

/* ------------------------------------------------------------------ colophon */

.sw-foot { border-top: 3px double var(--sw-rule); margin-top: var(--sw-slab); background: var(--sw-card); }
.sw-foot-in {
  max-width: 76rem; margin: 0 auto; padding: var(--sw-slab) var(--sw-gutter) 1.4rem;
  display: grid; gap: 2rem;
}
@media (min-width: 58rem) { .sw-foot-in { grid-template-columns: minmax(0, 22rem) minmax(0, 1fr); gap: 3rem; } }
.sw-foot-say p { margin: 0 0 0.7rem; font-size: 0.9rem; max-width: 40ch; }
.sw-foot-name { font-family: var(--sw-face); font-weight: 800; font-size: 1.6rem; }
.sw-foot-say a { text-decoration: none; }
.sw-foot-cols { display: grid; gap: 1.4rem 2rem; }
@media (min-width: 34rem) { .sw-foot-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sw-foot-cols h2 {
  margin: 0 0 0.6rem; font-family: var(--sw-face); font-weight: 800; font-size: 0.92rem;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--sw-quiet);
}
.sw-foot-cols ul { list-style: none; margin: 0; padding: 0; }
.sw-foot-cols li { margin-bottom: 0.32rem; }
.sw-foot-cols a { font-size: 0.93rem; text-decoration: none; color: var(--sw-ink); }
.sw-foot-cols a:hover { color: var(--sw-mark); }
.sw-foot-line {
  max-width: 76rem; margin: 0 auto; padding: 1rem var(--sw-gutter) 2rem;
  border-top: 1px solid var(--sw-hair);
  font-family: var(--sw-face); font-weight: 600; font-size: 0.92rem; color: var(--sw-quiet);
}

/* ------------------------------------------------------------------ reveal */

/* ⚠️ THE REVEAL NEVER TOUCHES OPACITY, and that is the whole point of it.

   An earlier version faded blocks in from transparent. Measured in a tab the browser was not
   painting, the timer that guarantees the reveal was throttled and every block on the page read as
   transparent a second after load: a site whose text is invisible until a script gets its turn.

   So the script now moves blocks and never hides them. Text is opaque from the moment the markup
   lands, in every browser, with or without the script, painted or not. The only thing the script
   can affect is seven pixels of position. */
@media (prefers-reduced-motion: no-preference) {
  .sw-rise { transform: translateY(7px); transition: transform 420ms ease; }
  .sw-rise.is-set { transform: none; }
}

@media (max-width: 47.99rem) {
  .sw-top-in { flex-direction: column; align-items: flex-start; }
  .sw-top-reach { text-align: left; }
  .sw-cells th[scope="row"], .sw-grid th[scope="row"] { width: auto; }
}

@media print {
  .sw-nav, .sw-keep, .sw-check, .sw-book { display: none; }
  body { background: #fff; }
  .sw-rise { opacity: 1; transform: none; }
}


/* The storage card stands fixed at the foot of the window. While it is up the document reserves
   its exact height, so nothing the page has put in that band is painted over. Before this, the
   card covered the availability widget's submit button whole at 1440x950 and the independence
   line whole at 375x667, on every page. */
:root.is-asking body { padding-bottom: var(--sw-keep-tall, 0); }


/* ---------------------------------------------- the opening screen on a phone

   Module 2.2 wants the availability fields AND the button on the first screen. Measured before
   this block, at 375x667: first input at 809, button ending at 1006, i.e. 339px past the fold,
   while the form element itself started at 647 and looked like a pass. Only the controls count. */
@media (max-width: 47.99rem) {
  .sw-head { padding-top: 1.1rem; padding-bottom: 0.9rem; }
  .sw-head h1 { font-size: 1.55rem; line-height: 1.12; }
  .sw-stand { font-size: 1rem; margin-top: 0.55rem; }
  .sw-check { margin-top: 1rem; }
  .sw-check-said { font-size: 0.92rem; }
  /* the two dates sit side by side rather than stacked: two rows of a date field are 86px */
  .sw-check-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
  .sw-check-fields > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 47.99rem) and (max-height: 44rem) {
  .sw-head { padding-top: 0.8rem; padding-bottom: 0.7rem; }
  .sw-head h1 { font-size: 1.35rem; }
  .sw-stand { font-size: 0.94rem; margin-top: 0.45rem; }
  .sw-check-said { font-size: 0.88rem; }
}


/* The masthead was 244px of a 667px screen, its eight navigation items wrapped over two rows, and
   the widget's own introduction stood between the heading and the first date field. */
@media (max-width: 47.99rem) {
  .sw-top { padding-top: 0.7rem; padding-bottom: 0.55rem; }
  .sw-nav ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .sw-nav ul::-webkit-scrollbar { display: none; }
  .sw-nav li { flex: none; }
  .sw-nav a { padding: 0.45rem 0.65rem; font-size: 0.87rem; white-space: nowrap; }
  /* the introduction reads after the controls on a phone; it keeps its place in the source, so
     nothing changes for a reader without CSS and nothing changes on a wider screen */
  .sw-check { display: flex; flex-direction: column; }
  .sw-check > .sw-check-said { order: 3; margin-top: 0.8rem; }
  .sw-check > .sw-check-fields { order: 1; }
  .sw-check > .sw-send, .sw-check > p:last-of-type { order: 2; }
}

/* The masthead stood 252px tall on a 375px screen and the consent bar another 131, which between
   them left the availability button no room on the first screen. Both are cut here, and only on a
   phone: a wide screen keeps the roomier setting. */
@media (max-width: 47.99rem) {
  .sw-top-in { padding: 0.55rem var(--sw-gutter) 0.45rem; gap: 0.25rem 1rem; }
  .sw-mast { gap: 0.2rem 0.7rem; }
  .sw-mast a { font-size: 1.3rem; }
  .sw-mast-strap { font-size: 0.72rem; letter-spacing: 0.1em; }
  .sw-top-line { font-size: 0.85rem; }
  .sw-head { padding-top: 0.75rem; padding-bottom: 0.65rem; }
  .sw-head h1 { font-size: 1.32rem; }
  .sw-stand { font-size: 0.94rem; margin-top: 0.4rem; }
  /* the consent bar reads as one row: sentence, then the two answers beside it */
  .sw-keep { padding: 0.5rem var(--sw-gutter); gap: 0.35rem 0.8rem; }
  .sw-keep p { font-size: 0.8rem; line-height: 1.35; }
  .sw-keep button { font-size: 0.9rem; padding: 0.35rem 0.7rem; }
}


/* The last forty pixels: the two date labels and the gap between the fields. Only on a phone. */
@media (max-width: 47.99rem) {
  .sw-check-fields label { font-size: 0.76rem; margin-bottom: 0.15rem; }
  .sw-check-fields { gap: 0.45rem; }
  .sw-check-fields input { padding-top: 0.5rem; padding-bottom: 0.5rem; }
  .sw-send { margin-top: 0.7rem; }
}

/* On a short phone a bar pinned to the foot of the window eats a fifth of the screen, and what it
   eats is exactly the band the availability button sits in. There it stops floating and takes its
   place in the document instead, above the footer, where it covers nothing at all. The notice is
   informational, not a gate: nothing is stored before it is answered, so it does not have to
   interrupt. */
@media (max-width: 47.99rem) and (max-height: 46rem) {
  .sw-keep { position: static; }
  :root.is-asking body { padding-bottom: 0; }
  .sw-head h1 { font-size: 1.24rem; }
  .sw-stand { font-size: 0.9rem; }
  .sw-check-said { font-size: 0.86rem; }
}

/* 360x640 and shorter: twenty three pixels were missing, so this tier is deliberately small. */
@media (max-width: 47.99rem) and (max-height: 40rem) {
  .sw-head { padding-top: 0.5rem; padding-bottom: 0.45rem; }
  .sw-head h1 { font-size: 1.14rem; }
  .sw-stand { margin-top: 0.28rem; font-size: 0.86rem; }
  .sw-check { margin-top: 0.6rem; }
  .sw-check-fields label { font-size: 0.72rem; }
  .sw-send { margin-top: 0.55rem; }
}


/* The quiet ink measured 3.28:1 on the paper and 2.74:1 on a card, and the accent 4.07:1 on a card,
   while /accessibility/ told the reader every pairing had been measured and cleared. #5f5f57 gives
   5.76 and 4.79; #8c4622 gives 6.23 and 5.19. */

/* Standalone links in a list stood short of the 44px the accessibility page promises: the
   navigation on a phone and the footer columns. They are destinations rather than words inside a
   sentence, so they can carry the height without changing how anything reads. */
.sw-nav a { min-height: 44px; display: flex; align-items: center; }
footer li > a:only-child,
.sw-foot li > a:only-child,
.sw-also li > a:only-child {
  display: flex; align-items: center; min-height: 44px;
}
