/* Doorbell Studio holding page. Tokens from _ds/tokens.css, accent chosen: brick. */

:root {
  /* Colour: ink on paper */
  --ink: #161A17;        /* text, the mark */
  --ground: #F4F1EA;     /* page background */
  --ink-soft: #4A514C;   /* secondary text, captions */
  --rule: #D9D4C7;       /* hairlines */
  --surface: #ECE8DE;    /* quiet panel, table heads */

  /* Accent: links and the primary button only. */
  --accent: #9A4B32;

  /* Type */
  --heading: "Gabarito", sans-serif;   /* weight 600 only */
  --body: "Public Sans", sans-serif;   /* 400 body, 600 labels and buttons */
  --step-0: 16px;
  --step-1: 20px;
  --step-2: 25px;
  --step-3: 31px;
  --step-4: 39px;
  --step-5: 49px;
  --step-6: 61px;
  --lh-body: 1.5;
  --lh-heading: 1.1;
  --measure: 68ch;

  /* Layout */
  --maxw: 1120px;
  --gutter: 24px;
  --pad-y: 96px;
  --pad-y-m: 56px;
  --space: 8px;
  --radius: 2px;         /* buttons and inputs only */
}

*, *::before, *::after { box-sizing: border-box; }

html {
  overflow-x: hidden;
  background: var(--ground);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--body);
  font-weight: 400;
  font-size: var(--step-0);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
  overflow-x: clip;
}

p { margin: 0; }

a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

a:hover { color: var(--ink); }

a:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

.page {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 100vh;
  min-height: 100svh;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: calc(var(--space) * 6) var(--gutter) calc(var(--space) * 4);
}

.lockup {
  display: block;
  width: 200px;
  height: auto;
}

.main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: calc(var(--space) * 3);
  padding: var(--pad-y) 0;
}

.heading {
  max-width: 15em;
  margin: 0;
  font-family: var(--heading);
  font-weight: 600;
  font-size: var(--step-6);
  line-height: var(--lh-heading);
  text-wrap: balance;
}

.lede {
  max-width: 31em;
  font-size: var(--step-1);
  text-wrap: pretty;
}

.footer {
  font-size: var(--step-0);
  text-wrap: pretty;
}

.bell {
  display: block;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.bell:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 4px;
}

.page {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "header header" "main art" "footer footer";
  column-gap: calc(var(--space) * 8);
}

.header { grid-area: header; }
.main { grid-area: main; }
.footer { grid-area: footer; }

.art {
  grid-area: art;
  align-self: end;
  display: block;
  width: auto;
  height: min(56vh, 480px);
  aspect-ratio: 150 / 264;
  margin-bottom: calc(var(--space) * 4);
  overflow: visible;
  fill: none;
  stroke: var(--ink);
  stroke-width: 1;
}

.art * { vector-effect: non-scaling-stroke; }
.art .heavy { stroke-width: 1.5; }
.art .fine { stroke-width: 0.6; }

@media (max-width: 900px) {
  .page { padding: calc(var(--space) * 3) var(--gutter); }
  .lockup { width: 168px; }
  .main { padding: var(--pad-y-m) 0; }
  .heading { font-size: var(--step-4); }
  .lede { font-size: var(--step-0); }
  .page {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    grid-template-areas: "header" "main" "art" "footer";
  }
  .art {
    justify-self: end;
    height: 240px;
    margin-bottom: calc(var(--space) * 3);
  }
}
