:root {
  --color-foreground-on-tint: #FFFFFF;

  --font-sans-serif: "Open Sans", sans-serif;
  --font-serif: "Belleza", serif;
}
  
/* Reset */
@media screen {
  html {
    box-sizing: border-box;
  }

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

  html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
  }

  body {
    margin: 0;
  }

  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }

  hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
  }

  pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
  }

  a {
    background-color: transparent;
  }

  abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;
    /* 2 */
  }

  b,
  strong {
    font-weight: bolder;
  }

  code,
  kbd,
  samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
  }

  small {
    font-size: 80%;
  }

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }

  img {
    border-style: none;
  }

  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
  }

  button,
  input {
    /* 1 */
    overflow: visible;
  }

  button,
  select {
    /* 1 */
    text-transform: none;
  }

  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }

  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }

  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }

  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }

  legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
  }

  progress {
    vertical-align: baseline;
  }

  textarea {
    overflow: auto;
  }

  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
  }

  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }

  [type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
  }

  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
  }

  details {
    display: block;
  }

  summary {
    display: list-item;
  }

  template {
    display: none;
  }

  [hidden] {
    display: none;
  }
  
  fieldset {
    margin: 0;
    padding: 0;
    border: none;
  }
  
  input:-ms-input-placeholder,
  select:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: var(--color-foreground-text-l);
    opacity: 0.5;
  }
  
  input::placeholder,
  select::placeholder,
  textarea::placeholder {
    color: var(--color-foreground-text-l);
    opacity: 0.5;
  }
  
  [type=radio],
  [type=checkbox] {
    display: inline-block;
    width: auto;
  }
  
  figure {
    display: inline-block;
    width: 100%;
    margin: 0 0 1.5rem;
  }
  
  img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  
  svg {
    fill: currentColor;
  }
  
  video {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  
  table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
  }
}

/* Grid */

@media screen {
  .grid {
    flex-direction: row;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  
  .grid .cell {
    display: inline-block;
  }
  
  .grid .cell>* {
    flex-grow: 1;
  }
  
  .grid>.cell {
    flex-basis: 0%;
    flex-direction: column;
    flex-grow: 1;
    flex-shrink: 1;
    box-sizing: border-box;
    max-width: 100%;
    padding: 0 1.5rem;
  }
  .grid--align-center {
    justify-content: center;
  }

  .grid--horizontal {
    flex-direction: row;
  }
  
  .grid--vertical {
    flex-direction: column;
    align-items: stretch;
  }
  
  .grid--vertical>.cell {
    flex-basis: auto;
  }
  
  .grid>.cell--1 {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .grid>.cell--1\/2 {
    flex: 0 0 auto;
    width: 50%;
  }
  
  .grid>.cell--1\/3 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  
  .grid>.cell--2\/3 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  
  .grid>.cell--1\/4 {
    flex: 0 0 auto;
    width: 25%;
  }
  
  .grid>.cell--3\/4 {
    flex: 0 0 auto;
    width: 75%;
  }
  
  .grid--content-stretch .cell {
    display: flex;
  }
  
  .grid--content-stretch .cell>* {
    flex-grow: 1;
  }
  
  .grid--content-unstretch .cell {
    display: inline-block;
  }
  
  .grid--content-unstretch .cell>* {
    flex-grow: 1;
  }
  
  .grid>.cell--content-stretch {
    display: flex;
  }
  
  .grid>.cell--content-stretch>* {
    flex-grow: 1;
  }
  
  .grid>.cell--content-unstretch {
    display: inline-block;
  }
  
  .grid>.cell--content-unstretch>* {
    flex-grow: 1;
  }
}

@media screen and (min-width: 20rem) {
  .grid>.cell--extra-small-1 {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .grid>.cell--extra-small-1\/2 {
    flex: 0 0 auto;
    width: 50%;
  }
  
  .grid>.cell--extra-small-1\/3 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  
  .grid>.cell--extra-small-2\/3 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  
  .grid>.cell--extra-small-1\/4 {
    flex: 0 0 auto;
    width: 25%;
  }
  
  .grid>.cell--extra-small-3\/4 {
    flex: 0 0 auto;
    width: 75%;
  }
  
  .grid--extra-small-horizontal {
    flex-direction: row;
  }
  
  .grid--extra-small-vertical {
    flex-direction: column;
    align-items: stretch;
  }
  
  .grid--extra-small-vertical>.cell {
    flex-basis: auto;
  }
  
  .grid--extra-small-content-stretch .cell {
    display: flex;
  }
  
  .grid--extra-small-content-stretch .cell>* {
    flex-grow: 1;
  }
  
  .grid--extra-small-content-unstretch .cell {
    display: inline-block;
  }
  
  .grid--extra-small-content-unstretch .cell>* {
    flex-grow: 1;
  }
  
  .grid>.cell--extra-small-content-stretch {
    display: flex;
  }
  
  .grid>.cell--extra-small-content-stretch>* {
    flex-grow: 1;
  }
  
  .grid>.cell--extra-small-content-unstretch {
    display: inline-block;
  }
  
  .grid>.cell--extra-small-content-unstretch>* {
    flex-grow: 1;
  }
}

@media screen and (min-width: 26.5rem) {
  .grid>.cell--small-1 {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .grid>.cell--small-1\/2 {
    flex: 0 0 auto;
    width: 50%;
  }
  
  .grid>.cell--small-1\/3 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  
  .grid>.cell--small-2\/3 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  
  .grid>.cell--small-1\/4 {
    flex: 0 0 auto;
    width: 25%;
  }
  
  .grid>.cell--small-3\/4 {
    flex: 0 0 auto;
    width: 75%;
  }
  
  .grid--small-horizontal {
    flex-direction: row;
  }
  
  .grid--small-vertical {
    flex-direction: column;
    align-items: stretch;
  }
  
  .grid--small-vertical>.cell {
    flex-basis: auto;
  }
  
  .grid--small-content-stretch .cell {
    display: flex;
  }
  
  .grid--small-content-stretch .cell>* {
    flex-grow: 1;
  }
  
  .grid--small-content-unstretch .cell {
    display: inline-block;
  }
  
  .grid--small-content-unstretch .cell>* {
    flex-grow: 1;
  }
  
  .grid>.cell--small-content-stretch {
    display: flex;
  }
  
  .grid>.cell--small-content-stretch>* {
    flex-grow: 1;
  }
  
  .grid>.cell--small-content-unstretch {
    display: inline-block;
  }
  
  .grid>.cell--small-content-unstretch>* {
    flex-grow: 1;
  }
}

@media screen and (min-width: 48rem) {
  .grid>.cell--medium-1 {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .grid>.cell--medium-1\/2 {
    flex: 0 0 auto;
    width: 50%;
  }
  
  .grid>.cell--medium-1\/3 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  
  .grid>.cell--medium-2\/3 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  
  .grid>.cell--medium-1\/4 {
    flex: 0 0 auto;
    width: 25%;
  }
  
  .grid>.cell--medium-3\/4 {
    flex: 0 0 auto;
    width: 75%;
  }
  
  .grid--medium-horizontal {
    flex-direction: row;
  }
  
  .grid--medium-vertical {
    flex-direction: column;
    align-items: stretch;
  }
  
  .grid--medium-vertical>.cell {
    flex-basis: auto;
  }
  
  .grid--medium-content-stretch .cell {
    display: flex;
  }
  
  .grid--medium-content-stretch .cell>* {
    flex-grow: 1;
  }
  
  .grid--medium-content-unstretch .cell {
    display: inline-block;
  }
  
  .grid--medium-content-unstretch .cell>* {
    flex-grow: 1;
  }
  
  .grid>.cell--medium-content-stretch {
    display: flex;
  }
  
  .grid>.cell--medium-content-stretch>* {
    flex-grow: 1;
  }
  
  .grid>.cell--medium-content-unstretch {
    display: inline-block;
  }
  
  .grid>.cell--medium-content-unstretch>* {
    flex-grow: 1;
  }
}

@media screen and (min-width: 64rem) {
  .grid>.cell--large-1 {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .grid>.cell--large-1\/2 {
    flex: 0 0 auto;
    width: 50%;
  }
  
  .grid>.cell--large-1\/3 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  
  .grid>.cell--large-2\/3 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  
  .grid>.cell--large-1\/4 {
    flex: 0 0 auto;
    width: 25%;
  }
  
  .grid>.cell--large-3\/4 {
    flex: 0 0 auto;
    width: 75%;
  }
  
  .grid--large-horizontal {
    flex-direction: row;
  }
  
  .grid--large-vertical {
    flex-direction: column;
    align-items: stretch;
  }
  
  .grid--large-vertical>.cell {
    flex-basis: auto;
  }
  
  .grid--large-content-stretch .cell {
    display: flex;
  }
  
  .grid--large-content-stretch .cell>* {
    flex-grow: 1;
  }
  
  .grid--large-content-unstretch .cell {
    display: inline-block;
  }
  
  .grid--large-content-unstretch .cell>* {
    flex-grow: 1;
  }
  
  .grid>.cell--large-content-stretch {
    display: flex;
  }
  
  .grid>.cell--large-content-stretch>* {
    flex-grow: 1;
  }
  
  .grid>.cell--large-content-unstretch {
    display: inline-block;
  }
  
  .grid>.cell--large-content-unstretch>* {
    flex-grow: 1;
  }
}

@media screen and (min-width: 90rem) {
  .grid>.cell--extra-large-1 {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .grid>.cell--extra-large-1\/2 {
    flex: 0 0 auto;
    width: 50%;
  }
  
  .grid>.cell--extra-large-1\/3 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  
  .grid>.cell--extra-large-2\/3 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  
  .grid>.cell--extra-large-1\/4 {
    flex: 0 0 auto;
    width: 25%;
  }
  
  .grid>.cell--extra-large-3\/4 {
    flex: 0 0 auto;
    width: 75%;
  }
  
  .grid--extra-large-horizontal {
    flex-direction: row;
  }
  
  .grid--extra-large-vertical {
    flex-direction: column;
    align-items: stretch;
  }
  
  .grid--extra-large-vertical>.cell {
    flex-basis: auto;
  }
  
  .grid--extra-large-content-stretch .cell {
    display: flex;
  }
  
  .grid--extra-large-content-stretch .cell>* {
    flex-grow: 1;
  }
  
  .grid--extra-large-content-unstretch .cell {
    display: inline-block;
  }
  
  .grid--extra-large-content-unstretch .cell>* {
    flex-grow: 1;
  }
  
  .grid>.cell--extra-large-content-stretch {
    display: flex;
  }
  
  .grid>.cell--extra-large-content-stretch>* {
    flex-grow: 1;
  }
  
  .grid>.cell--extra-large-content-unstretch {
    display: inline-block;
  }
  
  .grid>.cell--extra-large-content-unstretch>* {
    flex-grow: 1;
  }
}

/* Styling */

@media screen {
  body {
    margin: 0;
    padding: 0;
    color: var(--color-foreground-text-l);
    font-family: var(--font-serif);
    font-size: 1rem;
    font-variant-ligatures: normal;
    font-variant-numeric: tabular-nums;
    font-kerning: normal;
    font-display: fallback;
    line-height: 1.5;
    text-decoration-skip: ink;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    background-color: var(--color-background-2);
  }

  h1 {
    display: block;
    margin: 0 0 1.5rem;
    color: var(--color-foreground-text);
    font-family: var(--font-sans-serif);
    font-size: 2rem;
    font-weight: 300;
    line-height: 1.25;
  }

  h2 {
    display: block;
    margin: 0 0 0.75rem;
    color: var(--color-foreground-text);
    font-family: var(--font-sans-serif);
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.5;
  }
  
  h3,
  h4,
  h5,
  h6 {
    display: block;
    margin: 0 0 0.75rem;
    color: var(--color-foreground-text);
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
  }
  
  p {
    margin: 0 0 1.5rem;
    padding: 0;
  }
  
  dl,
  ol,
  ul {
    margin-top: 0;
    margin-bottom: 1.5rem;
    color: var(--color-foreground-text-l);
  }
  
  blockquote {
    margin: 0 0 1.5rem;
    padding: 0 0 0 0.75rem;
    border-left: 0.125rem solid var(--color-background-2);
  }
  
  blockquote cite {
    margin: 0;
    font-size: 0.875rem;
    font-style: normal;
    line-height: 1.5;
  }
  
  hr {
    height: 0.125rem;
    margin: -0.125rem 0 1.5rem;
    background: var(--color-foreground-text-l);
    border: none;
  }
  
  a {
    color: var(--color-tint-secondary);
    text-decoration: underline;
  }
  
  a:focus {
    color: var(--color-foreground-text);
    background-color: var(--color-background-3);
    outline: 0.125rem solid var(--color-background-3);
  }
  
  a:hover {
    text-decoration: none;
  }
  
  small {
    font-family: var(--font-serif);
    font-size: 0.875rem;
    line-height: 0.75;
  }
  
  ::selection {
    color: var(--color-foreground-text);
    text-shadow: none;
    background: var(--color-background-3);
  }
  
  .container {
    width: 100%;
    max-width: 90rem;
    margin: 0 auto;
    padding: 0 1.5rem;
  }
}

@media screen and (min-width: 48rem) {
  h1 {
    font-size: 3rem;
    word-break: break-word;
  }
}

@media screen and (min-width: 64rem) {
  .container {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

@media screen {
  .page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  
  .main {
    flex-grow: 1;
  }
  
  .button {
    display: inline-block;
    margin: 0;
    padding: 1.125rem 1.5rem;
    color: var(--color-tint-secondary);
    text-decoration: none;
    background: var(--color-background-2);
    border: none;
    border-radius: 0.125rem;
    transition: box-shadow 0.125s, color 0.125s, background-color 0.125s, text-indent 0.125s;
    will-change: box-shadow, color, background-color, text-indent;
  }
  
  .button:focus {
    color: var(--color-foreground-text);
    background-color: var(--color-background-3);
    outline: 0.125rem solid var(--color-background-3);
  }
  
  .button:focus,
  .button:hover {
    background-color: var(--color-background-2);
  }
  
  .button:hover {
    box-shadow: 0 12px 36px rgba(213, 176, 118, 0.1), 0 6px 18px rgba(213, 176, 118, 0.15);
  }
  
  .button[disabled] {
    color: var(--color-foreground-text);
    background-color: var(--color-foreground-text-l);
  }
  
  .button[disabled]:focus,
  .button[disabled]:hover {
    color: var(--color-foreground-text);
    background-color: var(--color-foreground-text-l);
    box-shadow: none;
  }

  .button--large {
    margin: 1rem auto;
    padding: 1rem 1.5rem;
    font-size: 2rem;
    line-height: 1.25;
    color: var(--color-foreground-text);
    background: var(--color-tint-secondary);
  }
  
  .contact-list {
    overflow: hidden;
    margin: 1.5rem 0;
    padding: 0;
    list-style-type: none;
  }
}

@media screen and (min-width: 64rem) {
  .contact-list {
    margin-top: 0;
  }
}

@media screen {
  .contact-list__item {
    margin: 0 0 1.5rem;
  }
  
  .contact-list__link {
    display: flex;
    align-items: center;
    color: var(--color-background-2);
    font-size: 1.5rem;
    text-decoration: none;
  }
  
  .contact-list__icon {
    display: inline-block;
    margin: 0 1.5rem 0 0;
    padding: 1.125rem;
    color: var(--color-foreground-on-tint);
    line-height: 0;
    background-color: var(--color-tint-primary);
    border-radius: 50%;
  }
  
  .document {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    overflow: hidden;
    margin: 0 0 1.5rem;
    padding: 1.5rem;
    text-decoration: none;
    border: 0.0625rem solid var(--color-background-3);
  }
}

@media screen and (min-width: 48rem) {
  .document {
    margin-bottom: 1.5rem;
  }
}

@media screen {
  .footer {
    color: var(--color-background-2);
    background-color: var(--color-foreground-text);
  }
  
  .footer h1,
  .footer h2,
  .footer h3,
  .footer h4,
  .footer h5,
  .footer h6,
  .footer .heading {
    color: var(--color-background-2);
  }
  
  .footer p,
  .footer ul {
    color: var(--color-foreground-text-l);
  }
  
  .gallery-image {
    position: relative;
    display: block;
    margin: 0 0 1.5rem;
  }
}

@media screen and (min-width: 64rem) {
  .gallery-image {
    margin-bottom: 3rem;
  }
}

@media screen {
  .gallery-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 2.25rem 1.5rem 1.5rem;
    color: var(--color-background-2);
    text-shadow: 0 1px var(--color-foreground-text);
    background: linear-gradient(rgba(47, 47, 47, 0), rgba(47, 47, 47, 0.75));
  }
  
  .header {
    padding: 1.5rem 0 0;
  }
  
  .heading {
    display: block;
    margin: 0 0 0.75rem;
    color: var(--color-foreground-text);
    font-family: var(--font-sans-serif);
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.5;
  }
  
  .heading--small {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
  }
  
  .heading--large {
    margin: 0 0 1.5rem;
    font-family: var(--font-sans-serif);
    font-size: 2rem;
    line-height: 1.25;
  }
}

@media screen and (min-width: 48rem) {
  .heading--large {
    font-size: 3rem;
    word-break: break-word;
  }
}

@media screen {
  .heading--extra-large {
    margin: 0 0 1.5rem;
    font-family: var(--font-sans-serif);
    font-size: 3rem;
    line-height: 1.25;
    word-break: break-word;
  }
}

@media screen and (min-width: 48rem) {
  .heading--extra-large {
    font-size: 4rem;
  }
}

@media screen {
  .hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(61.803vh - 3.75rem);
    margin: 0;
    padding: 3rem 0 0;
    text-decoration: none;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  
  .hero__scroll {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  .hero__scroll:focus {
    color: initial;
    background-color: initial;
    outline: none;
  }
  
  .hero__body {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
  }
  
  .hero__logo {
    display: inline-block;
    pointer-events: all;
  }
  
  .icon {
    width: 24px;
    height: 24px;
    fill: currentColor;
  }
  
  .icon--m {
    width: 48px;
    height: 48px;
  }

  .icon--l {
    width: 96px;
    height: 96px;
  }

  .image {
    width: 100%;
  }

  .image svg {
    height: 100%;
  }

  .image--s {
    width: 1.125rem;
  }

  .image--m {
    width: 1.5rem;
  }

  .image--l {
    width: 2.25rem;
  }

  .image--xl {
    width: 3rem;
  }

  .image--xxl {
    width: 6rem;
  }

  .image--height-s {
    width: auto;
    height: 1.125rem;
  }

  .image--height-m {
    width: auto;
    height: 1.5rem;
  }

  .image--height-l {
    width: auto;
    height: 2.25rem;
  }

  .image--height-xl {
    width: auto;
    height: 3rem;
  }

  .image--height-xxl {
    width: auto;
    height: 6rem;
  }

  .image--rounded {
    border-radius: 100%;
  }

  .logo {
    display: flex;
    align-items: center;;
    flex-direction: column;
    padding: 1.5rem 2.25rem;
    background-color: var(--color-background-2);
  }
  
  .logo__header {
    height: 3rem;
    margin: 0 0 0.5rem;
  }

  .logo__subheader {
    height: 0.825rem;
  }

  .logo__color-tint-primary {
    fill: var(--color-tint-primary);
  }

  .logo__color-foreground-text {
    fill: var(--color-foreground-text);
  }

  .marker {
    fill: var(--color-tint-primary);
  }
}

@media screen and (min-width: 48rem) {
  .logo__header {
    height: 6rem;
  }
}

@media screen {
  .navigation-skip {
    position: fixed;
    top: 0;
    left: -100vw;
    z-index: 100;
    padding: 0.375rem 0.75rem;
    color: var(--color-background-2);
    font-size: 0.875rem;
    font-weight: 700;
    background-color: var(--color-foreground-text);
  }
  
  .navigation-skip:focus {
    left: 0;
    color: var(--color-background-2);
    text-decoration: none;
    background-color: var(--color-foreground-text);
  }
  
  .navigation-container {
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--color-background-2);
  }
  
  .navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.75rem;
  }
  
  .navigation__left,
  .navigation__right {
    display: flex;
    flex: 1 0 33.333%;
  }
  
  .navigation__left {
    justify-content: flex-end;
  }
  
  .navigation__center {
    transform: translateY(2.25rem);
    margin: 0 0.75rem;
    padding: 0.75rem;
  }
  
  .navigation__item {
    margin: 0 1.125rem;
    color: var(--color-foreground-text);
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    line-height: 3.75rem;
    text-decoration: none;
  }
  
  .navigation__item:focus,
  .navigation__item:hover {
    box-shadow: inset 0 -0.125rem 0 var(--color-foreground-text);
  }
  
  .navigation__item.is-active {
    color: var(--color-tint-secondary);
    box-shadow: inset 0 -0.125rem 0 var(--color-tint-secondary);
  }
  
  .project-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
}

@media screen and (min-width: 90rem) {
  .project-list {
    margin: 0 -1.5rem;
  }
}

@media screen {
  .project-list__item {
    width: 100%;
    margin: 0 0 1.5rem;
    padding: 0;
  }
  
  .project-list__item:last-child {
    margin-bottom: 1.5rem;
  }
}

@media screen and (min-width: 90rem) {
  .project-list__item {
    width: 50%;
    margin-bottom: 3rem;
    padding: 0 1.5rem;
  }
}

@media screen {
  .project-list__link {
    position: relative;
    display: inline-block;
    overflow: hidden;
    width: 100%;
    color: var(--color-foreground-text);
    text-decoration: none;
    background-color: var(--color-background-2);
  }
  
  .project-list__link:focus {
    color: initial;
    background-color: initial;
    outline: none;
  }
  
  .project-list__link:focus,
  .project-list__link:hover {
    background-color: var(--color-background-2);
  }
  
  .project-list__announcement {
    position: relative;
    padding: 0.75rem 1.5rem;
    color: var(--color-foreground-text-l);
    background-color: var(--color-background-3);
    border: 0.0625rem solid var(--color-foreground-separator);
  }
  
  .project-list__announcement:after {
    position: absolute;
    bottom: 100%;
    left: 50%;
    display: block;
    transform: translate(-50%, -0.375rem);
    padding: 0.75rem;
    color: var(--color-background-2);
    font-family: var(--font-serif);
    font-size: 0.875rem;
    line-height: 0.75;
    background-color: var(--color-foreground-text);
    content: attr(data-message);
    opacity: 0;
    pointer-events: none;
  }
  
  .project-list__announcement:focus:after,
  .project-list__announcement:hover:after {
    opacity: 1;
  }
  
  .project-list__thumb {
    position: absolute;
    top: 50%;
    left: 0;
    width: 240px;
    height: 240px;
    margin: -120px 0 0 -120px;
    background-color: var(--color-background-3);
  }
}

@media screen and (min-width: 48rem) {
  .project-list__thumb {
    margin-left: 0;
  }
}

@media screen {
  .project-list__body {
    margin: 0 0 0 120px;
    padding: 0.75rem 1.5rem 1.5rem;
    white-space: nowrap;
  }
}

@media screen and (min-width: 48rem) {
  .project-list__body {
    margin-left: 240px;
  }
}

@media screen and (min-width: 48rem) {
  .project-list__thumb,
  .project-list__body {
    transform: translateX(-120px);
    transition: transform 0.125s;
    will-change: transform;
  }
  
  .project-list__link:focus .project-list__thumb,
  .project-list__link:hover .project-list__thumb,
  .project-list__link:focus .project-list__body,
  .project-list__link:hover .project-list__body {
    transform: translateX(-60px);
  }
}

@media screen {
  .section {
    padding: 3rem 0 1.5rem;
  }
}

@media screen and (min-width: 48rem) {
  .section {
    padding: 6rem 0 4.5rem;
  }
}

@media screen {
  .section+.section {
    padding-top: 0;
  }
}

@media screen and (min-width: 48rem) {
  .section+.section {
    padding-top: 0;
  }
}

@media screen {
  .section--ribbon {
    padding: 0;
    background-color: var(--color-background-3);
  }
}

@media screen and (min-width: 48rem) {
  .section--ribbon {
    padding: 0;
  }
}

@media screen {
  .youtube {
    position: relative;
    height: 0;
    padding-top: 25px;
    padding-bottom: 56.25%;
  }
  
  .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  .zigzag-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  
  .zigzag-list__item {
    display: flex;
    align-items: flex-start;
    align-self: center;
    flex-direction: column;
    padding: 0 0 4.5rem;
  }
  
  .zigzag-list__item:last-child {
    margin-bottom: 1.5rem;
  }
}

@media screen and (min-width: 48rem) {
  .zigzag-list__item {
    flex-direction: row;
  }
}

@media screen {
  .zigzag-list__header {
    position: relative;
    padding: 1.5rem 0 0;
  }
  
  .zigzag-list__header:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 6rem;
    height: 0.125rem;
    background-color: var(--color-foreground-separator);
    content: '';
  }
}

@media screen and (min-width: 48rem) {
  .zigzag-list__body {
    padding: 0 3rem 0 0;
  }
  
  .zigzag-list__item:nth-child(even) .zigzag-list__body {
    order: 2;
    padding-right: 0;
    padding-left: 3rem;
  }
}

@media screen {
  .sr-only {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: none;
    clip: rect(0, 0, 0, 0);
  }
  
  .sr-only-focusable:active,
  .sr-only-focusable:focus {
    position: static;
    overflow: visible;
    width: auto;
    height: auto;
    margin: 0;
    clip: auto;
  }

  .is-hidden {
    display: none !important;
  }

  [aria-hidden=true] {
    display: none;
  }
  [role=menu] {
    display: none;
  }
  [role=menu][aria-expanded=true] {
    display: inline-block;
  }
  html:not(.no-js) .no-js {
    display: none;
  }
  
  .is-subjacent {
    color: var(--color-foreground-text-l);
  }
  
  .trailer {
    margin-bottom: 1.5rem;
  }
  
  .trailer-half {
    margin-bottom: 0.75rem;
  }
  
  .trailer-reset {
    margin-bottom: 0;
  }
  
  .text-right {
    text-align: right;
  }
  
  .text-left {
    text-align: left;
  }
  
  .text-center {
    text-align: center;
  }
  
  .text-no-wrap {
    white-space: nowrap;
  }
  
  .text-max-width {
    max-width: 700px;
  }
  
  .text-max-width-center {
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
  
  .text-intro {
    display: block;
    color: var(--color-foreground-text-l);
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
  }
}

@media screen and (min-width: 48rem) {
  .text-intro {
    font-size: 1.5rem;
  }
}

@media screen {
  .leased {
    display: inline-block;
    margin: 0 0 1rem;
    padding: 0.5rem 1rem;
    color: var(--color-foreground-on-tint);
    font-family: var(--font-sans-serif);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    background: var(--color-tint-primary);
  }
}