
@font-face {
  font-family: 'PP Neue Montreal';
  src: url('fonts/variable/PPNeueMontreal-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
}

/* quick and dirty reset */
* {
  box-sizing: border-box;
  margin: 0;
}
h1,
h2 {
  margin: 0;
  font-size: initial;
  font-weight: initial;
  text-wrap: pretty;
}

h3 {
  text-wrap: pretty;
}

h3 + p {
  margin-top: 1em;
}

.match-list {
  margin-top: 2em;
  ul {
    margin: 0;
    padding: 0;
    padding-left: 1.1em;
    margin-top: 1em;
    display: grid;
    gap: 10px;
  }
}

.cta {
  background-color: rgb(0 0 0 / 0.02);
  border: 1px solid rgb(0 0 0 / 0.1);
  padding: 2em;
  border-radius: 10px;
  margin-block: 1em;
  max-width: 70ch;
  p {
    text-wrap: balance;
  }
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

  p {
    font-size: 1.125rem;
    line-height: 1.5;
    max-width: 70ch;
    text-wrap: pretty;
  }

.attention-voice {
font-size: 1.4rem;
font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

smart-svg,
inner-column {
  /* custom elements are inline by browser default */
  display: block;
}

svg {
  display: block;
  width: 100%;
}

html {
  --ink: #373737;
  --paper: #ffffff;
  --color: #ad0046;
  --color: #094bb2;
}

iframe {
  background-color: var(--ink);
}

body {
  color: var(--ink);
  background-color: var(--paper);
}

/* structure */
body {
  display: grid;

}

inner-column {
  width: 98%;
  max-width: 740px;
  margin-inline: auto;
  padding: 1rem;
  @media (width >= 900px) {
  	margin-inline: 10% auto;
  }
}

article {
  display: grid;
  gap: 40px;

  /* type patterns */
  :is(p, li) {
    font-size: 1.125rem;
    line-height: 1.5;
    max-width: 70ch;
    text-wrap: pretty;
  }

  h2 {
    font-size: 1.125rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }

  :is(p + p) {
    margin-top: 1em;
  }

  :is(p + h2) {
    margin-top: 2em;
  }

  :is(h2 + p, h2 + ol) {
    margin-top: 1.4rem;
    /* should this be em? */
  }

  :is(ol + p) {
    margin-top: 1em;
  }

  ol {
    padding: 0;
    padding-left: 1.2em;
    li {
      margin-top: 1em;
    }
  }

  strong {
    font-weight: 700;
  }
}

/* theme */
body {
  font-family: 'PP Neue Montreal', system-ui, sans-serif;
  padding-top: 20px;
  padding-bottom: 15vh;
}

insignia-heading {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  .logo {
    max-width: 54px;
    flex-shrink: 0;
  }
  .company-name {
    font-size: 1.2;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }
}

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

.action-menu {
  ul {
    list-style: none;
    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    transform: translateX(-0.5em);
    margin-top: 4em;
  }

  a {
    padding: 1em 0.5em;
  }
}


@media (min-width: 375px) {
  .company-name {
    font-size: 1.5rem;
  }
}
@media (prefers-color-scheme: dark) {
  html {
    --ink: #d3ceff;
    --paper: #090921;
    --color: #cc80ff;
  }
}
[data-theme='dark'] {
  --ink: #d3ceff;
  --paper: #090921;
  --color: #cc80ff;
}