/* Vision page refinements built on Bulma's existing components and modifiers. */
body.has-navbar-fixed-top {
  --page-ink: #182734;
  --page-muted: #4b5b65;
  --page-teal: #0d5961;
  --page-pale: #e8f3ee;
  --page-line: #dbe5e4;
  color: var(--page-ink);
}

body.has-navbar-fixed-top > section.hero.is-light {
  background: #fff;
}

body.has-navbar-fixed-top > header.hero.is-light {
  background: linear-gradient(115deg, #ffedaa 0%, #fff3cc 100%);
  color: var(--page-ink);
}

body.has-navbar-fixed-top > header.hero .hero-body {
  background: transparent;
  padding: 3.75rem 1.5rem;
}

body.has-navbar-fixed-top .container.is-max-widescreen {
  max-width: 1152px;
}

body.has-navbar-fixed-top .hero-body .title.is-1 {
  color: var(--page-ink);
  font-size: clamp(2.2rem, 3.8vw, 3.4rem);
  letter-spacing: -0.035em;
  line-height: 1.06;
  margin: 0.5rem 0 1rem;
  max-width: 580px;
}

body.has-navbar-fixed-top .hero-body .subtitle.is-4 {
  color: var(--page-muted) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.6;
  max-width: 580px;
}

body.has-navbar-fixed-top .hero-body .title.is-1 + .subtitle.is-4 {
  margin-top: 1.5rem;
}

body.has-navbar-fixed-top .hero-body .is-uppercase {
  color: var(--page-teal) !important;
  letter-spacing: 0.08em;
}

body.has-navbar-fixed-top .section > .container > .is-uppercase,
body.has-navbar-fixed-top .section .column > .is-uppercase {
  color: var(--page-teal) !important;
  letter-spacing: 0.08em;
}

body.has-navbar-fixed-top .hero-body .buttons {
  gap: 0.85rem;
  margin-top: 1.75rem;
}

body.has-navbar-fixed-top .hero-body .columns > .column:only-child {
  margin-left: 0;
  margin-right: auto;
  max-width: 800px;
}

body.has-navbar-fixed-top .hero-body .button {
  font-weight: 600;
  min-height: 3rem;
  padding: 0.7rem 1.25rem;
}

body.has-navbar-fixed-top .hero-body .button.is-light {
  background: #fff;
  border: 1px solid var(--page-line);
  color: var(--page-ink);
}

body.has-navbar-fixed-top .hero-body .button.is-light:hover {
  background: #f2f5f4;
}

body.has-navbar-fixed-top main > .section {
  padding: 4.5rem 1.5rem;
}

body.has-navbar-fixed-top main > .section.has-background-info-light {
  background: var(--page-pale) !important;
}

body.has-navbar-fixed-top main > .section.has-background-dark {
  background: #18313b !important;
}

body.has-navbar-fixed-top main .title.is-2 {
  color: var(--page-ink);
  font-size: clamp(1.85rem, 3vw, 2.6rem);
  letter-spacing: -0.025em;
  line-height: 1.2;
}

body.has-navbar-fixed-top main .title.is-4 {
  color: var(--page-ink);
  font-size: 1.25rem;
  line-height: 1.3;
}

body.has-navbar-fixed-top main p:not(.is-uppercase) {
  color: var(--page-muted);
  line-height: 1.7;
}

body.has-navbar-fixed-top main .title.is-2.has-text-white,
body.has-navbar-fixed-top main .has-background-dark p {
  color: #fff !important;
}

body.has-navbar-fixed-top main a:not(.button) {
  color: #075c69;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

body.has-navbar-fixed-top main a:not(.button):hover {
  color: #073b44;
}

body.has-navbar-fixed-top main .box {
  border: 1px solid var(--page-line);
  border-radius: 0.75rem;
  box-shadow: 0 12px 28px rgba(24, 39, 52, 0.07);
}

body.has-navbar-fixed-top figure.box {
  background: #fff;
  border: 1px solid var(--page-line);
  border-radius: 0.75rem;
  box-shadow: 0 12px 28px rgba(24, 39, 52, 0.08);
  overflow: hidden;
  padding: 0;
}

body.has-navbar-fixed-top figure img,
body.has-navbar-fixed-top figure video {
  aspect-ratio: 16 / 9;
  background: #f5f8f7;
  display: block;
  object-fit: fill;
  width: 100%;
}

body.has-navbar-fixed-top figcaption {
  background: #f2f5f4;
  border-top: 1px solid #c6d3d1;
  color: #182734 !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  line-height: 1.45;
  padding: 0.75rem 1rem;
}

body.has-navbar-fixed-top main .notification.is-warning.is-light {
  border: 1px solid #f0df9a;
}

body.has-navbar-fixed-top main > .section.has-background-info-light .columns.is-multiline > .column > .box {
  border-top: 3px solid #79b5a0;
  box-shadow: 0 10px 24px rgba(24, 39, 52, 0.06);
}

body.has-navbar-fixed-top > .footer {
  background: #10242d;
  color: #dce9e7;
  padding: 3rem 1.5rem;
}

body.has-navbar-fixed-top > .footer a {
  color: #fff;
}

@media screen and (max-width: 768px) {
  body.has-navbar-fixed-top .hero-body {
    padding: 3rem 1.25rem;
  }

  body.has-navbar-fixed-top .container.is-max-widescreen {
    width: 100%;
  }

  body.has-navbar-fixed-top .hero-body .column.is-10,
  body.has-navbar-fixed-top main .columns.is-multiline > .column.is-one-third {
    width: 100%;
  }

  body.has-navbar-fixed-top .hero-body .columns {
    display: flex;
    flex-direction: column;
  }

  body.has-navbar-fixed-top .hero-body .title.is-1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
    line-height: 1.12;
  }

  body.has-navbar-fixed-top .hero-body .subtitle.is-4 {
    font-size: 1.1rem;
  }

  body.has-navbar-fixed-top main > .section {
    padding: 3rem 1.25rem;
  }

  body.has-navbar-fixed-top main .title.is-2 {
    font-size: clamp(1.65rem, 7vw, 2rem);
  }
}
