:root {
  /* Color styles */
  --gray--50: #f9fafb;
  --gray--100: #f3f4f6;
  --gray--200: #e5e7eb;
  --gray--300: #d1d5db;
  --gray--400: #9ca3af;
  --gray--500: #6b7280;
  --gray--600: #4b5563;
  --gray--700: #374151;
  --gray--800: #1f2937;
  --gray--900: #111827;

  --brand: #008580;
  --brand-light: #51dabe;
  --brand-dark: #004c54;

  --padding-01: var(--p-4);
  --padding-02: var(--p-8);
  --padding-03: var(--p-12);
  --padding-04: var(--p-16);
  --padding-05: var(--p-24);
  --padding-06: var(--p-32);
  --padding-07: var(--p-48);
  --padding-08: var(--p-64);
  --padding-09: var(--p-96);
  --padding-10: var(--p-128);
  --padding-11: var(--p-256);

  --p-4: 0.4rem;
  --p-8: 0.8rem;
  --p-12: 1.2rem;
  --p-16: 1.6rem;
  --p-24: 2.4rem;
  --p-32: 3.2rem;
  --p-48: 4.8rem;
  --p-64: 6.4rem;
  --p-96: 9.6rem;
  --p-128: 12.8rem;
  --p-256: 25.6rem;

  --font-size: min(5vw, 1.8rem);
  --font-size_small: min(4vw, 1.6rem);
  --font-size_tiny: min(3vw, 1.4rem);
  --font-size_title: min(8vw, 4rem);
  --font-size_h1: min(7vw, 2.8rem);
  --font-size_h2: min(6vw, 2.4rem);
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/Inter-Medium.woff2?v=3.19') format('woff2'),
    url('/assets/Inter-Medium.woff?v=3.19') format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/Inter-ExtraBold.woff2?v=3.19') format('woff2'),
    url('/assets/Inter-ExtraBold.woff?v=3.19') format('woff');
}
html {
  background-color: var(--gray--100);
  color: var(--gray--600);
  font-size: 10px;
  font-size: 62.5%;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
    'Segoe UI Symbol';
  font-weight: 500;
}
body {
  font-size: var(--font-size);
  line-height: 1.6;
  letter-spacing: -0.03em;
}

header {
  background-color: white;
  padding-top: var(--p-32);
}
header,
section,
footer {
  width: 100%;
  padding-left: var(--p-32);
  padding-right: var(--p-32);
}
.stretch {
  width: 100%;
  display: block;
}
@media screen and (min-width: 900px) {
  .c1 {
    grid-column: 1;
  }
  .c2 {
    grid-column: 2;
  }
  .c3 {
    grid-column: 3;
  }
  .stretch {
    width: fit-content;
    align-self: start;
  }
  .fifty-fifty {
    grid-column: span 3;
    display: flex;
    flex-direction: row;
    gap: var(--padding-06);
  }
  .fifty-fifty > * {
    width: 50%;
  }
  header,
  section,
  footer {
    display: grid;
    grid-column-gap: 2.4rem;
    grid-template-columns: repeat(3, 1fr);
    padding-left: var(--p-48);
    padding-right: var(--p-48);
  }
  html {
    --font-size: 2rem;
    --font-size_small: 1.8rem;
    --font-size_tiny: 1.6rem;
    --font-size_title: 6.4rem;
    --font-size_h1: 4.8rem;
    --font-size_h2: 3.2rem;
  }
  .span1 {
    grid-column: span 1;
  }
  * {
    grid-column: span 2;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    --padding-01: var(--p-8);
    --padding-02: var(--p-12);
    --padding-03: var(--p-16);
    --padding-04: var(--p-24);
    --padding-05: var(--p-32);
    --padding-06: var(--p-48);
    --padding-07: var(--p-64);
    --padding-08: var(--p-96);
    --padding-09: var(--p-128);
    --padding-10: var(--p-256);
    --padding-11: 32rem;
  }

  .card {
    margin-bottom: 0;
  }
  header,
  section,
  footer {
    grid-column-gap: 4.8rem;
    padding-right: calc(10% + var(--p-64));
    padding-left: calc(10% + var(--p-64));
  }
  .full {
    grid-column: span 3;
  }
}
@media screen and (min-width: 1900px) {
  header,
  section,
  footer {
    grid-column-gap: 4.8rem;
    grid-template-columns: repeat(3, 1fr);
    padding-right: calc((100% - 1500px) / 2);
    padding-left: calc((100% - 1500px) / 2);
  }
}
.hero {
  background-color: white;
  padding-top: 96px;
  margin-bottom: 50px;
}
p {
  max-width: 65ch;
}
.title {
  color: var(--gray--900);
  font-size: var(--font-size_title);
  line-height: 1.2;
  font-weight: 800;
}
.h1 {
  color: var(--gray--900);
  font-size: var(--font-size_h1);
  line-height: 1.2;
  font-weight: 800;
}
.h2 {
  color: var(--gray--900);
  font-size: var(--font-size_h2);
  line-height: 1.2;
  font-weight: 800;
}
.brow {
  color: var(--brand);
  font-size: var(--font-size_small);
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 800;
}
.subheading {
  color: var(--brand);
  line-height: 1.2;
  font-weight: 800;
}
.paragraph_small {
  font-size: var(--font-size_small);
}
.paragraph_tiny {
  font-size: var(--font-size_tiny);
}
header svg {
  width: 65vw;
  max-width: 170px;
  height: auto;
}
.hero .h1 {
  color: var(--brand);
  -webkit-text-stroke: 0.05em transparent;
  transition: all 0.8s cubic-bezier(0.3, 0.76, 0.27, 1);
}
@supports (-webkit-text-stroke: 1px black) {
  .hero .h1:not(.filled) {
    color: transparent;
    -webkit-text-stroke: 0.05em #008580;
  }
}

.hero .paragraph_small {
  margin-top: var(--p-48);
}
.btn svg {
  width: 1.2em;
  height: auto;
  fill: white;
}
.btn {
  margin-top: var(--padding-02);
  position: relative;
  display: flex;
  /* align-items: center; */
  justify-content: center;
  gap: 1.2rem;
  line-height: 1.2;
  text-decoration: none;
  color: white;
  background-color: var(--brand);
  border-radius: 1.2rem;
  padding: 16px 16px 16px 24px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 800;
}
.btn:hover {
  background-color: #4cb7b3;
  transform: scale3d(1.02, 1.02, 1) translate3d(0, -2px, 0);
}
.btn:hover svg {
  transform: scale3d(1.2, 1.2, 1);
}
.btn:focus {
  outline: 2px solid var(--brand-light);
  outline-offset: 5px;
}
.btn:active {
  background-color: var(--brand-dark);
  transform: scale3d(0.9, 0.8, 1) translate3d(0, 3px, 0);
}
*:focus {
  outline: 2px solid var(--brand-light);
  outline-offset: 5px;
}
.hero .btn {
  transform: translate3d(0, 50%, 0);
}
.hero div {
  margin-top: var(--padding-04);
}

@media screen and (min-width: 1200px) {
  .hero div {
    margin-top: var(--padding-05);
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .hero div > p {
    font-size: var(--font-size_title);
  }
}
.content {
  padding-top: var(--padding-08);
}
.content > h2,
.content > h1 {
  margin-bottom: var(--padding-07);
}
.content > p {
  margin-bottom: var(--padding-08);
}
.card > * {
  margin-bottom: var(--p-24);
}
.card > *:first-child {
  margin-bottom: var(--p-32);
}
.marked {
  color: var(--brand);
}
.card {
  margin-bottom: var(--p-48);
}
.card:last-of-type {
  margin-bottom: 0;
}
picture img {
  width: 100%;
}
picture {
  display: block;
}
.headings > *:first-child {
  margin-bottom: var(--p-4);
}
img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: cover;
  object-position: 50% 25%;
}
footer {
  background-color: var(--brand);
  margin-top: var(--padding-10);
  padding-top: var(--padding-07);
  padding-bottom: var(--padding-06);
}
footer > p:first-of-type {
  color: white;
  margin-top: var(--p-48);
  margin-bottom: var(--p-24);
}
a {
  color: var(--brand-dark);
  transition: all 0.3s cubic-bezier(0.3, 0.76, 0.27, 1);
}
footer a {
  color: white;
}
footer .btn {
  background-color: var(--brand-dark);
}
a:hover {
  color: var(--brand-dark);
}
.copy {
  color: white;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap-reverse;
  justify-content: space-between;
  margin-top: var(--padding-08);
  gap: var(--p-12);
}
.copy p {
  flex-grow: 2;
  display: block;
}
nav {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-basis: 100%;
}
@media screen and (min-width: 900px) {
  nav {
    flex-basis: 33%;
  }
}
.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}
@media (prefers-reduced-motion) {
  * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
  }
}
