* { box-sizing: border-box; }
body { margin: 0; color: #000; font-family: 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; font-weight: 300; }
a { color: #108db8; text-decoration: none; font-weight: bold; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid #108db8; outline-offset: 5px; }
img { max-width: 100%; }
.site-header { position: absolute; top: 0; left: 0; width: 100%; padding: 20px; }
.site-header a { display: inline-block; }
.logo { display: block; width: 181px; height: 45px; }
.hero { height: 700px; background: url('/gradient-bg.png') bottom right / cover no-repeat; }
.contact { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin-top: 200px; }
.contact-logo { display: flex; justify-content: flex-end; padding-right: 30px; }
.contact address { border-left: 1px solid #000; padding: 0 30px; line-height: 1.5; font-style: normal; }
.contact address strong { display: block; margin-bottom: 10px; }
.contact address span, .contact address a { display: block; }
.contact address a { color: inherit; font-weight: inherit; overflow-wrap: anywhere; }
.attribution { display: flex; align-items: center; padding-right: 24px; }
.attribution img { flex: 0 0 auto; object-fit: contain; }
.attribution p { margin: 0; line-height: 1.5; }
.legal { margin: 50px 50px 100px; font-size: .85em; line-height: 1.5; color: #777; }
.legal p { margin: 0 0 1.5em; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.error-page { max-width: 640px; margin: 150px auto; padding: 24px; }
@media (max-width: 600px) {
  .hero { height: 65vh; min-height: 400px; max-height: 700px; background-position: 60% bottom; }
  .contact { margin-top: 80px; grid-template-columns: 1fr; gap: 28px; padding: 0 24px; }
  .contact-logo { justify-content: flex-start; padding: 0; }
  .contact address { padding: 0 0 0 20px; }
  .attribution { display: block; margin: 40px 24px 0; padding: 0; }
  .attribution img { display: block; width: 220px; height: 110px; margin-left: -24px; }
  .legal { margin: 48px 24px 64px; }
}
