* {
    box-sizing: border-box;
    max-inline-size: var(--measure);
}

:root {
    font-family: Helvetica, sans-serif;
    --ratio: 1.5;
    --s-5: calc(var(--s-4) / var(--ratio));
    --s-4: calc(var(--s-3) / var(--ratio));
    --s-3: calc(var(--s-2) / var(--ratio));
    --s-2: calc(var(--s-1) / var(--ratio));
    --s-1: calc(var(--s0) / var(--ratio));
    --s0: 1rem;
    --s1: calc(var(--s0) * var(--ratio));
    --s2: calc(var(--s1) * var(--ratio));
    --s3: calc(var(--s2) * var(--ratio));
    --s4: calc(var(--s3) * var(--ratio));
    --s5: calc(var(--s4) * var(--ratio));
    --measure: 60ch;
}

html,
body,
div,
header,
hgroup,
nav,
main,
footer {
    max-inline-size: none;
}

body {
    margin: 0;
}

header {
    display: flex;
    flex-direction: column;
    align-items: center;
}

input[type=email] {
    font-family: inherit;
    font-size: inherit;
    padding: var(--s-2);
    border: var(--s-5) solid;
}

input[type=submit] {
    appearance: none;

    font-fmaily: inherit;
    font-size: inherit;
    font-weight: 600;
    padding: var(--s-1);
    width: 100%;
    border: none;
    background-color: rgba(0, 0, 0, 0.5);
    color: rgb(240, 240, 240);
}

input[type=submit]:hover {
    background-color: rgba(0, 0, 0, 0.75);
}

hr {
    border-bottom: 0.0125em solid;
    /* width: 70ch; */
    margin-inline-start: 0px;
}

.center {
    box-sizing: content-box;
    margin-inline: auto;
    max-inline-size: calc(var(--measure) * 1.5);
}

.cover {
    display: flex;
    flex-direction: column;
    min-block-size: 85vh;
    padding: 1rem;
}

.cover > * {
    margin-block: 1rem;
}

.cover > :first-child:not(div) {
    margin-block-start: 0;
}

.cover > :last-child:not(div) {
    margin-block-end: 0;
}

.cover > div {
    margin-block: auto;
}

.cover.publication > div {
    margin-block-start: 0;
    margin-block-end: auto;
}

.box {
    padding: var(--padding, var(--s1));
    border: var(--border-thin) solid;
    --color-light: #fff;
    --color-dark: #000;
    color: var(--color-dark);
    background-color: var(--color-light);
}

.box * {
    color: inherit;
}

.box.invert {
    color: var(--color-light);
    background-color: var(--color-dark);
}

.switcher {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s1);
}

.switcher > * {
    flex-grow: 1;
    flex-basis: calc((40rem - 100%) * 999);
}

.switcher > :nth-last-child(n + 5),
.switcher > :nth-last-child(n + 5) ~ * {
    flex-basis: 100%;
}

.stack {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.stack > * {
    margin-block: 0;
}

.stack > * + * {
    margin-block-start: var(--space, 1.5rem);
}

.stack.page-header {
    flex-direction: row;
}

.stack.publication:only-child {
    block-size: 100%;
}

.stack.publication > :nth-last-child(2) {
    margin-block-end: auto;
}

.hero-text {
    font-size: min(15vw, 5em);
}

.page-header {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    margin-block-end: 0.25em;
    border-bottom: 0.15em solid;
    margin-inline: 1em;
}

.page-header h2 {
    margin-inline-end: auto;
    margin-block-end: 0;
    align-self: end;
    padding-inline-end: 2rem;
    font-size: 2em;
}

.page-header p {
    font-size: 1.25em;
    font-weight: bold;
    margin-block-end: 0;
    align-self: end;
}

.page-header a,
.company-tagline a {
    text-decoration: none;
    color: inherit;
}

.page-header a:visited,
.company-tagline a:visited {
    color: inherit;
}

.page-footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    margin-block-start: 0.25em;
    border-block-start: 0.15em solid;
    padding-inline: 0.5em;
    margin-block-end: 0.5em;
}

.page-footer p {
    font-size: 0.85em;
    font-weight: bold;
    margin-block-end: 0;
    align-self: end;
}

.page-footer p:first-of-type {
    margin-inline-end: auto;
    margin-block-end: 0;
    align-self: end;
    padding-inline-end: 2rem;
}

.publications hgroup > *,
.publications hgroup > a > *,
hgroup.heading-block > *,
hgroup.heading-block > a > *{
    margin-block: 0;
}

.body-content {
    margin-inline: auto;
    max-inline-size: 80ch;
}

.body-content * {
    max-inline-size: 80ch;
}

.body-content p {
    max-inline-size: 80ch;
    margin-inline-end: auto;
    margin-block-start: 0;
    margin-block-end: 1em;
}

.body-content p:last-of-type {
    margin-block-end: 0;
}

.body-content h2 {
    margin-block-start: 0.25em;
    margin-block-end: 0.25em;
}

.border-width\:thin {
    border-width: 0.25em;
}

.border-style\:solid {
    border-style: solid;
}

.margin-inline\:auto {
    margin-inline: auto;
    max-inline-size: calc(var(--measure));
}

.font-size\:double {
    font-size: 2em;
}

.font-size\:huge {
    font-size: 5em;
}

.text-align\:center {
    text-align: center;
}

.just-cause,
.fragment-quote {
    margin-inline: 2ch;
}

.garden-landing,
.nuance-landing,
.greenhouse-landing,
.article-entry {
    display: flex;
    flex-direction: column;
    min-block-size: 85vh;
}

.greenhouse-landing {
    --measure: 70ch;
}

.listing {
    margin-block-end: 0.5rem;
}

.listing h3 {
    margin-block: auto;
}

.listing p {
    margin-block-end: auto;
    margin-block-start: 0.5rem;
}
