/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat; /* 2 */
  box-sizing: border-box; /* 1 */
}

/**
   * 1. Add text decoration inheritance in all browsers (opinionated).
   * 2. Add vertical alignment inheritance in all browsers (opinionated).
   */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
   * 1. Use the default cursor in all browsers (opinionated).
   * 2. Change the line height in all browsers (opinionated).
   * 4. Use a 4-space tab width in all browsers (opinionated).
   * 5. Remove the grey highlight on links in iOS (opinionated).
   * 6. Prevent adjustments of font size after orientation changes in iOS.
   */
:where(:root) {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  tab-size: 4; /* 4 */
  -webkit-tap-highlight-color: transparent; /* 5 */
  text-size-adjust: 100%; /* 6 */
}

/* Sections
   * ========================================================================== */
/**
   * Remove the margin in all browsers (opinionated).
   */
:where(body) {
  margin: 0;
}

/**
   * 1. Correct the inheritance of border color in Firefox.
   * 2. Add the correct box sizing in Firefox.
   */
:where(hr) {
  color: inherit; /* 1 */
  height: 0; /* 2 */
}

/**
   * Remove the list style on navigation lists in all browsers (opinionated).
   */
:where(nav) :where(ol, ul) {
  list-style-type: none;
  padding: 0;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   * 3. Prevent overflow of the container in all browsers (opinionated).
   */
:where(pre) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
}

/**
   * Change the fill color to match the text color in all browsers (opinionated).
   */
:where(svg:not([fill])) {
  fill: currentColor;
}

/* Forms
   * ========================================================================== */
/**
   * Correct the inability to style buttons in iOS and Safari.
   */
:where(button, [type=button i], [type=reset i], [type=submit i]) {
  appearance: button;
}

/**
   * 1. Remove the margin in Firefox and Safari.
   * 3. Change the resize direction in all browsers (opinionated).
   */
:where(textarea) {
  margin: 0; /* 1 */
  resize: vertical; /* 3 */
}

/**
   * 1. Correct the odd appearance in Chrome, Edge, and Safari.
   * 2. Correct the outline style in Safari.
   */
:where([type=search i]) {
  appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Safari.
   */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
   * Correct the text style of placeholders in Chrome, Edge, and Safari.
   */
::input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
   * Remove the inner padding in Chrome, Edge, and Safari on macOS.
   */
::-webkit-search-decoration {
  appearance: none;
}

/**
   * 1. Correct the inability to style upload buttons in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
   * Add the correct display in Safari.
   */
:where(details > summary:first-of-type) {
  display: list-item;
}

/* Accessibility
   * ========================================================================== */
/**
   * Change the cursor on busy elements in all browsers (opinionated).
   */
:where([aria-busy=true i]) {
  cursor: progress;
}

/*
   * Change the cursor on disabled, not-editable, or otherwise
   * inoperable elements in all browsers (opinionated).
   */
:where([aria-disabled=true i], [disabled]) {
  cursor: not-allowed;
}

/*
   * Change the display on visually hidden accessible elements
   * in all browsers (opinionated).
   */
:where([aria-hidden=false i][hidden]) {
  display: initial;
}

:where([aria-hidden=false i][hidden]:not(:focus)) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-delay: -1ms !important; /* 1 */
    animation-duration: 1ms !important; /* 1 */
    animation-iteration-count: 1 !important; /* 1 */
    background-attachment: initial !important; /* 2 */
    scroll-behavior: auto !important; /* 3 */
    transition-delay: 0s !important; /* 4 */
    transition-duration: 0s !important; /* 4 */
  }
}
/*------------------------------------------------
# Break Points
------------------------------------------------*/
/*------------------------------------------------
# Base Animations
------------------------------------------------*/
/*------------------------------------------------
# CSS Clamp Function
------------------------------------------------*/
/*------------------------------------------------
# Spacings
------------------------------------------------*/
/*------------------------------------------------
# Fonts / Families / Fallbacks
------------------------------------------------*/
/*------------------------------------------------
# Sizes / Spacings
------------------------------------------------*/
.lg-text {
  font-size: 2.4rem;
}

.light-text {
  font-weight: 300;
}

.bold-text {
  font-weight: 700;
}

.italic {
  font-style: italic;
}

/*------------------------------------------------
# Base Styles
------------------------------------------------*/
html,
*,
*::before,
*::after {
  /* autoprefixer: ignore next */
  box-sizing: border-box;
}

img {
  /* autoprefixer: ignore next */
  box-sizing: content-box;
  max-width: 100%;
}

:root {
  font-size: 62.5%;
}

body {
  color: #696A6A;
  font-family: open-sans-condensed, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.8rem;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  text-rendering: geometricPrecision;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #696A6A;
  font-family: azo-sans-web, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
  margin-bottom: 1.2rem;
  margin-top: 1.2rem;
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

h1 {
  font-size: 40px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0;
}

b,
strong {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

p {
  margin-bottom: 1.6rem;
  margin-top: 1.6rem;
}

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

a {
  color: #4468B1;
  text-decoration: underline;
  text-decoration-color: #4468B1;
  text-underline-offset: 0.6rem;
  transition: all 150ms;
}
a:has(> button) {
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(53.8448979592, 82.3510204082, 140.1551020408);
  text-decoration-color: rgb(53.8448979592, 82.3510204082, 140.1551020408);
}

.site {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.container {
  margin: 0 auto;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  padding-bottom: 6.4rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 6.4rem;
}

@media only screen and (min-width: 1170px) {
  .hide-on-desktop {
    display: none !important;
  }
}

@media only screen and (max-width: 768px) {
  .hide-on-mobile {
    display: none !important;
  }
}

@media only screen and (max-width: 768px) {
  .hide-on-mobile-nav-view {
    display: none !important;
  }
}

@media only screen and (min-width: 1170px) {
  .hide-on-desktop-nav-view {
    display: none !important;
  }
}

.hide-completely {
  display: none !important;
}

@media print {
  .site-header,
  .site-footer,
  .side-nav {
    display: none;
  }
  * {
    color: #222 !important;
  }
}
.srt {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Button */
/* Rectangle 18 */
/* One Chattanooga Plan */
.button, .btn, .wp-block-button__link, .wpforms-submit {
  appearance: none;
  background: linear-gradient(to right, #C720B3, #7146BC);
  border: none;
  border-radius: 3rem;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.125);
  color: #fff;
  cursor: pointer;
  display: block;
  font-family: open-sans-condensed, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.39;
  margin: 0 auto;
  overflow: hidden;
  padding: 1.2rem 3.6rem;
  position: relative;
  text-decoration: none;
  text-overflow: ellipsis;
  transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  white-space: nowrap;
  width: auto;
}
.button.focus, .button:hover, .button:focus, .btn.focus, .btn:hover, .btn:focus, .wp-block-button__link.focus, .wp-block-button__link:hover, .wp-block-button__link:focus, .wpforms-submit.focus, .wpforms-submit:hover, .wpforms-submit:focus {
  background: linear-gradient(to left, #C720B3, #7146BC);
  color: #fff;
  box-shadow: none;
}

.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

/* ==========================================
Single-colored icons can be modified like so:
.icon-name {
  font-size: 32px;
  color: red;
}
========================================== */
.icon-chattlib-logo-v2 {
  width: 4.4306640625em;
}

.icon-chattlib-bug {
  width: 1.048828125em;
}

.icon-chattlib-logo {
  width: 4.4306640625em;
}

.icon-facebook {
  width: 1.0712890625em;
}

.icon-instagram {
  width: 1.0712890625em;
}

.icon-tiktok {
  width: 1.0712890625em;
}

.icon-youtube {
  width: 1.0712890625em;
}

/* Nav Toggle */
.nav-stuck {
  position: fixed;
  top: -100px;
  left: 0;
  width: 100%;
  padding: 1rem 2rem;
  z-index: 9999;
  border-bottom: none;
  transition: top 0.3s ease-in-out;
}

.nav-toggle {
  padding: 22px 0 14px;
  display: inline-block;
  position: relative;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.4s;
  transition-timing-function: ease;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  z-index: 9999;
  filter: brightness(100%);
}
.nav-toggle:hover {
  filter: grayscale(0) brightness(100%);
}

.nav-active {
  overflow: hidden;
}

.nav-toggle.is-active:hover .nav-toggle-inner,
.nav-toggle.is-active:hover .nav-toggle-inner::before,
.nav-toggle.is-active:hover .nav-toggle-inner::after {
  background-color: rgb(229.5, 229.5, 229.5);
}

.nav-toggle-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.nav-toggle-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.nav-toggle-inner, .nav-toggle-inner::before, .nav-toggle-inner::after {
  width: 40px;
  height: 4px;
  background-color: #fff;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.nav-toggle-inner::before, .nav-toggle-inner::after {
  content: "";
  display: block;
}

.nav-toggle-inner::before {
  top: -10px;
}

.nav-toggle-inner::after {
  bottom: -10px;
}

.nav-toggle .nav-toggle-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.nav-toggle .nav-toggle-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.nav-toggle .nav-toggle-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.nav-toggle.is-active .nav-toggle-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.nav-toggle.is-active .nav-toggle-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.nav-toggle.is-active .nav-toggle-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* Nav Primary / Site Branding */
.nav-primary {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media only screen and (min-width: 768px) {
  .nav-primary {
    padding-bottom: 1rem;
  }
}

.site-branding svg {
  font-size: 4rem;
  color: #fff;
  transition: all 150ms cubic-bezier(0.19, 1, 0.22, 1);
}
.site-branding svg:hover {
  color: rgb(229.5, 229.5, 229.5);
}
@media only screen and (min-width: 768px) {
  .site-branding svg {
    font-size: 6rem;
  }
}

/* Menu Container */
.menu-container {
  background-color: #222;
  position: fixed;
  inset: 0;
  padding: 1.5rem 0 1.5rem;
  opacity: 0;
  display: none;
  transition: transform 200ms ease-in-out;
  padding: 0 8rem;
  z-index: 999999;
}
.menu-container ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-family: azo-sans-web, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 700;
  font-size: 3rem;
}
.menu-container a {
  color: #fff;
  text-decoration: none;
  position: relative;
  padding-bottom: 0.25rem;
  transition: color 300ms ease-in;
}
.menu-container a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: rgb(229.5, 229.5, 229.5);
  opacity: 0;
  transition: opacity 300ms, transform 300ms;
}
.menu-container a:hover, .menu-container a:active {
  color: rgb(229.5, 229.5, 229.5);
}
.menu-container li a:after {
  opacity: 1;
  transform: scaleX(0);
  transform-origin: center;
}
.menu-container li a:hover::after, .menu-container li a:focus::after {
  transform: scaleX(1);
}
@media only screen and (min-width: 768px) {
  .menu-container ul {
    font-size: 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .menu-container ul {
    font-size: 6rem;
  }
}

.menu-items {
  z-index: 99999;
}

.nav-bg-white {
  background-image: none;
}

.nav-bg-purple {
  background-image: linear-gradient(#C720B3, #7146BC);
}

.nav-bg-blue {
  background-image: linear-gradient(#14C0CE, #3A8CC4);
}

.introduction-link-bg, .vision-link-bg, .focus-link-bg, .conclusion-link-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s linear;
  will-change: opacity;
  background-position: bottom center;
  background-repeat: no-repeat;
}

.icon-chattlib-logo-v2 {
  opacity: 0;
  position: fixed;
  z-index: 99999;
  left: 2rem;
}
.icon-chattlib-logo-v2 .show {
  opacity: 1;
}
@media only screen and (min-width: 1170px) {
  .icon-chattlib-logo-v2 {
    left: 4rem;
  }
}

.introduction-link-bg {
  background-image: url(/img/nav-bg-intro.jpg);
  background-size: cover;
  z-index: 5;
}

.vision-link-bg {
  background-image: url(/img/nav-bg-vision.jpg);
  background-size: cover;
  z-index: 6;
}

.focus-link-bg {
  background-image: url(/img/nav-bg-focus.jpg);
  background-size: cover;
  z-index: 7;
}

.conclusion-link-bg {
  background-image: url(/img/nav-bg-conclusion.jpg);
  background-size: cover;
  z-index: 8;
}

.bg-hidden {
  opacity: 0;
}

.bg-active {
  opacity: 1;
}

.fade-in {
  z-index: 9998;
  overflow: hidden;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.site-title {
  position: relative;
  z-index: 99999;
}

.site-header {
  background: url(/img/header-bg.jpg), #7354A3 no-repeat right top;
  background-size: cover;
  position: relative;
  padding: 2rem 2rem 8rem;
}
.site-header {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  grid-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .site-header {
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.5rem;
  }
}
.site-header h1, .site-header h2 {
  color: white;
}
@media only screen and (min-width: 768px) {
  .site-header {
    padding: 4rem 4rem 12rem;
  }
}
@media only screen and (min-width: 1170px) {
  .site-header {
    padding: 6rem 4rem 36rem;
  }
}

.page-header-copy {
  grid-column: 1/-1;
  padding: 12rem 0 2rem;
}
.page-header-copy h1 {
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 1.25rem;
}
.page-header-copy img {
  border-top: 1px solid #fff;
  padding-top: 1.5rem;
  max-width: 100%;
  width: 320px;
}
@media only screen and (min-width: 768px) {
  .page-header-copy {
    grid-column: 1/6;
    padding: 4rem 0;
  }
}
@media only screen and (min-width: 1170px) {
  .page-header-copy {
    grid-column: 2/8;
    padding: 4rem 0;
  }
  .page-header-copy h1 {
    font-size: 2.4rem;
    margin: 6rem 0 0;
  }
  .page-header-copy img {
    width: 480px;
  }
}

footer {
  padding: 12rem 1rem 6rem;
  text-align: center;
}
footer img {
  max-width: 720px;
  margin: 0 auto;
}
footer p {
  margin: 4rem auto;
  max-width: 640px;
}

.social-links {
  padding-left: 0;
  margin: 3.6rem 0;
}
.social-links li {
  display: inline;
  margin-right: 1.6rem;
}
.social-links li:last-child {
  margin-right: 0;
}
.social-links a {
  color: #696A6A;
}
.social-links a:hover {
  color: #20BECC;
}

.section-intro {
  padding: 60rem 0 40rem;
  position: relative;
  transition: all 150ms ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.section-intro h2 {
  font-family: league-gothic, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  text-transform: uppercase;
  font-size: 6rem;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.3rem;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
}
@media only screen and (min-width: 1170px) {
  .section-intro {
    padding: 100rem 0 60rem;
  }
  .section-intro h2 {
    font-size: 14rem;
  }
}

.torn-edge-top {
  padding-top: 12rem;
}
.torn-edge-top:before {
  top: 0px; /* Adjust for desired overlap */
  background-image: url("/img/vision-paper-border-top.png");
}

.torn-edge-bottom {
  padding-bottom: 12rem;
}
.torn-edge-bottom:after {
  bottom: 0px; /* Adjust for desired overlap */
  background-image: url("/img/vision-paper-border-bottom.png");
}
@media only screen and (min-width: 768px) {
  .torn-edge-bottom {
    padding-bottom: 24rem;
  }
}

.torn-edge-top:before, .torn-edge-bottom:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 4.6rem;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .torn-edge-top:before, .torn-edge-bottom:after {
    height: 9.3rem;
  }
}
@media only screen and (min-width: 1170px) {
  .torn-edge-top:before, .torn-edge-bottom:after {
    height: 18.6rem;
  }
}

.intro-nav-list {
  list-style-type: none;
  padding-left: 0;
  margin-left: 0;
  text-align: center;
}
.intro-nav-list li {
  display: inline;
  font-size: 1.25rem;
  border-right: 1px solid #B33F97;
  padding: 0 1rem;
}
.intro-nav-list li:last-child {
  border-right: none;
}
.intro-nav-list a {
  color: #696A6A;
  text-decoration: none;
  position: relative;
  padding-bottom: 0.25rem;
  transition: color 300ms ease-in;
}
.intro-nav-list a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: #B33F97;
  opacity: 0;
  transition: opacity 300ms, transform 300ms;
}
.intro-nav-list a:hover, .intro-nav-list a:active {
  color: #696A6A;
}
.intro-nav-list li a:after {
  opacity: 1;
  transform: scaleX(0);
  transform-origin: center;
}
.intro-nav-list li a:hover::after, .intro-nav-list li a:focus::after {
  transform: scaleX(1);
}
@media only screen and (min-width: 768px) {
  .intro-nav-list li {
    font-size: 2rem;
  }
}

.introduction-section-intro h2 {
  background-image: linear-gradient(to bottom, #C720B3, #7146BC);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.introduction-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  grid-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .introduction-content {
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.5rem;
  }
}
.introduction-content {
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .introduction-content {
    padding: 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .introduction-content {
    padding: 6rem 4rem;
  }
}
.introduction-content p, .introduction-content h3, .introduction-content ul, .introduction-content a {
  grid-column: 1/-1;
}
.introduction-content h3 {
  font-weight: 900;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .introduction-content p, .introduction-content h3, .introduction-content ul, .introduction-content a {
    grid-column: 2/12;
  }
}
@media only screen and (min-width: 1170px) {
  .introduction-content h3 {
    max-width: 620px;
    margin: 4rem auto;
  }
}

.intro-2-col {
  grid-column: 1/-1;
}
@media only screen and (min-width: 768px) {
  .intro-2-col {
    grid-column: span 6;
    padding: 0 1rem;
  }
}
@media only screen and (min-width: 1170px) {
  .intro-2-col {
    padding: 0 2rem;
  }
}

.pov-p, .pov-ul {
  grid-column: 1/-1;
}
@media only screen and (min-width: 768px) {
  .pov-p, .pov-ul {
    grid-column: span 6;
  }
}

@media only screen and (min-width: 1170px) {
  .pov-p {
    grid-column: 2/8;
  }
  .pov-ul {
    grid-column: 8/12;
  }
}
.our-point-of-view {
  grid-column: 1/-1;
  border-radius: 2rem;
  overflow: hidden;
  background-clip: border-box;
  text-align: center;
}
.our-point-of-view img {
  width: 100%;
  border-radius: 2rem;
  margin: 2rem 0;
}
.our-point-of-view h3 {
  font-weight: 900;
}
@media only screen and (min-width: 768px) {
  .our-point-of-view {
    background: url(/img/our-point-of-view.jpg) no-repeat center center;
    background-size: cover;
    padding: 4rem 2rem;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    margin: 4rem 0;
  }
  .our-point-of-view h3, .our-point-of-view p {
    color: #fff;
  }
  .our-point-of-view img {
    display: none;
    visibility: hidden;
  }
}
@media only screen and (min-width: 1170px) {
  .our-point-of-view {
    min-height: 620px;
    margin: 8rem 0;
  }
  .our-point-of-view h3, .our-point-of-view p {
    max-width: 80%;
  }
  .our-point-of-view h3 {
    font-size: 3.6rem;
  }
  .our-point-of-view p {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 1400px) {
  .our-point-of-view {
    grid-column: 2/12;
  }
}

.vision-container {
  background: linear-gradient(to bottom, #C9D438, #4E9A36);
  position: relative;
}

.vision-section-intro {
  grid-column: 1/-1;
}
.vision-section-intro h2 {
  color: #fff;
}

.vision-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  grid-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .vision-content {
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.5rem;
  }
}
.vision-content {
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .vision-content {
    padding: 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .vision-content {
    padding: 6rem 4rem;
  }
}

.our-vision, .our-mission {
  grid-column: 1/-1;
  min-height: 320px;
  z-index: 1;
  position: relative;
  background: linear-gradient(to bottom, #C9D438, #4E9A36);
  display: flex;
  flex-direction: column;
  border-radius: 2rem;
  justify-content: flex-end;
}
@media only screen and (min-width: 768px) {
  .our-vision, .our-mission {
    min-height: 540px;
    justify-content: center;
    padding: 0 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .our-vision, .our-mission {
    min-height: 640px;
  }
}
@media only screen and (min-width: 1400px) {
  .our-vision, .our-mission {
    grid-column: 2/12;
    min-height: 740px;
  }
}

.our-vision-copy, .our-mission-copy {
  padding: 1rem;
}
.our-vision-copy h4, .our-vision-copy p, .our-mission-copy h4, .our-mission-copy p {
  color: #fff;
}
.our-vision-copy h4, .our-mission-copy h4 {
  font-family: azo-sans-web, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  border-bottom: 1px solid #fff;
  padding-bottom: 1.2rem;
  font-weight: 300;
}
.our-vision-copy p, .our-mission-copy p {
  margin-top: 1.2rem;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .our-vision-copy h4, .our-mission-copy h4 {
    font-size: 2.4rem;
  }
  .our-vision-copy p, .our-mission-copy p {
    font-size: 4.8rem;
  }
}
@media only screen and (min-width: 1170px) {
  .our-vision-copy p, .our-mission-copy p {
    font-size: 6.4rem;
  }
}

.our-vision-copy:after {
  content: "";
  border-radius: 2rem;
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  z-index: -1;
  background: url("/img/our-vision.jpg") no-repeat center center;
  background-size: cover;
  mix-blend-mode: multiply;
}

.our-mission-copy:after {
  content: "";
  border-radius: 2rem;
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  z-index: -1;
  background: url("/img/our-mission.jpg") no-repeat center center;
  background-size: cover;
  mix-blend-mode: multiply;
}

.focus {
  position: relative;
}

.focus-section-intro {
  width: 100%;
}
.focus-section-intro h2 {
  background-image: linear-gradient(to bottom, #14C0CE, #3A8CC4);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media only screen and (min-width: 1170px) {
  .focus-container {
    display: flex;
    flex-direction: row;
    overflow: auto;
    flex: 1;
  }
}

@media only screen and (min-width: 1170px) {
  .focus-area-nav-container {
    flex: 0 0 20%;
    position: relative;
  }
}

.focus-areas {
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .focus-areas {
    padding: 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .focus-areas {
    padding: 6rem 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .focus-areas {
    flex: 1 1 auto;
  }
}

.focus-area-nav {
  text-align: center;
  padding: 4rem 1rem 0;
}
@media only screen and (min-width: 1170px) {
  .focus-area-nav {
    text-align: left;
    padding: 4rem 2rem 0;
    margin-top: 8rem;
  }
}
@media only screen and (min-width: 1400px) {
  .focus-area-nav {
    padding: 4rem;
  }
}

@media only screen and (min-width: 1170px) {
  .stuck {
    position: fixed;
    top: 0;
    z-index: 900;
    width: 20%;
    padding: 4rem 2rem 0;
  }
}
@media only screen and (min-width: 1400px) {
  .stuck {
    padding: 4rem;
  }
}

.lg-focus-header {
  display: none;
  visibility: hidden;
}
@media only screen and (min-width: 1170px) {
  .lg-focus-header {
    display: block;
    visibility: visible;
    position: relative;
  }
}

.lg-focus-title {
  opacity: 0;
  position: absolute;
  transition: opacity 150ms ease-in-out;
  width: 100%;
}

.lg-focus-number {
  font-family: league-gothic, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 18.6rem;
  background-image: linear-gradient(to bottom, #14C0CE, #3A8CC4);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin: 0;
}
@media only screen and (min-width: 1400px) {
  .lg-focus-number {
    font-size: 28rem;
  }
}

.focus-number {
  font-family: league-gothic, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 18.6rem;
  background-image: linear-gradient(to bottom, #14C0CE, #3A8CC4);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin: 0 1rem 0;
}

.focus-area {
  margin: 8rem 0;
}
.focus-area img {
  max-width: 100%;
  border-radius: 2rem;
}
.focus-area > img {
  margin: 2rem 0;
}
@media only screen and (min-width: 1170px) {
  .focus-area {
    margin-top: 0;
    position: relative;
  }
}

.focus-area-header {
  display: flex;
  flex-direction: row;
  align-items: last baseline;
  margin: 2rem 0;
}
.focus-area-header div {
  display: inline-block;
}
.focus-area-header h2 {
  font-size: 2.4rem;
  line-height: 1.2;
  margin-bottom: 0;
}
@media only screen and (min-width: 1170px) {
  .focus-area-header {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
}

.focus-img-row {
  margin: 4rem 0;
}
@media only screen and (min-width: 768px) {
  .focus-img-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 2.4rem;
  }
  .focus-img-row div {
    line-height: 0.5;
  }
  .focus-img-row img {
    width: 100%;
    height: auto;
  }
}

.focus-area-header-img {
  margin-bottom: 4rem;
}

.whats-next {
  margin: 4rem 0;
  background-image: linear-gradient(to left, #14C0CE, #3A8CC4);
  padding: 1.2rem;
  color: #fff;
  border-radius: 2rem;
  font-weight: 900;
}

.focus-bullets {
  padding-left: 0;
  list-style-position: inside;
}
.focus-bullets li {
  margin-left: 0;
  font-weight: 900;
  border-bottom: 1px solid #20BECC;
  font-size: 1.8rem;
  padding-bottom: 1.6rem;
  margin-bottom: 1.4rem;
}
.focus-bullets li::marker {
  color: #20BECC;
  font-size: 2.4rem;
}
.focus-bullets li:last-child {
  border-bottom: none;
}

.dotstyle ul {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 99;
  cursor: default;
}

.dotstyle li {
  position: relative;
  display: block;
  float: left;
  margin: 0 10px;
  width: 16px;
  height: 16px;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .dotstyle li:first-child {
    margin-left: 0;
  }
  .dotstyle li:last-child {
    margin-right: 0;
  }
}
@media only screen and (min-width: 1400px) {
  .dotstyle li {
    margin: 12.5px;
  }
}

.dotstyle li a {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  outline: none;
  border-radius: 50%;
  background-color: #fff;
  background-color: #4468b1;
  text-indent: -999em;
  cursor: pointer; /* make the text accessible to screen readers */
  position: absolute;
}

/* Fill up */
.dotstyle-fillup li a {
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0);
  box-shadow: inset 0 0 0 2px #4468b1;
  transition: background 0.3s;
}

.dotstyle-fillup li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to left, #14C0CE, #3A8CC4);
  box-shadow: 0 0 1px #696A6A;
  transition: height 0.3s;
}

.dotstyle-fillup li a:hover,
.dotstyle-fillup li a:focus {
  background: linear-gradient(to left, #14C0CE, #3A8CC4);
  box-shadow: none;
}

.dotstyle-fillup li.current a::after {
  height: 100%;
}

.conclusion {
  background-image: linear-gradient(to bottom, #FFBF25, #CD613A);
  position: relative;
}
.conclusion h3 {
  font-size: 3.6rem;
}

.conclusion-section-intro {
  padding: 100rem 0 100rem;
}
.conclusion-section-intro h2 {
  color: #fff;
}
.conclusion-section-intro h2 span {
  display: block;
  margin-top: 4.2rem;
}
@media only screen and (min-width: 1170px) {
  .conclusion-section-intro {
    padding: 120vh 0 60vh;
  }
}

.conclusion-title {
  position: relative;
}
.conclusion-title svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  width: 95%;
}

.section-intro .conclusion-title {
  top: 35%;
}
@media only screen and (min-width: 1170px) {
  .section-intro .conclusion-title {
    top: 35%;
  }
}

.secret-focus {
  margin-top: 10rem;
  transition: opacity 150ms ease-in-out;
  opacity: 0;
}

.scribble {
  stroke-dasharray: 1200; /* Adjust based on your path length */
  stroke-dashoffset: 1200; /* Same as stroke-dasharray */
  animation: drawScribble 1s forwards ease-in-out; /* 2 seconds duration, stays at end state */
}

@keyframes drawScribble {
  to {
    stroke-dashoffset: 0;
  }
}
.conclusion-banners {
  position: relative;
  overflow: hidden;
}

.c-banner-1, .c-banner-2 {
  width: 130%;
  max-width: 130%;
  margin-left: -13%;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .c-banner-1, .c-banner-2 {
    margin-left: 0;
    position: relative;
  }
}

.conclusion-content-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  grid-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .conclusion-content-container {
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.5rem;
  }
}
.conclusion-content-container {
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .conclusion-content-container {
    padding: 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .conclusion-content-container {
    padding: 6rem 4rem;
  }
}

.conclusion-content {
  background: #fff;
  border-radius: 2rem;
  text-align: center;
  grid-column: 1/-1;
}
.conclusion-content {
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .conclusion-content {
    padding: 4rem;
  }
}
@media only screen and (min-width: 1170px) {
  .conclusion-content {
    padding: 6rem 4rem;
  }
}
.conclusion-content h3 {
  margin: 4rem 0;
}
@media only screen and (min-width: 768px) {
  .conclusion-content {
    grid-column: 3/11;
  }
}
@media only screen and (min-width: 1170px) {
  .conclusion-content {
    padding: 8rem;
  }
}

.conclusion-focus-number {
  font-family: league-gothic, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 18.6rem;
  background-image: linear-gradient(to bottom, #FFBF25, #CD613A);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin: 0 1rem 0;
}
@media only screen and (min-width: 768px) {
  .conclusion-focus-number {
    font-size: 36rem;
  }
}

.hide {
  opacity: 0;
}
@media only screen and (min-width: 1170px) {
  .hide {
    opacity: 0;
  }
}

.show {
  visibility: visible;
  opacity: 1;
}
.show-secret-focus {
  opacity: 1;
}
