/* /vetero/terms/ (build_mirror.py, vetero_terms_page): Vetero's terms, set as
   live set them. Headings and paragraphs take the site's own roles from its
   stylesheet (heading 2, heading 3, body); this places the one column.

   Live's column is a fluid-engine block ten of the 24 columns wide, centred,
   from 768 up (546px at 1440), and the page's width inside its 6vw gutters
   below. The same arithmetic here: the container is min(1500px, 100vw - 8vw),
   and ten cells are ten twenty-fourths of it less the 23 gaps of 11px, plus
   the nine gaps inside the span. */
body.vt-page #header {
  position: relative;
}

body.vt-page .vt-terms-section {
  padding: 3.3vmax 0 6.6vmax;
}

body.vt-page .vt-terms {
  --vt-container: min(1500px, calc(100vw - 8vw));
  box-sizing: border-box;
  width: calc((var(--vt-container) - 253px) * 10 / 24 + 99px);
  margin: 0 auto;
}

/* The site's heading margin above the first line of the page: live's blocks
   start at their first line, 3.3vmax under the header. */
body.vt-page .vt-terms > :first-child {
  margin-top: 0;
}

/* Live has the privacy policy and the terms in sections of their own, so
   between them are two section paddings (3.3vmax each); and "Terms of
   Service" is a block of its own over the terms, so the date sits a grid gap
   under it rather than a heading margin. Measured on live at
   390/768/1024/1440: 56/66/68/115px between the two (here 56/66/68/95: live's
   taller grid rows add 20 at 1440), and the date's top 70/53/63/79px below
   the heading's (here 70/57/65/79). */
body.vt-page .vt-terms > h2:not(:first-child) {
  margin-top: 6.6vmax;
}

body.vt-page .vt-terms > h2:has(+ h3) {
  margin-bottom: 0;
}

body.vt-page .vt-terms > h2 + h3 {
  margin-top: 15px;
}

@media (max-width: 767px) {
  body.vt-page .vt-terms {
    width: auto;
    margin: 0 6vw;
  }

  body.vt-page .vt-terms > h2 + h3 {
    margin-top: 25px;
  }
}
