/*
---Imports
*/
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

/*
---Variables
*/

:root {
  --font-serif: "Instrument Serif", serif;
  --font-sans: "Inter", sans-serif;

  --navy: #0C2577;
  --gold: #E6AB2E;
  --deep-navy: #091B5A;
  --gradient-navy-to-deep-navy: linear-gradient(
    135deg,
    #0C2577 0%,
    #091B5A 100%
  );
  --tan: #f7f7f7;
  --green: #2F8928F2;
  --grey-100: #6E6B66;
  --grey-75: #A6A29F;
  --grey-50: #E8E6E2;
  --grey-25: #F3F2F0;
}

/*
---Global
*/

html {
  font-size: 62.5%;
}

body {
  font-family: var(--font-sans);
  font-weight: 400;
  color: var(--grey-100);
  font-size: 1.6rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--navy);
  letter-spacing: -0.02em;
}

h1 {
  font-size: 7.2rem;
  line-height: 0.9;

  @media (max-width: 767px) {
    font-size: 5.4rem;
  }
}

h2 {
  font-size: 5.4rem;

  @media (max-width: 767px) {
    font-size: 4.8rem;
  }
}

h3 {
  font-size: 3.2rem;
}

h4 {
  font-size: 2.4rem;
}

h5 {
  font-size: 2rem;
}

h6 {
  font-size: 1.8rem;
}

p {
  margin-bottom: 20px;
}

.text-large {
  font-size: 1.8rem;
}

.text-small {
  font-size: 1.2rem;
}

a {
  transition: all 0.25s ease-in-out;
}

a:active,
a:focus,
a:hover {
  text-decoration: none;
  color: var(--deep-navy);
}

a.grey {
  color: var(--grey-100);

  &:active,
  &:focus,
  &:hover {
    color: var(--navy);
  }
}

.pretitle {
  font-weight: 600;
  font-size: 1.3rem;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--font-sans);
  letter-spacing: 0.05em;
  margin-bottom: 16px;

  &.grey {
    color: var(--grey-75);
  }
}

.heavy-sans {
  color: var(--deep-navy);
  font-family: var(--font-sans);
  font-weight: 700;
}

button {
  appearance: none;
  border: none;
  transition: all 0.25s ease-in-out;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
  font-size: 1.4rem;
  border-radius: 8px;
  background: var(--deep-navy);
  padding: 10px 20px;
  color: #fff;
  border: 1px solid transparent;

  &:active,
  &:focus,
  &:hover {
   background: var(--gold);
   color: var(--deep-navy);
  }

  &.gold {
    background: var(--gold);
    color: var(--deep-navy);

    &.shadow {
      box-shadow: 0 4px 24px rgba(200, 151, 62, 0.3);
      border-color: var(--gold);

      &:active,
      &:focus,
      &:hover {
        background: var(--deep-navy);
        color: var(--gold);
      }
    }

    &:active,
    &:focus,
    &:hover {
     background: var(--deep-navy);
     color: var(--gold);
    }
  }

  &.outline {
    border-color: rgba(255, 255, 255, 0.25);

    &:active,
    &:focus,
    &:hover {
      background: #fff;
      color: var(--deep-navy);
    }
  }

  &.white {
    background: #fff;
    color: var(--deep-navy);
    border-color: var(--grey-50);

    &:active,
    &:focus,
    &:hover {
      color: #fff;
      background: var(--deep-navy);
    }
  }

  i.fa {
    font-size: 1rem;
  }

  &.large {
    padding: 14px 34px;
  }
}

.text-gold {
  color: var(--gold);
}

.badge {
  display: inline-flex;
  padding: 8px 12px;
  font-size: 1.3rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #fff;
  background: var(--green);
  border-radius: 16px;
}

.card {
  background: #fff;
  border: 1px solid rgba(232, 230, 226, 1);
  border-radius: 20px;
  padding: 40px;

  &.gray {
    background: var(--tan);
  }

  &.blue {
    background: var(--deep-navy);
    color: #fff;
  }
}

/*
---Email Form
*/

#email-form {
  width: 440px;
  margin: 0 auto;
  max-width: 100%;
  border: 2px solid var(--grey-50);
  border-radius: 14px;
  padding: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  display: flex;
  justify-content: space-between;
  gap: 24px;
  background: #fff;

  @media (max-width: 600px) {
    flex-direction: column;
    gap: 12px;
  }

  input[type=email] {
    border: none;
    outline: none !important;
    flex-grow: 1;

    &::placeholder {
      color: var(--grey-75);
    }

    @media (max-width: 600px) {
      text-align: center;
    }
  }

  button {

    @media (max-width: 600px) {
      justify-content: center;
    }
  }
}

/*
---Offering Card
*/

.offering-card {
  border-radius: 20px;
  border: 1px solid var(--grey-50);
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;

  @media (max-width: 991px) {
    max-width: 360px;
    margin: 0 auto;
  }

  .badge {
    position: absolute;
    top: 12px;
    right: 12px;
    box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.03);
  }


  img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
  }

  .content {
    padding: 24px;
    text-align: left;
  }

  .launch-date {
    color: var(--deep-navy);
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 16px;
  }

  h4 {
    margin-bottom: 5px;
  }

  .subtitle {
    color: var(--grey-75);
    font-size: 1.3rem;
  }

  hr {
    margin: 24px 0;
  }

  .metric {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 1.3rem;

    .metric-label {
      text-transform: uppercase;
      color: var(--grey-75);
    }

    .metric-value {
      color: var(--deep-navy);
      font-weight: 600;
    }
  }

  .button {
    width: 100%;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    justify-content: center;
    padding: 15px 20px;
    margin-top: auto;
  }

  &.status-waitlist {
    .badge {
      background: #fff;
      color: var(--deep-navy);
    }
  }
}

/*
---CTA
*/

#cta {
  background: var(--deep-navy);
  padding: 110px 0 155px 0;
  color: #fff;
  text-align: center;

  @media (max-width: 767px) {
    padding: 60px 0 105px 0;
  }

  h3 {
    color: #fff;
    font-size: 3.6rem;
  }

  p {
    margin: 8px auto 20px auto;
    font-size: 1.8rem;
  }

  .buttons {
    display: flex;
    gap: 20px;
    justify-content: center;

    @media (max-width: 767px) {
      flex-direction: column;
      width: 400px;
      max-width: 100%;
      margin: 0 auto;
    }
  }
}

/*
---Slider
*/

.slide {
  width: 353px;
  height: 353px;
  margin: 0 20px;
  max-width: 100%;

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
  }
}

.flickity-page-dots {
  bottom: -30px;

  .dot {
    width: 12px;
    height: 12px;
    opacity: 0.2;
    margin: 0 4px;

    &.is-selected {
      opacity: 0.6;
    }
  }
}

/*
---Hero
*/

#hero {
  background: var(--tan);
  padding: 0;

  .container {

    @media (max-width: 991px) {
      padding: 0;
    }
  }

  .hero-wrap {
    display: flex;
    align-items: center;
    gap: 80px;
    justify-content: space-between;

    @media (max-width: 991px) {
      flex-wrap: wrap;
      text-align: center;
      gap: 0;
    }
  }

  .content {
    padding: 16px 0;

    @media (max-width: 991px) {
      width: 100%;
      padding: 54px 15px;
      margin: 0 auto;
    }

    h2 {
      margin: 16px 0;
    }

    .button {
      margin-top: 16px;
    }

    form {
      .button {
        margin: 0;
      }
    }
  }

  .pretitle {
    margin-bottom: 0;
  }

  h2 {
    @media (max-width: 991px) {
      font-size: 4.8rem;
    }
  }

  p {
    font-size: 1.8rem;
    margin-bottom: 0;
  }

  img {

    @media (max-width: 991px) {
      width: auto;
      margin: 0 auto;
    }
  }

  .form-wrap {
    margin-top: 12px;

    @media (max-width: 767px) {
      width: 100%;
      display: inline-block;
      margin-left: auto;
      margin-right: auto;
    }

    #email-form {
      margin: 0;
      width: 360px;
      max-width: 100%;
      gap: 0;

      @media (max-width: 767px) {
        gap: 12px;
        margin: 0 auto;
      }

      i.fa {
        display: none;
      }
    }

    .disclaimer {
      color: var(--grey-75);
      font-size: 1.3rem;
      margin-top: 12px;
    }
  }
}


/*
---Header
*/

#header {
  background: #fff;
  font-size: 1.4rem;

  @media (max-width: 991px) {
    padding: 16px 0;
  }

  .header-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;

    @media (max-width: 991px) {
      flex-direction: column;
    }

    .logo-link {
      margin-right: auto;
    }

    .header-right {
      display: flex;
      align-items: center;
      gap: 24px;

      @media (max-width: 991px) {
        display: none;
      }
    }
  }

  .site-navigation {

    .navbar-collapse {
      padding: 0;
    }

    .navbar-default {
      border: none;
      background: none;
      margin: 0;
    }
  }

  #main-menu {
    float: none;
    display: flex;
    gap: 24px;
    margin: 0 auto;

    @media (max-width: 991px) {
      flex-direction: column;
      gap: 12px;
    }

    li {
      float: none;

      a {
        border-bottom: 2px solid transparent;
        padding: 22px 0;

        @media (max-width: 991px) {
          padding: 8px 0;
        }
      }
    }

    li.active {

      a {
        background: #fff;
        color: var(--deep-navy);
        border-bottom: 2px solid var(--gold);

      }
    }
  }

  .navbar-toggle {
    display: none;
    border: none;

    &:hover,
    &:focus {
      background: transparent;
    }

    @media (max-width: 991px) {
      display: block;
    }

    .icon-bar {
      background: var(--deep-navy);
    }
  }

  .mobile-buttons {
    display: none;
    justify-content: center;
    align-items: center;
    gap: 16px;
  }

  .navbar-collapse {
    border: none;

    &.collapse {
      display: block !important;

      @media (max-width: 991px) {
        display: none !important;

        &.in {
          display: block !important;

          .mobile-buttons {

            @media (max-width: 991px) {
              display: flex;
            }
          }
        }
      }
    }
  }

  .mobile-top-wrap {
    @media (max-width: 991px) {
      width: 100%;
      display: flex;
      justify-content: space-between;
    }
  }

  .site-navigation {
    @media (max-width: 991px) {
      width: 100%;
    }

    .navbar-default {
      min-height: 0;

      @media (max-width: 991px) {
        text-align: center;
        width: 100%;
      }
    }
  }

  .navbar-header {
    float: none;
  }
}

/*
---Footer
*/

#site-footer {

  .menu-column {

    @media (max-width: 991px) {
      margin-top: 40px;
    }
  }
}

#footer-top {
  background: #fff;
  padding: 48px 0;
  font-size: 1.4rem;

  .top {
    margin-bottom: 4px;

    .info-column {
      padding-right: 200px;

      @media (max-width: 767px) {
        padding-right: 15px;
      }
    }

    img {
      margin-bottom: 16px;
    }

    a {
      display: block;
      color: var(--grey-100);

      & + a {
        margin-top: 10px;
      }
    }

    a:active,
    a:focus,
    a:hover {
      text-decoration: none;
      color: var(--navy);
    }
  }

  #footer-menu-1,
  #footer-menu-2 {
    padding-left: 0;
    list-style-type: none;
    margin-bottom: 16px;

    li {
      margin-bottom: 16px;
    }
  }

  .bottom {
    border-top: 1px solid var(--tan);
    padding-top: 24px;
    color: var(--grey-75);
    display: flex;
    gap: 24px;
    justify-content: space-between;

    @media (max-width: 991px) {
      flex-direction: column;
    }
  }
}

#footer-disclaimer {
  padding: 24px 0;
  background: var(--tan);
  color: var(--grey-75);
  font-size: 1.4rem;
}

/*
---Single Page
*/

.page-template-default {
  #content {
    border-bottom: 1px solid var(--grey-50);
  }

  article {
    padding: 120px 0;
    margin: 0;
  }

  h1 {
    font-size: 4.4rem;
    margin-bottom: 54px;
  }
}

/*
---404 Page
*/

.error404 {
  #content {
    border-bottom: 1px solid var(--grey-50);
    padding: 120px 0;
    text-align: center;
  }

  h1 {
    color: var(--gold);
    font-size: 12rem;
  }

  h3 {
    margin: 72px 0;
    font-family: var(--font-sans);
  }
}

/*
---Home
*/

.page-template-template-home {

  #home-hero {
    padding: 54px 0 150px 0;
    background: var(--tan);
    text-align: center;

    .content {
      width: 560px;
      max-width: 100%;
      margin: 0 auto;
    }

    .pretitle {
      margin-bottom: 24px;
    }

    h1 {
      margin-bottom: 16px;
    }
  }

  #intro {
    margin-top: -120px;
    text-align: center;

    img {
      margin: 0 auto;
      border-radius: 8px;

      @media (max-width: 767px) {
        margin: 0 -15px;
        border-radius: 0;
        width: calc(100% + 30px);
        max-width: calc(100% + 30px);
      }
    }

    .metric-column {
      padding: 42px 15px;

      &:first-child {
        border-right: 1px solid var(--grey-25);

        @media (max-width: 767px) {
          border-right: none;
          border-bottom: 1px solid var(--grey-25);
        }
      }

      &:last-child {
        border-left: 1px solid var(--grey-25);

        @media (max-width: 767px) {
          border-left: none;
          border-top: 1px solid var(--grey-25);
        }
      }

      h3 {
        font-style: italic;
        margin-bottom: 10px;
      }

      .pretitle {
        margin-bottom: 0;
      }
    }
  }

  #offerings {
    text-align: center;
    padding: 136px 0 64px 0;

    @media (max-width: 767px) {
      padding-top: 64px;
    }

    .pretitle {
      margin-bottom: 0;
    }

    h2 {
      margin: 10px 0 16px 0;
      font-size: 3.6rem;
    }

    p {
      width: 600px;
      max-width: 100%;
      margin: 0 auto 64px auto;
      font-size: 1.8rem;
    }

    .offerings-row {
      display: flex;
      gap: 30px;

      @media (max-width: 991px) {
        flex-direction: column;
      }
    }

    .offering-column {
      flex-grow: 1;
    }
  }

  #sign-up {
    text-align: center;
    padding-bottom: 120px;

    h4 {
      margin-bottom: 8px;
    }

    p {
      color: var(--grey-75);
      margin-bottom: 24px;
    }
  }

  #how-it-works {
    text-align: center;
    padding: 110px 0;

      @media (max-width: 991px) {
        padding: 0;
      }

    h3 {
      margin-bottom: 48px;
    }

    .steps {
      display: flex;

      @media (max-width: 991px) {
        flex-wrap: wrap;
      }
    }

    .step {
      flex-basis: 25%;
      padding: 48px 24px 24px 24px;
      border: 1px solid var(--grey-50);
      text-align: left;
      border-right: 0;

      @media (max-width: 991px) {
        flex-basis: 100%;
        border-right: 1px solid var(--grey-50);
        border-bottom: 0;
      }

      &:nth-child(4n) {

        @media (min-width: 992px) {
          border: 1px solid var(--grey-50);
        }
      }

      &:last-child {
        @media (max-width: 991px) {
          border-bottom: 1px solid var(--grey-50);
        }
      }
    }

    .subtitle {
      color: var(--deep-navy);
      font-size: 1.8rem;
      font-weight: 700;
      margin: 24px 0;
    }
  }

  #track-record {
    padding: 110px 0;
    text-align: center;

    @media (max-width: 991px) {
      padding: 64px 0;
    }

    h3 {
      margin-bottom: 16px;
    }

    p {
      width: 710px;
      max-width: 100%;
      margin: 0 auto;
      font-size: 1.8rem;
    }

    #track-record-slider {
      margin: 56px 0;
    }

    .slide {
      width: 340px;
      height: 340px;
      margin: 0 20px;
      max-width: 100%;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
      }
    }

    .button {
      margin: 36px auto 0 auto;
    }
  }

  #testimonials {
    background: var(--tan);
    text-align: center;
    padding: 110px 0;

    .subheading {
      font-size: 1.8rem;
      width: 460px;
      max-width: 100%;
      margin: 12px auto 48px;
    }

    .testimonials-wrap {
      display: flex;
      gap: 32px;
      margin: 0 auto 48px auto;
      width: 960px;
      max-width: 100%;

      @media (max-width: 991px) {
        flex-direction: column;
      }

      .card {
        flex-basis: 50%;
        text-align: left;
        padding: 48px 40px 72px 40px;

        @media (max-width: 991px) {
          flex-basis: 100%;
        }

        p {
          margin: 24px 0;
          font-size: 1.6rem;
        }
      }
    }

    .disclaimer {
      font-style: italic;
    }
  }
}

/*
---Our Approach
*/

.page-template-template-our-approach {

  section {
    padding: 96px 0;
  }

  #principles {
    text-align: center;

    h3 {
      margin-bottom: 64px;
    }

    .principles-wrap {
      display: flex;

      @media (max-width: 991px) {
        flex-wrap: wrap;
      }

      .card {
        border-radius: 0;
        border-right: 0;
        flex-basis: 25%;
        text-align: left;
        font-size: 1.4rem;

        @media (max-width: 991px) {
          flex-basis: 100%;
          border-right: 1px solid var(--grey-50);
          border-bottom: 0;
        }

        &:first-child {
          border-top-left-radius: 10px;
          border-bottom-left-radius: 10px;

          @media (max-width: 991px) {
            border-top-right-radius: 10px;
            border-bottom-left-radius: 0;
          }
        }

        &:last-child {
          border-right: 1px solid var(--grey-50);
          border-top-right-radius: 10px;
          border-bottom-right-radius: 10px;

          @media (max-width: 991px) {
            border-bottom-left-radius: 10px;
            border-top-right-radius: 0;
            border-bottom: 1px solid var(--grey-50);
          }
        }
      }
    }

    img {
      margin-bottom: 16px;
    }

    .heading {
      font-size: 1.6rem;
      font-weight: 700;
      color: var(--deep-navy);
      margin-bottom: 16px;
    }
  }

  #approach {
    .copy-column {
      padding-right: 40px;
    }

    h3 {
      font-size: 4.2rem;
      margin-bottom: 10px;
    }

    .copy {
      font-size: 1.8rem;
    }

    .list-wrap {
      background: var(--tan);
      border-radius: 16px;
      padding: 32px;

      @media (max-width: 767px) {
        margin-top: 54px;
      }
    }

    .list-item {
      display: flex;
      gap: 10px;
      color: var(--deep-navy);
      font-size: 1.8rem;
      margin-bottom: 24px;
    }
  }

  #management {
    text-align: center;

    h3 {
      margin-bottom: 8px;
    }

    p {
      font-size: 1.8rem;
      margin-bottom: 56px;
    }

    .strategies-wrap {
      display: flex;
      gap: 20px;
      text-align: left;
      flex-wrap: wrap;

      .card {
        background: var(--tan);
        padding: 24px;
        flex-basis: calc((100% - 40px) / 3);

        @media (max-width: 767px) {
          flex-basis: 100%;
        }

        &:nth-child(4),
        &:nth-child(5) {
          flex-basis: calc((100% - 20px) / 2);

          @media (max-width: 767px) {
            flex-basis: 100%;
          }
        }

        .heading {
          font-size: 1.6rem;
          font-weight: 700;
          color: var(--deep-navy);
          margin: 10px 0;
        }
      }
    }
  }
}

/*
---Offerings
*/

.page-template-template-offerings {

  section:not(#hero) {
    padding: 96px 0;
    text-align: center;

    .offerings-row {
      margin-top: 56px;
    }
  }

  .offerings-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;

    @media (max-width: 991px) {
      flex-direction: column;
    }
  }

  .pretitle {
    margin-bottom: 0;
  }

  #live-offerings {

    .offering-column {
      flex-basis: calc(50% - 8px);
    }
  }

  #waitlist-offerings {
    background: var(--tan);

    .offering-column {
      flex-basis: calc(33% - 12px);
    }
  }

  #closed-offerings {
    border-bottom: 1px solid var(--grey-25);

    .offerings-row {
      display: flex;
      gap: 16px;

      @media (max-width: 991px) {
        flex-direction: row;
      }
    }
  }

  .closed-offering {
    text-align: center;
    background: var(--tan);
    border-radius: 10px;
    padding: 24px;
    flex-basis: calc(25% - 12px);

    @media (max-width: 991px) {
      flex-basis: calc(50% - 8px);
    }

    @media (max-width: 479px) {
      flex-basis: 100%;
    }

    .title {
      color: var(--deep-navy);
      font-size: 1.4rem;
      font-weight: 600;
    }

    .location {
      font-size: 1.2rem;
      margin: 8px 0;
    }

    .status {
      background: var(--grey-100);
      color: #fff;
      text-transform: uppercase;
      display: inline-block;
      padding: 4px 10px;
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.1rem;
      border-radius: 4px;
    }
  }
}

/*
---Single Offering
*/

.single-offering {

  .hero-wrap {
    height: 30vw;

    @media (max-width: 776px) {
      height: 350px;
    }

    img {
      object-fit: cover;
      height: 100%;
      width: 100%;
    }
  }

  h4, h5, h6 {
    font-family: var(--font-sans);
    font-weight: 600;
  }

  .yellow-list-item {
    position: relative;
    padding-left: 16px;
    margin-bottom: 20px;

    &:before {
      content: '';
      position: absolute;
      top: 8px;
      left: 0;
      display: block;
      width: 8px;
      height: 8px;
      background: var(--gold);
        border-radius: 100%;
    }
  }

  .overview {

    > *:first-child {
      margin-top: 0;
    }

    h1, h2, h3, h4, h5, h6 {
      margin: 40px 0 16px 0;
    }
  }

  #intro {
    padding: 120px 0;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    .blurb-column {
      padding-right: 64px;

      @media (max-width: 991px) {
        padding-right: 15px;
        margin-bottom: 64px;
      }

      p {
        line-height: 1.8;
        margin: 24px 0;
      }
    }

    h1 {
      font-size: 4.4rem;
      margin: 24px 0;
    }

    .buttons {
      display: flex;
      gap: 16px;

      @media (max-width: 500px) {
        flex-direction: column;
      }
    }

    .card {
      padding: 32px;
    }

    hr {
      margin: 24px 0;
      border-top: 1px solid var(--grey-50);
    }

    .key-term {
      display: flex;
      justify-content: space-between;
      margin-bottom: 20px;

      &:last-child {
        margin-bottom: 0;
      }

      .value {
        color: var(--deep-navy);
        font-weight: 600;

        &.status {
          color: var(--green);
        }
      }
    }
  }

  #overview {
    padding: 120px 0;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    .overview-column {
      padding-right: 110px;

      @media (max-width: 991px) {
        padding-right: 15px;
      }
    }

    h2 {
      margin-bottom: 54px;
    }

    .highlights-column {

      @media (max-width: 991px) {
        margin-top: 40px;
      }

      h6 {
        margin-bottom: 32px;
      }
    }
  }

  #markets {
    background: var(--tan);
    padding: 72px 0;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    h3 {
      margin-bottom: 24px;
    }

    h6.target-markets {
      margin-bottom: 24px;
    }

    .card {
      margin-top: 16px;
      padding: 24px;

      h6 {
        margin-bottom: 12px;
      }
    }

    .key-stats {
      display: flex;
      text-align: center;
      justify-content: space-around;

      @media (max-width: 600px) {
        flex-direction: column;
      }

      .key-stat {
        margin: 50px 0;

        @media (max-width: 600px) {
          margin: 20px 0;
        }
      }

      .value {
        font-size: 3.2rem;
        font-family: var(--font-serif);
        color: var(--deep-navy);
        margin-bottom: 8px;
      }

      .key-label {
        font-size: 1.4rem;
      }
    }
  }

  #property-photos {
    padding: 64px 0 120px 0;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    h3 {
      margin-bottom: 8px;
    }

    p {
      width: 560px;
      max-width: 100%;
    }
  }

  #risks {
    padding: 120px 0;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    h2 {
      margin-bottom: 54px;
    }
  }

  #deep-dive {
    padding: 64px 0;

    h2 {
      margin-bottom: 54px;;
    }

    .card-wrap {
      padding-bottom: 16px;
    }

    .card {
      padding: 0;

      button {
        background: transparent;
        width: 100%;
        padding: 24px;
        background: var(--tan);
        text-align: left;
        border-radius: 20px;
        display: flex;
        justify-content: space-between;

        &:after {
          content: '\f078';
          font-family: 'FontAwesome';
          rotate: 180deg;
        }

        &.collapsed:after {
          rotate: 0deg;
        }
      }
    }

    .card-body {
      padding: 24px;
    }
  }

  #documents-disclosure {
    background: var(--tan);
    padding: 64px 0;

    h3 {
      margin-bottom: 32px;
    }

    .documents {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      margin-bottom: 32px;

      .card {
        flex-basis: calc(50% - 8px);
        font-size: 1.4rem;
        padding: 24px;
        display: flex;
        gap: 16px;

        @media (max-width: 776px) {
          flex-basis: 100%;
        }

        p:last-child {
          margin-bottom: 0;
        }

        .icon-wrap {
          background: var(--deep-navy);
          transition: background 0.25s ease-in-out;
          width: 40px;
          height: 40px;
          border-radius: 10px;
          display: flex;
          align-items: center;
          justify-content: center;
        }

        h6 {
          transition: color 0.25s ease-in-out;
        }

        .filetype,
        .filesize {
          color: var(--grey-75);
        }

        .filetype {
          text-transform: uppercase;
        }

        &:hover {
          h6 {
            color: var(--gold);
          }

          .icon-wrap {
            background: var(--gold);
          }
        }
      }
    }

    .card {
      font-size: 1.4rem;
      padding: 24px;

      > p:last-child {
        margin-bottom: 0;
      }
    }
  }
}

/*
---About
*/

.page-template-template-about {

  section:not(#hero) {
    h2 {
      font-size: 4.4rem;
    }
  }

  #intro {
    padding: 120px 0;
    text-align: center;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    .blocks-wrap {
      display: flex;
      gap: 16px;
      justify-content: center;
      margin-top: 64px;

      @media (max-width: 991px) {
        flex-wrap: wrap;
      }

      .card {
        flex-basis: calc((100% - 40px) / 3);
        text-align: left;

        @media (max-width: 991px) {
          flex-basis: 100%;
        }

        .heading {
          font-size: 1.8rem;
          font-weight: 600;
          margin: 16px 0;
        }

        p {
          margin-bottom: 0;
          font-weight: 300;
        }
      }
    }
  }

  #people {
    padding: 120px 0;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    p {
      width: 520px;
      max-width: 100%;
      margin: 8px 0 54px 0;
    }

    .people-wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 1px;

      .person {
        flex-basis: 344px;
        outline: 1px solid  var(--grey-50);
        padding: 24px;


        @media (max-width: 767px) {
          flex-basis: 100%;
        }

        img {
          margin-bottom: 24px;
        }

        .name {
          font-size: 2rem;
          font-weight: 600;
          margin-top: 16px;
          color: var(--deep-navy);
        }

        .title {
          font-size: 1.3rem;
        }

        .subtitle {
          font-size: 1.1rem;
          text-transform: uppercase;
          font-weight: 500;
          color: var(--grey-75);
          letter-spacing: 0.1rem;
        }

        .bio {
          margin-top: 16px;
          font-size: 1.4rem;
        }
      }
    }
  }

  #companies {
    padding: 120px 0;
    text-align: center;

    @media (max-width: 776px) {
      padding: 60px 0;
    }

    p.text-large {
      width: 566px;
      max-width: 100%;
      margin: 16px auto 64px auto;
    }

    .companies-wrap {
      display: flex;
      gap: 20px;
      justify-content: center;

      @media (max-width: 991px) {
        flex-wrap: wrap;
      }

      .card {
        text-align: center;
        padding: 30px 24px;
        flex: 1;

        @media (max-width: 767px) {
          flex-basis: 100%;
        }

        img {
          margin: 0 auto;
        }

        .heading {
          margin: 20px 12px 8px 12px;
          color: var(--deep-navy);
          font-size: 1.6rem;
          font-weight: 600;
        }

        p {
          margin: 0;
          font-size: 1.3rem;
        }
      }
    }
  }
}

/*
---Insights
*/

.blog {

  #featured-post {
    padding: 120px 0;

    .featured-post {
      display: flex;
      border-radius: 20px;
      border: 1px solid var(--grey-50);

      @media (max-width: 991px) {
        flex-wrap: wrap;
      }

      .image-wrap {
        flex: 0 0 50%;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
        background-size: cover;
        background-position: center;

        @media (max-width: 1199px) {
          flex: 0 0 40%;
        }

         @media (max-width: 991px) {
          height: 300px;
          flex-basis: 100%;
          border-top-left-radius: 20px;
          border-bottom-left-radius: 0;
          border-top-right-radius: 20px;
          border-bottom-right-radius: 0;
        }
      }

      .content {
        padding: 48px;

        @media (max-width: 1199px) {
          flex: 0 0 60%;
        }

        @media (max-width: 991px) {
          padding: 24px;
          flex: 0 0 100%;
        }

        .badge {
          color: var(--gold);
          background: rgba(200, 151, 62, 0.12);
          letter-spacing: 0.1rem;
          margin-bottom: 20px;
        }

        h3 {
          margin-bottom: 8px;
        }

        p:not(.text-small) {
          font-size: 1.4rem;
          line-height: 1.6;
        }

        #email-form {
          margin: 24px 0 8px 0;

          @media (max-width: 991px) {
            width: 100%;
          }
        }
      }
    }
  }

  #posts {
    padding: 72px 0;
    background: var(--tan);
    text-align: center;

    h2 {
      margin-bottom: 60px;
    }

    .posts-wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 30px;

      @media (max-width: 767px) {
        flex-direction: column;
        width: 400px;
        max-width: 100%;
        margin: 0 auto;
      }
    }

    .post {
      display: flex;
      flex-direction: column;
      text-align: left;
      border-radius: 20px;
      background: #fff;
      border: 1px solid rgba(232, 230, 226, 1);
      flex-basis: calc(33.3333% - 20px);
      margin-bottom: 0;

      @media (max-width: 991px) {
        flex-basis: calc(50% - 30px);
      }

      @media (max-width: 767px) {
        flex-basis: 100%;
      }

      .image {
        width: 100%;
        height: 220px;
        background-size: cover;
        background-position: center;
        background-color: #ddd;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;

        @media (max-width: 1199px) {
          height: 180px;
        }
      }

      .content {
        padding: 24px;
        min-height: 200px;
        display: flex;
        flex-direction: column;
        flex-grow: 1;

        h4 {
          margin-bottom: 8px;
          font-size: 2rem;
        }

        .entry-summary {
          font-size: 1.3rem;
        }

        a.read-more {
          display: inline-flex;
          align-items: center;
          font-size: 1.3rem;
          color: var(--deep-navy);
          font-weight: 600;
          gap: 6px;
          margin-top: auto;

          i.fa {
            font-size: 1rem;
            position: relative;
            bottom: 1px;
          }
        }
      }
    }
  }
}

/*
---Single Post
*/

.post-template-default {

  article {
    padding: 120px 0;

    h1, h2, h3, h4, h5, h6 {
      margin: 30px 0;
    }

    ul, ol {
      margin-bottom: 20px;
    }
  }
}

/*
---Sign Up
*/

.page-template-template-sign-up {
  #sign-up {
    background: var(--deep-navy);
    padding: 120px 0;

    .text-column {
      color: #fff;

      h3 {
        font-size: 3.6rem;
        color: #fff;
      }

      p.text-large {
        margin: 10px 0 24px 0;
      }

      .steps {

        p {
          display: flex;
          align-items: center;
          gap: 16px;
          margin-bottom: 10px;
        }

        span {
          font-family: var(--font-serif);
          font-size: 2.4rem;
        }
      }

      hr {
        margin: 24px 0;
        opacity: 0.1;
      }

      .benefits {

        p {
          display: flex;
          align-items: center;
          gap: 16px;
          color: rgba(255, 255, 255, 0.7);

          &:before {
            content: '';
            width: 12px;
            height: 16px;
            background: url(../../images/star.svg) no-repeat center center;
            display: inline-block;
          }
        }
      }
    }

    .form-wrap {
      background: #fff;5
      border-radius: 16px;
      padding: 40px;
    }
  }
}