*,
::before,
::after {
  box-sizing: border-box
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  background: #fff;
  color: #1e2a28
}

.page_cap {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 40px
}

.top_bar {
  background: #007567;
  padding: 8px 0
}

.top_bar_pod {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px
}

.top_contact_item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #FFFEEE;
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
  transition: color .15s ease-out
}

.top_contact_item:hover {
  color: #fff
}

.top_contact_item svg {
  flex-shrink: 0
}

.top_divider {
  width: 1px;
  height: 16px;
  background: #fffeee4d
}

.site_header {
  background: #FFFEEE;
  position: relative;
  border-bottom: 1px solid #0075671f;
  box-shadow: 0 7px 28px -1px #00756717
}

.header_main_deck {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: stretch;
  gap: 40px;
  min-height: 88px
}

.logo_cell {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 16px 0
}

.logo_pod {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #00756712;
  border: 1px solid #0075672e;
  border-radius: 1px;
  padding: 8px;
  box-shadow: 0 2px 3px -1px #0075670f;
  text-decoration: none
}

.logo_pod img {
  width: 55px;
  height: 55px;
  object-fit: contain;
  display: block
}

.proof_cell {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: auto;
  padding: 16px 0
}

.proof_badge {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px
}

.proof_num {
  font-size: 24px;
  font-weight: 700;
  color: #F3595B;
  line-height: 1.2;
  letter-spacing: -.5px
}

.proof_label {
  font-size: 15px;
  color: #007567;
  line-height: 1.4
}

.nav_cell {
  display: flex;
  align-items: center;
  flex: 1
}

.primary_nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%
}

.primary_nav>li {
  position: relative
}

.nav_link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 16px;
  font-weight: 700;
  color: #1e2a28;
  text-decoration: none;
  border-radius: 1px;
  line-height: 1.4;
  min-height: 44px;
  transition: color .12s ease-out, background .15s ease-out;
  white-space: nowrap
}

.nav_link:hover,
.nav_link:focus {
  color: #007567;
  background: #00756712;
  outline: none
}

.nav_link[aria-current="page"] {
  color: #F3595B
}

.nav_has_sub>.nav_link::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .12s ease-out
}

.nav_has_sub:hover>.nav_link::after,
.nav_has_sub:focus-within>.nav_link::after {
  transform: rotate(-135deg) translateY(-2px)
}

.sub_nav_deck {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  background: #fff;
  border: 1px solid #00756726;
  border-radius: 1px;
  box-shadow: 0 12px 52px -1px #0075671c;
  list-style: none;
  margin: 0;
  padding: 8px 0;
  min-width: 220px;
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .15s ease-out, transform .15s ease-out
}

.nav_has_sub:hover .sub_nav_deck,
.nav_has_sub:focus-within .sub_nav_deck {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0)
}

.sub_nav_deck li {
  margin: 0
}

.sub_nav_link {
  display: block;
  padding: 8px 16px;
  font-size: 15px;
  color: #1e2a28;
  text-decoration: none;
  line-height: 1.4;
  min-height: 44px;
  display: flex;
  align-items: center;
  transition: background .12s ease-out, color .12s ease-out
}

.sub_nav_link:hover,
.sub_nav_link:focus {
  background: #f3595b12;
  color: #F3595B;
  outline: none
}

.site_footer {
  background: #1e2a28;
  position: relative;
  overflow: hidden
}

.footer_texture {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fffeee0a 1px, transparent 1px);
  background-size: 24px 24px
}

.footer_main_deck {
  max-width: 1024px;
  margin: 0 auto;
  padding: 80px 40px 40px;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px
}

.footer_brand_cell {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.footer_logo_pod {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  text-decoration: none
}

.footer_logo_img_wrap {
  background: #fffeee1a;
  border: 1px solid #fffeee33;
  border-radius: 1px;
  padding: 8px;
  box-shadow: 0 2px 3px -1px #f3595b0f
}

.footer_logo_img_wrap img {
  width: 55px;
  height: 55px;
  object-fit: contain;
  display: block
}

.footer_brand_year {
  font-size: 15px;
  color: #fffeee80;
  line-height: 1.4
}

.footer_brand_desc {
  font-size: 15px;
  color: #fffeeea6;
  line-height: 1.6;
  max-width: 280px
}

.footer_contact_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px
}

.footer_contact_link {
  font-size: 15px;
  color: #fffeeeb3;
  text-decoration: none;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color .15s ease-out
}

.footer_contact_link:hover {
  color: #FFFEEE
}

.footer_nav_cell {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.footer_nav_heading {
  font-size: 15px;
  font-weight: 700;
  color: #F3595B;
  letter-spacing: .04em;
  line-height: 1.4;
  text-transform: uppercase;
  padding-bottom: 8px;
  border-bottom: 1px solid #f3595b40
}

.footer_nav_heading_desc {
  font-size: 15px;
  color: #fffeee73;
  line-height: 1.4;
  margin-top: -8px
}

.footer_nav_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.footer_nav_link {
  display: block;
  font-size: 15px;
  color: #fffeeeb3;
  text-decoration: none;
  line-height: 1.6;
  padding: 4px 0;
  transition: color .12s ease-out
}

.footer_nav_link:hover,
.footer_nav_link:focus {
  color: #FFFEEE;
  outline: none
}

.footer_bottom_bar {
  position: relative;
  z-index: 1;
  border-top: 1px solid #fffeee14;
  max-width: 1024px;
  margin: 0 auto;
  padding: 16px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px
}

.footer_copy {
  font-size: 15px;
  color: #fffeee66;
  line-height: 1.4
}

.footer_legal_nav {
  display: flex;
  align-items: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap
}

.footer_legal_link {
  font-size: 15px;
  color: #fffeee73;
  text-decoration: none;
  line-height: 1.4;
  transition: color .12s ease-out
}

.footer_legal_link:hover,
.footer_legal_link:focus {
  color: #fffeeecc;
  outline: none
}

.consent_shelf {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 4000;
  display: none;
  width: 100%;
  max-width: 680px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 16px
}

.consent_box {
  background: #fff;
  border: 1px solid #00756733;
  border-radius: 22px;
  box-shadow: 0 12px 52px -1px #0075671c;
  padding: 16px;
  margin: 0 16px
}

.consent_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap
}

.consent_text {
  font-size: 15px;
  color: #1e2a28;
  line-height: 1.4;
  flex: 1;
  min-width: 200px
}

.consent_text strong {
  display: block;
  font-size: 16px;
  margin-bottom: 4px
}

.consent_actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0
}

.consent_accept_btn {
  background: #007567;
  color: #fff;
  border: none;
  border-radius: 22px;
  padding: 8px 16px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  min-height: 44px;
  transition: background .15s ease-out, box-shadow .15s ease-out;
  font-family: 'Open Sans', sans-serif
}

.consent_accept_btn:hover,
.consent_accept_btn:focus {
  background: #005f53;
  box-shadow: 0 7px 28px -1px #00756717;
  outline: none
}

.consent_decline_link {
  font-size: 15px;
  color: #1e2a288c;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  min-height: 44px;
  font-family: 'Open Sans', sans-serif;
  text-decoration: underline;
  transition: color .12s ease-out
}

.consent_decline_link:hover,
.consent_decline_link:focus {
  color: #1e2a28;
  outline: none
}

.consent_manage_btn {
  font-size: 15px;
  color: #007567;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  min-height: 44px;
  font-family: 'Open Sans', sans-serif;
  text-decoration: underline;
  transition: color .12s ease-out
}

.consent_manage_btn:hover,
.consent_manage_btn:focus {
  color: #005f53;
  outline: none
}

.consent_prefs_area {
  border-top: 1px solid #0075671f;
  margin-top: 16px;
  padding-top: 16px;
  display: none
}

.consent_toggle_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  gap: 16px
}

.consent_toggle_label {
  font-size: 15px;
  color: #1e2a28;
  line-height: 1.4
}

.consent_switch {
  position: relative;
  width: 40px;
  height: 22px;
  flex-shrink: 0
}

.consent_switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute
}

.consent_slider {
  position: absolute;
  inset: 0;
  background: #1e2a2833;
  border-radius: 22px;
  cursor: pointer;
  transition: background .15s ease-out
}

.consent_slider::before {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  left: 3px;
  top: 3px;
  background: #fff;
  border-radius: 50%;
  transition: transform .15s ease-out
}

.consent_switch input:checked+.consent_slider {
  background: #007567
}

.consent_switch input:checked+.consent_slider::before {
  transform: translateX(18px)
}

.consent_switch input:focus+.consent_slider {
  outline: 2px solid #007567;
  outline-offset: 2px
}

.consent_datasale_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  gap: 16px;
  border-top: 1px solid #00756714;
  margin-top: 8px
}

.consent_datasale_label {
  font-size: 15px;
  color: #F3595B;
  font-weight: 700;
  line-height: 1.4
}

.mini_consent_bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3999;
  display: none;
  justify-content: center;
  padding: 0 16px 8px
}

.mini_consent_inner {
  background: #1e2a28eb;
  border-radius: 38px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  gap: 16px
}

.mini_consent_text {
  font-size: 15px;
  color: #fffeeecc;
  line-height: 1.4
}

.mini_open_btn {
  font-size: 15px;
  color: #FFFEEE;
  background: none;
  border: 1px solid #fffeee4d;
  border-radius: 22px;
  padding: 4px 16px;
  cursor: pointer;
  font-family: 'Open Sans', sans-serif;
  transition: background .12s ease-out;
  min-height: 36px
}

.mini_open_btn:hover,
.mini_open_btn:focus {
  background: #fffeee1a;
  outline: none
}

@media (max-width: 900px) {
  .header_main_deck {
    padding: 0 16px;
    gap: 16px
  }

  .footer_main_deck {
    grid-template-columns: 1fr 1fr;
    padding: 40px 16px 16px
  }

  .footer_brand_cell {
    grid-column: 1 / -1
  }

  .top_bar_pod {
    padding: 0 16px
  }

  .footer_bottom_bar {
    padding: 16px
  }

  .page_cap {
    padding: 0 16px
  }
}

@media (max-width: 600px) {
  .proof_badge {
    display: none
  }

  .footer_main_deck {
    grid-template-columns: 1fr
  }

  .footer_brand_cell {
    grid-column: auto
  }

  .header_main_deck {
    min-height: 72px
  }

  .top_bar {
    display: none
  }

  .consent_row {
    flex-direction: column;
    align-items: flex-start
  }

  .consent_actions {
    width: 100%;
    justify-content: flex-end
  }
}

.policy-box {
  max-width: 1024px;
  margin: 0 auto;
  padding: 80px 40px
}

.policy-box h1 {
  font-size: 48px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #111;
  margin-bottom: 40px;
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #F3595B
}

.policy-box h2 {
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #111;
  margin-top: 80px;
  margin-bottom: 16px
}

.policy-box h3 {
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: -.005em;
  color: #111;
  margin-top: 40px;
  margin-bottom: 16px
}

.policy-box h4 {
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0;
  color: #111;
  margin-top: 40px;
  margin-bottom: 8px
}

.policy-box h5 {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #222;
  margin-top: 16px;
  margin-bottom: 8px;
  text-transform: uppercase
}

.policy-box h6 {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .02em;
  color: #444;
  margin-top: 16px;
  margin-bottom: 8px;
  text-transform: uppercase
}

.policy-box p {
  font-size: 16px;
  line-height: 1.9;
  color: #222;
  margin-top: 0;
  margin-bottom: 16px;
  max-width: 72ch
}

.policy-box ul,
.policy-box ol {
  font-size: 16px;
  line-height: 1.9;
  color: #222;
  margin-top: 0;
  margin-bottom: 16px;
  padding-left: 40px;
  max-width: 72ch
}

.policy-box ul {
  list-style-type: disc
}

.policy-box ol {
  list-style-type: decimal
}

.policy-box li {
  margin-bottom: 8px
}

.policy-box li:last-child {
  margin-bottom: 0
}

.policy-box ul ul,
.policy-box ol ol,
.policy-box ul ol,
.policy-box ol ul {
  margin-top: 8px;
  margin-bottom: 0
}

.policy-box strong,
.policy-box b {
  font-weight: 700;
  color: #111
}

.policy-box a {
  color: #007567;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .15s ease-out, text-decoration-color .15s ease-out
}

.policy-box a:hover {
  color: #F3595B;
  text-decoration-color: #F3595B
}

.policy-box a:visited {
  color: #005a50
}

.policy-box hr {
  border: none;
  border-top: 1px solid #ddd;
  margin-top: 40px;
  margin-bottom: 40px
}

@media (max-width: 900px) {
  .policy-box {
    padding: 40px
  }

  .policy-box h1 {
    font-size: 34px
  }

  .policy-box h2 {
    font-size: 24px;
    margin-top: 40px
  }

  .policy-box h3 {
    font-size: 20px
  }
}

@media (max-width: 600px) {
  .policy-box {
    padding: 40px 16px
  }

  .policy-box h1 {
    font-size: 24px
  }

  .policy-box h2 {
    font-size: 20px
  }

  .policy-box h3 {
    font-size: 16px
  }

  .policy-box p,
  .policy-box ul,
  .policy-box ol {
    font-size: 15px
  }

  .policy-box ul,
  .policy-box ol {
    padding-left: 16px
  }
}

.nws_pg {
  max-width: 100%;
  overflow-x: hidden
}

.nws_pg .nws_inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px
}

.nws_pg .top_band {
  background: #FFFEEE;
  padding: 80px 16px 40px
}

.nws_pg .top_band_inner {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px
}

.nws_pg .top_left {
  flex: 1 1 0;
  min-width: 0
}

.nws_pg .top_right {
  flex: 0 0 320px;
  width: 320px;
  position: relative
}

.nws_pg .band_label {
  display: inline-block;
  background: #007567;
  color: #FFFEEE;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: .08em;
  padding: 4px 16px;
  border-radius: 1px;
  margin-bottom: 16px;
  text-transform: uppercase
}

.nws_pg .top_h1 {
  font-size: 48px;
  line-height: 1.2;
  letter-spacing: -.02em;
  font-weight: 900;
  color: #111;
  margin: 0 0 16px
}

.nws_pg .top_h1 .num_accent {
  color: #F3595B;
  font-size: 64px;
  line-height: 1;
  display: block;
  margin-bottom: 8px
}

.nws_pg .top_lead {
  font-size: 20px;
  line-height: 1.6;
  color: #222;
  margin: 0 0 16px
}

.nws_pg .top_desc {
  font-size: 16px;
  line-height: 1.9;
  color: #333;
  margin: 0
}

.nws_pg .img_wrap_hero {
  width: 320px;
  height: 400px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 52px -1px #f3595b1c;
  position: relative
}

.nws_pg .img_wrap_hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .18s ease-out;
  display: block
}

.nws_pg .img_wrap_hero:hover img {
  transform: translateX(-6px) scale(1.03)
}

.nws_pg .geo_outline {
  position: absolute;
  top: -24px;
  right: -24px;
  width: 120px;
  height: 120px;
  border: 2px solid #0075672e;
  border-radius: 38px;
  pointer-events: none;
  animation: geo_breathe 3.6s ease-in-out infinite
}

.nws_pg .geo_outline_sm {
  position: absolute;
  bottom: -16px;
  left: -16px;
  width: 64px;
  height: 64px;
  border: 2px solid #f3595b29;
  border-radius: 22px;
  pointer-events: none;
  animation: geo_breathe 4.2s ease-in-out infinite reverse
}

@keyframes geo_breathe {

  0%,
  100% {
    opacity: .5;
    transform: scale(1)
  }

  50% {
    opacity: 1;
    transform: scale(1.06)
  }
}

.nws_pg .divider_dots {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 0;
  max-width: 1024px;
  margin: 0 auto
}

.nws_pg .dot_row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  justify-content: center
}

.nws_pg .dot_row span {
  width: 4px;
  height: 4px;
  border-radius: 22px;
  background: #007567;
  opacity: .3;
  display: inline-block
}

.nws_pg .articles_area {
  background: #fff;
  padding: 80px 16px
}

.nws_pg .articles_inner {
  max-width: 1024px;
  margin: 0 auto
}

.nws_pg .area_heading {
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: -.01em;
  font-weight: 800;
  color: #111;
  margin: 0 0 8px
}

.nws_pg .area_sub {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
  margin: 0 0 40px
}

.nws_pg .article_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.nws_pg .art_card {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 7px 28px -1px #00756717;
  background: #FFFEEE;
  display: flex;
  flex-direction: column;
  transition: box-shadow .18s ease-out, transform .15s ease-out
}

.nws_pg .art_card:hover {
  box-shadow: 0 12px 52px -1px #0075671c;
  transform: translateY(-4px)
}

.nws_pg .art_img_wrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  flex-shrink: 0
}

.nws_pg .art_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .2s ease-out;
  display: block
}

.nws_pg .art_card:hover .art_img_wrap img {
  transform: translateY(-6px) scale(1.04)
}

.nws_pg .art_body {
  padding: 16px 16px 40px;
  display: flex;
  flex-direction: column;
  flex: 1
}

.nws_pg .art_tag {
  font-size: 15px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #F3595B;
  font-weight: 700;
  margin-bottom: 8px
}

.nws_pg .art_h2 {
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: -.01em;
  font-weight: 800;
  color: #111;
  margin: 0 0 8px
}

.nws_pg .art_excerpt {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin: 0 0 16px;
  flex: 1
}

.nws_pg .art_meta_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-top: auto
}

.nws_pg .art_author_pic {
  width: 40px;
  height: 40px;
  border-radius: 22px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 2px 3px -1px #0075670f
}

.nws_pg .art_author_pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.nws_pg .art_author_name {
  font-size: 15px;
  font-weight: 700;
  color: #222;
  line-height: 1.2
}

.nws_pg .art_read_time {
  font-size: 15px;
  color: #555;
  margin-left: auto
}

.nws_pg .art_card_featured {
  grid-column: 1 / -1;
  flex-direction: row
}

.nws_pg .art_card_featured .art_img_wrap {
  width: 45%;
  aspect-ratio: unset;
  min-height: 280px;
  flex-shrink: 0
}

.nws_pg .art_card_featured .art_body {
  padding: 40px
}

.nws_pg .art_card_featured .art_h2 {
  font-size: 34px;
  line-height: 1.2
}

.nws_pg .art_card_featured .art_excerpt {
  font-size: 20px;
  line-height: 1.6
}

.nws_pg .read_link {
  display: inline-block;
  background: #F3595B;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 1px;
  text-decoration: none;
  margin-top: 16px;
  transition: background .15s ease-out, transform .12s ease;
  background-image: linear-gradient(120deg, #F3595B 60%, #007567 100%);
  background-size: 200% 100%;
  background-position: 0 0
}

.nws_pg .read_link:hover {
  background-position: 100% 0;
  transform: translateY(-2px)
}

.nws_pg .art_card_side {
  flex-direction: row;
  align-items: stretch
}

.nws_pg .art_card_side .art_img_wrap {
  width: 140px;
  aspect-ratio: unset;
  min-height: 160px;
  flex-shrink: 0
}

.nws_pg .art_card_side .art_body {
  padding: 16px
}

.nws_pg .art_card_side .art_h2 {
  font-size: 20px
}

.nws_pg .schedule_block {
  margin-top: 40px;
  border-radius: 22px;
  background: linear-gradient(160deg, #007567 0%, #FFFEEE 100%);
  padding: 40px;
  box-shadow: 0 7px 28px -1px #00756717;
  position: relative;
  overflow: hidden
}

.nws_pg .schedule_block .geo_dec {
  position: absolute;
  top: -30px;
  right: -30px;
  width: 160px;
  height: 160px;
  border: 2px solid #fffeee2e;
  border-radius: 38px;
  pointer-events: none;
  animation: geo_breathe 5s ease-in-out infinite
}

.nws_pg .sch_heading {
  font-size: 24px;
  font-weight: 800;
  color: #FFFEEE;
  line-height: 1.2;
  margin: 0 0 16px;
  letter-spacing: -.01em
}

.nws_pg .sch_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.nws_pg .sch_item {
  background: #fffeee1f;
  border-radius: 22px;
  padding: 16px;
  border: 1px solid #fffeee33
}

.nws_pg .sch_date {
  font-size: 15px;
  color: #FFFEEE;
  font-weight: 700;
  letter-spacing: .06em;
  margin-bottom: 4px;
  text-transform: uppercase
}

.nws_pg .sch_title {
  font-size: 16px;
  color: #FFFEEE;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 4px
}

.nws_pg .sch_detail {
  font-size: 15px;
  color: #fffeeebf;
  line-height: 1.4
}

.nws_pg .quote_accent::before {
  content: '\201C';
  color: #F3595B;
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
  vertical-align: middle;
  margin-right: 4px
}

.nws_pg .quote_accent::after {
  content: '\201D';
  color: #F3595B;
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
  vertical-align: middle;
  margin-left: 4px
}

.nws_pg .clip_reveal {
  clip-path: inset(0 100% 0 0);
  animation: clip_wipe .18s ease-out .1s forwards
}

@keyframes clip_wipe {
  to {
    clip-path: inset(0 0% 0 0)
  }
}

@media (max-width: 900px) {
  .nws_pg .top_band_inner {
    flex-direction: column;
    gap: 40px
  }

  .nws_pg .top_right {
    flex: unset;
    width: 100%
  }

  .nws_pg .img_wrap_hero {
    width: 100%;
    height: 260px
  }

  .nws_pg .article_list {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .nws_pg .art_card_featured {
    flex-direction: column
  }

  .nws_pg .art_card_featured .art_img_wrap {
    width: 100%;
    min-height: 200px
  }

  .nws_pg .art_card_featured .art_body {
    padding: 16px
  }

  .nws_pg .art_card_featured .art_h2 {
    font-size: 24px
  }

  .nws_pg .art_card_featured .art_excerpt {
    font-size: 16px
  }

  .nws_pg .sch_grid {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 600px) {
  .nws_pg .top_h1 {
    font-size: 34px
  }

  .nws_pg .top_h1 .num_accent {
    font-size: 48px
  }

  .nws_pg .area_heading {
    font-size: 24px
  }

  .nws_pg .art_card_side {
    flex-direction: column
  }

  .nws_pg .art_card_side .art_img_wrap {
    width: 100%;
    min-height: 160px;
    aspect-ratio: 16/9
  }

  .nws_pg .sch_grid {
    grid-template-columns: 1fr
  }

  .nws_pg .schedule_block {
    padding: 16px
  }
}

.strt {
  max-width: 100%;
  overflow-x: hidden
}

.strt .pg_wrap {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px
}

.strt .fade_in {
  animation: fadeBlur .6s ease-out both
}

@keyframes fadeBlur {
  from {
    opacity: 0;
    filter: blur(6px)
  }

  to {
    opacity: 1;
    filter: blur(0)
  }
}

.strt .fade_in_2 {
  animation: fadeBlur .6s .15s ease-out both
}

.strt .fade_in_3 {
  animation: fadeBlur .6s .25s ease-out both
}

.strt .div_band {
  height: 4px;
  background: linear-gradient(113deg, #F3595B, #007567);
  width: 100%
}

.strt .div_band_rev {
  height: 4px;
  background: linear-gradient(113deg, #007567, #F3595B);
  width: 100%
}

.strt .t_block {
  padding: 80px 16px;
  background: #FFFEEE;
  position: relative
}

.strt .t_block .pg_wrap {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 40px;
  align-items: center
}

.strt .t_img_left,
.strt .t_img_right {
  position: relative;
  border-radius: 22px;
  overflow: hidden
}

.strt .t_img_left img,
.strt .t_img_right img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  filter: saturate(0.7) brightness(0.92) hue-rotate(0deg);
  border-radius: 22px;
  transition: filter .18s ease-out
}

.strt .t_img_left img:hover,
.strt .t_img_right img:hover {
  filter: saturate(1) brightness(1)
}

.strt .t_center {
  text-align: center;
  position: relative;
  padding: 40px 16px
}

.strt .t_quote_bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 160px;
  line-height: 1.2;
  color: #F3595B;
  opacity: .07;
  font-weight: 900;
  pointer-events: none;
  user-select: none;
  z-index: 0
}

.strt .t_center h1 {
  font-size: 48px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.03em;
  color: #111;
  position: relative;
  z-index: 1;
  margin-bottom: 16px
}

.strt .t_center .t_desc {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  position: relative;
  z-index: 1;
  margin-bottom: 40px
}

.strt .t_actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: center;
  position: relative;
  z-index: 1
}

.strt .btn_prim {
  display: inline-block;
  padding: 16px 40px;
  background: linear-gradient(113deg, #F3595B, #c0393b);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 1px;
  text-decoration: none;
  transition: box-shadow .15s ease-out, transform .15s ease-out;
  box-shadow: 0 2px 3px -1px #f3595b0f 0 7px 28px -1px #f3595b17
}

.strt .btn_prim:hover {
  transform: translateY(-4px);
  box-shadow: 0 7px 28px -1px #f3595b17 0 12px 52px -1px #f3595b1c;
  background: linear-gradient(200deg, #F3595B, #c0393b)
}

.strt .btn_sec {
  display: inline-block;
  padding: 16px 40px;
  background: transparent;
  color: #007567;
  font-size: 15px;
  font-weight: 600;
  border-radius: 1px;
  border: 2px solid #007567;
  text-decoration: none;
  transition: background .12s ease-out, color .12s ease-out
}

.strt .btn_sec:hover {
  background: #007567;
  color: #fff
}

.strt .adapt_sec {
  padding: 80px 16px;
  background: #fff;
  position: relative
}

.strt .adapt_sec::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #F3595B, #007567);
  pointer-events: none
}

.strt .adapt_grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 80px;
  align-items: start
}

.strt .adapt_text h2 {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #111;
  margin-bottom: 16px
}

.strt .adapt_text .lg_p {
  font-size: 20px;
  line-height: 1.6;
  color: #222;
  margin-bottom: 16px
}

.strt .adapt_text p {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 16px
}

.strt .adapt_img_wrap {
  position: relative;
  border-radius: 38px;
  overflow: hidden
}

.strt .adapt_img_wrap img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  border-radius: 38px;
  filter: saturate(0.75) brightness(0.94);
  transition: filter .18s ease-out
}

.strt .adapt_img_wrap:hover img {
  filter: saturate(1) brightness(1)
}

.strt .img_tag {
  position: absolute;
  top: 16px;
  right: 16px;
  background: #F3595B;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 4px 16px;
  border-radius: 1px;
  letter-spacing: .04em
}

.strt .stat_row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-top: 40px
}

.strt .stat_item {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.strt .stat_num {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 800;
  color: #F3595B;
  letter-spacing: -.03em
}

.strt .stat_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #555
}

.strt .method_sec {
  padding: 80px 16px;
  background: #FFFEEE;
  position: relative
}

.strt .method_sec::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #007567, #F3595B);
  pointer-events: none
}

.strt .method_head {
  max-width: 600px;
  margin-bottom: 40px
}

.strt .method_head h2 {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #111;
  margin-bottom: 16px
}

.strt .method_head p {
  font-size: 16px;
  line-height: 1.6;
  color: #444
}

.strt .method_steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.strt .step_card {
  background: #fff;
  border-radius: 22px;
  padding: 40px;
  box-shadow: 0 2px 3px -1px #0075670f 0 7px 28px -1px #00756717;
  position: relative;
  transition: transform .15s ease-out, box-shadow .15s ease-out
}

.strt .step_card:hover {
  transform: translateY(-6px);
  box-shadow: 0 7px 28px -1px #00756717 0 12px 52px -1px #0075671c
}

.strt .step_num {
  font-size: 48px;
  line-height: 1.2;
  font-weight: 900;
  color: #F3595B;
  opacity: .18;
  position: absolute;
  top: 16px;
  right: 16px;
  pointer-events: none
}

.strt .step_card h4 {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  color: #111;
  margin-bottom: 8px
}

.strt .step_card p {
  font-size: 15px;
  line-height: 1.6;
  color: #555
}

.strt .diff_sec {
  padding: 80px 16px;
  background: #007567;
  position: relative
}

.strt .diff_sec .pg_wrap {
  position: relative
}

.strt .diff_inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.strt .diff_text h2 {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #FFFEEE;
  margin-bottom: 16px
}

.strt .diff_text .lg_p {
  font-size: 20px;
  line-height: 1.6;
  color: #fffeeee6;
  margin-bottom: 16px
}

.strt .diff_text p {
  font-size: 15px;
  line-height: 1.6;
  color: #fffeeec7;
  margin-bottom: 16px
}

.strt .diff_points {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 40px
}

.strt .diff_point {
  background: #fffeee1a;
  border-radius: 22px;
  padding: 16px 40px;
  position: relative;
  overflow: hidden;
  transition: background .15s ease-out
}

.strt .diff_point:hover {
  background: #fffeee29
}

.strt .diff_point::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #F3595B;
  border-radius: 1px
}

.strt .diff_point h5 {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  color: #FFFEEE;
  margin-bottom: 4px
}

.strt .diff_point p {
  font-size: 15px;
  line-height: 1.6;
  color: #fffeeebf;
  margin: 0
}

.strt .diff_curl {
  position: absolute;
  bottom: -30px;
  right: -30px;
  width: 120px;
  height: 120px;
  opacity: .06;
  pointer-events: none
}

.strt .ready_sec {
  padding: 80px 16px;
  background: #fff
}

.strt .ready_grid {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 80px;
  align-items: start
}

.strt .ready_img_col {
  position: relative
}

.strt .ready_img_wrap {
  border-radius: 22px;
  overflow: hidden;
  position: relative
}

.strt .ready_img_wrap img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  border-radius: 22px;
  filter: saturate(0.8) brightness(0.9);
  transition: filter .18s ease-out
}

.strt .ready_img_wrap .img_overlay {
  position: absolute;
  inset: 0;
  background: #0000;
  display: flex;
  align-items: flex-end;
  padding: 16px;
  transition: background .18s ease-out;
  border-radius: 22px
}

.strt .ready_img_wrap:hover .img_overlay {
  background: #111111b8
}

.strt .overlay_txt {
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  opacity: 0;
  transition: opacity .18s ease-out
}

.strt .ready_img_wrap:hover .overlay_txt {
  opacity: 1
}

.strt .ready_img_tag {
  position: absolute;
  bottom: -8px;
  left: 16px;
  background: #007567;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 4px 16px;
  border-radius: 1px
}

.strt .ready_text h2 {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #111;
  margin-bottom: 16px
}

.strt .ready_text .lg_p {
  font-size: 20px;
  line-height: 1.6;
  color: #222;
  margin-bottom: 16px
}

.strt .ready_text p {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 16px
}

.strt .ready_items {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px
}

.strt .rq_item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: #FFFEEE;
  border-radius: 22px;
  transition: box-shadow .12s ease-out
}

.strt .rq_item:hover {
  box-shadow: 0 7px 28px -1px #f3595b17
}

.strt .rq_icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.strt .rq_icon svg {
  width: 24px;
  height: 24px
}

.strt .rq_text {
  font-size: 15px;
  line-height: 1.6;
  color: #333
}

.strt .rq_text strong {
  color: #111;
  display: block;
  font-size: 16px;
  margin-bottom: 4px
}

.strt .case_sec {
  padding: 80px 16px;
  background: #FFFEEE;
  position: relative
}

.strt .case_sec::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #F3595B, transparent);
  pointer-events: none
}

.strt .case_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.strt .case_img_wrap {
  border-radius: 38px;
  overflow: hidden;
  position: relative
}

.strt .case_img_wrap img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  border-radius: 38px;
  filter: saturate(0.75) brightness(0.92);
  transition: filter .18s ease-out
}

.strt .case_img_wrap:hover img {
  filter: saturate(1) brightness(1)
}

.strt .case_overlay {
  position: absolute;
  inset: 0;
  background: transparent;
  display: flex;
  align-items: flex-end;
  padding: 16px;
  transition: background .18s ease-out
}

.strt .case_img_wrap:hover .case_overlay {
  background: #111111b3
}

.strt .case_overlay_txt {
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
  opacity: 0;
  transition: opacity .2s ease-out
}

.strt .case_img_wrap:hover .case_overlay_txt {
  opacity: 1
}

.strt .case_tag {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #F3595B;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 4px 16px;
  border-radius: 1px
}

.strt .case_text h2 {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #111;
  margin-bottom: 16px
}

.strt .case_text .lg_p {
  font-size: 20px;
  line-height: 1.6;
  color: #222;
  margin-bottom: 16px
}

.strt .case_text p {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 16px
}

.strt .case_metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 40px
}

.strt .c_metric {
  background: #fff;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 2px 3px -1px #f3595b0f;
  transition: box-shadow .15s ease-out, transform .15s ease-out
}

.strt .c_metric:hover {
  transform: translateY(-3px);
  box-shadow: 0 7px 28px -1px #f3595b17
}

.strt .c_metric_val {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  color: #007567;
  display: block
}

.strt .c_metric_desc {
  font-size: 15px;
  line-height: 1.4;
  color: #555;
  display: block;
  margin-top: 4px
}

.strt .pattern_sec {
  padding: 80px 16px;
  background: #fff;
  position: relative
}

.strt .pattern_sec::before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #007567, transparent);
  pointer-events: none
}

.strt .pattern_head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 40px
}

.strt .pattern_head h2 {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #111;
  margin-bottom: 16px
}

.strt .pattern_head p {
  font-size: 16px;
  line-height: 1.6;
  color: #444
}

.strt .pattern_quotes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.strt .pq_card {
  background: #FFFEEE;
  border-radius: 22px;
  padding: 40px;
  position: relative;
  box-shadow: 0 2px 3px -1px #0075670f;
  transition: box-shadow .15s ease-out, transform .15s ease-out
}

.strt .pq_card:hover {
  transform: translateY(-5px);
  box-shadow: 0 7px 28px -1px #00756717 0 12px 52px -1px #0075671c
}

.strt .pq_accent {
  font-size: 64px;
  line-height: 1;
  font-weight: 900;
  color: #F3595B;
  opacity: .25;
  position: absolute;
  top: 8px;
  left: 16px;
  pointer-events: none
}

.strt .pq_text {
  font-size: 15px;
  line-height: 1.9;
  color: #333;
  position: relative;
  z-index: 1;
  padding-top: 16px;
  margin-bottom: 16px
}

.strt .pq_person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  position: relative;
  z-index: 1
}

.strt .pq_portrait {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  flex-shrink: 0
}

.strt .pq_name {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  display: block
}

.strt .pq_role {
  font-size: 15px;
  color: #007567;
  display: block;
  line-height: 1.4
}

.strt .pq_no_img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(113deg, #F3595B, #007567);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.strt .pq_initials {
  font-size: 16px;
  font-weight: 700;
  color: #fff
}

@media (max-width: 900px) {
  .strt .t_block .pg_wrap {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .strt .t_img_left,
  .strt .t_img_right {
    display: none
  }

  .strt .adapt_grid,
  .strt .diff_inner,
  .strt .ready_grid,
  .strt .case_grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .strt .method_steps {
    grid-template-columns: 1fr 1fr
  }

  .strt .pattern_quotes {
    grid-template-columns: 1fr 1fr
  }

  .strt .diff_points {
    padding-top: 0
  }
}

@media (max-width: 600px) {
  .strt .t_center h1 {
    font-size: 34px
  }

  .strt .t_actions {
    flex-direction: column;
    align-items: stretch
  }

  .strt .method_steps {
    grid-template-columns: 1fr
  }

  .strt .pattern_quotes {
    grid-template-columns: 1fr
  }

  .strt .stat_row {
    flex-direction: column;
    gap: 16px
  }

  .strt .case_metrics {
    grid-template-columns: 1fr
  }

  .strt .t_block {
    padding: 40px 16px
  }

  .strt .adapt_sec,
  .strt .method_sec,
  .strt .diff_sec,
  .strt .ready_sec,
  .strt .case_sec,
  .strt .pattern_sec {
    padding: 40px 16px
  }
}

.abt_us {
  max-width: 100%;
  overflow-x: hidden
}

.abt_us .pg_wrap {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px
}

.abt_us .eyebrow {
  font-size: 15px;
  letter-spacing: .08em;
  color: #007567;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
  margin-bottom: 16px
}

.abt_us .dot_border {
  position: relative
}

.abt_us .dot_border::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background-image: radial-gradient(circle, #F3595B 1px, transparent 1px), radial-gradient(circle, #F3595B 2px, transparent 2px), radial-gradient(circle, #007567 1px, transparent 1px);
  background-size: 8px 6px, 14px 6px, 20px 6px;
  background-position: 0 2px, 4px 1px, 10px 3px;
  opacity: .4
}

.abt_us .wave_div {
  width: 100%;
  height: 24px;
  position: relative;
  overflow: hidden
}

.abt_us .wave_div svg {
  width: 100%;
  height: 100%
}

.abt_us .title_blk {
  padding: 80px 0 40px;
  position: relative
}

.abt_us .title_blk .pg_wrap {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 40px;
  align-items: end
}

.abt_us .title_meta {
  padding-bottom: 16px
}

.abt_us .title_meta .label_sm {
  font-size: 15px;
  color: #007567;
  opacity: .7;
  display: block;
  margin-bottom: 8px
}

.abt_us .title_meta .year_tag {
  font-size: 64px;
  font-weight: 100;
  color: #F3595B;
  opacity: .18;
  line-height: 1.2;
  letter-spacing: -.04em;
  display: block
}

.abt_us .title_text_zone {
  position: relative
}

.abt_us .title_text_zone::before {
  content: '';
  position: absolute;
  top: -40px;
  left: -16px;
  width: 120px;
  height: 120px;
  background: radial-gradient(ellipse at 30% 30%, #f3595b14 0%, transparent 70%);
  border-radius: 38px;
  pointer-events: none
}

.abt_us .h1_main {
  font-size: 64px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.03em;
  color: #1b1b2e;
  margin: 0 0 16px
}

.abt_us .h1_main em {
  font-style: normal;
  color: #F3595B
}

.abt_us .title_sub {
  font-size: 20px;
  line-height: 1.6;
  color: #3a3a4a;
  margin: 0;
  max-width: 540px
}

.abt_us .title_img_accent {
  position: absolute;
  right: 0;
  top: 40px;
  width: 220px;
  height: 280px;
  border-radius: 38px;
  overflow: hidden;
  box-shadow: 0 12px 52px -1px #f3595b1c
}

.abt_us .title_img_accent img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.abt_us .title_img_accent::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 40%, transparent 40%, #1b1b2e47 100%);
  border-radius: 38px;
  pointer-events: none
}

@keyframes color_bleed {
  0% {
    opacity: .04;
    transform: scale(1) translate(0, 0)
  }

  50% {
    opacity: .09;
    transform: scale(1.15) translate(-8px, 8px)
  }

  100% {
    opacity: .04;
    transform: scale(1) translate(0, 0)
  }
}

.abt_us .title_blk::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 340px;
  height: 340px;
  background: radial-gradient(ellipse at 80% 80%, #0075671f 0%, transparent 65%);
  border-radius: 38px;
  pointer-events: none;
  animation: color_bleed 9s ease-in-out infinite;
  z-index: 0
}

.abt_us .about_story {
  padding: 80px 0;
  background: #FFFEEE
}

.abt_us .about_story .pg_wrap {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 40px;
  align-items: start
}

.abt_us .story_body .intro_p {
  font-size: 24px;
  line-height: 1.6;
  color: #1b1b2e;
  margin: 0 0 16px;
  font-weight: 400
}

.abt_us .story_body p {
  font-size: 16px;
  line-height: 1.9;
  color: #3a3a4a;
  margin: 0 0 16px
}

.abt_us .story_body p:last-child {
  margin-bottom: 0
}

.abt_us .h2_story {
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.2;
  color: #1b1b2e;
  margin: 0 0 40px
}

.abt_us .story_aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px
}

.abt_us .stat_item {
  background: #fff;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 7px 28px -1px #f3595b17;
  text-align: center
}

.abt_us .stat_num {
  font-size: 34px;
  font-weight: 800;
  color: #F3595B;
  line-height: 1.2;
  letter-spacing: -.02em;
  display: block
}

.abt_us .stat_label {
  font-size: 15px;
  color: #3a3a4a;
  line-height: 1.4;
  display: block;
  margin-top: 4px
}

.abt_us .story_img_wrap {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 7px 28px -1px #00756717;
  margin-top: 16px
}

.abt_us .story_img_wrap img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt_us .team_sect {
  padding: 80px 0;
  background: #fff
}

.abt_us .team_sect .pg_wrap {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abt_us .team_head {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px
}

.abt_us .h2_team {
  font-size: 48px;
  font-weight: 200;
  letter-spacing: .04em;
  line-height: 1.2;
  color: #1b1b2e;
  margin: 0
}

.abt_us .team_note {
  font-size: 15px;
  color: #007567;
  max-width: 280px;
  text-align: right;
  line-height: 1.6
}

.abt_us .three_col {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1fr;
  gap: 16px;
  align-items: end
}

.abt_us .member_card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 2px 3px -1px #f3595b0f;
  transition: box-shadow .18s ease-out, transform .15s ease-out
}

.abt_us .member_card:hover {
  box-shadow: 0 12px 52px -1px #f3595b1c;
  transform: translateY(-4px)
}

.abt_us .member_card.center_card {
  border-radius: 38px;
  box-shadow: 0 7px 28px -1px #f3595b17
}

.abt_us .portrait_box {
  width: 100%;
  aspect-ratio: 5/7;
  overflow: hidden
}

.abt_us .portrait_box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform .2s ease
}

.abt_us .member_card:hover .portrait_box img {
  transform: scale(1.03)
}

.abt_us .member_info {
  padding: 16px
}

.abt_us .member_name {
  font-size: 20px;
  font-weight: 700;
  color: #1b1b2e;
  margin: 0 0 4px;
  line-height: 1.4
}

.abt_us .member_role {
  font-size: 15px;
  color: #007567;
  margin: 0 0 8px;
  line-height: 1.4
}

.abt_us .member_bio {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3a4a;
  margin: 0
}

.abt_us .no_portrait_card {
  background: #007567;
  border-radius: 22px;
  padding: 40px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 7px 28px -1px #00756717;
  height: 100%
}

.abt_us .no_portrait_card .member_name {
  color: #FFFEEE
}

.abt_us .no_portrait_card .member_role {
  color: #fffeeeb3
}

.abt_us .no_portrait_card .member_bio {
  color: #fffeeed9
}

.abt_us .np_avatar {
  width: 48px;
  height: 48px;
  border-radius: 22px;
  background: #fffeee33;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px
}

.abt_us .np_avatar svg {
  width: 28px;
  height: 28px
}

.abt_us .approach_sect {
  padding: 80px 0 40px;
  background: linear-gradient(168deg, #0075670f 0%, #fff 100%);
  position: relative
}

@keyframes grad_rotate {
  0% {
    background-position: 0 50%
  }

  50% {
    background-position: 100% 50%
  }

  100% {
    background-position: 0 50%
  }
}

.abt_us .approach_sect .pg_wrap {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px
}

.abt_us .approach_sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt_us .h2_approach {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: #1b1b2e;
  margin: 0
}

.abt_us .approach_quote {
  font-size: 20px;
  line-height: 1.6;
  color: #3a3a4a;
  position: relative;
  padding-left: 16px
}

.abt_us .approach_quote::before {
  content: '\201C';
  position: absolute;
  left: 0;
  top: -4px;
  font-size: 34px;
  color: #F3595B;
  font-weight: 900;
  line-height: 1
}

.abt_us .approach_quote::after {
  content: '\201D';
  font-size: 34px;
  color: #F3595B;
  font-weight: 900;
  line-height: 1;
  vertical-align: -12px;
  margin-left: 4px
}

.abt_us .approach_img {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 7px 28px -1px #00756717
}

.abt_us .approach_img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt_us .approach_grid {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt_us .approach_item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 2px 3px -1px #f3595b0f;
  transition: box-shadow .15s ease, transform .12s ease
}

.abt_us .approach_item:hover {
  box-shadow: 0 7px 28px -1px #f3595b17;
  transform: translateY(-2px)
}

.abt_us .appr_icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 1px;
  background: linear-gradient(135deg, #F3595B, #007567);
  background-size: 200% 200%;
  animation: grad_rotate 6s ease infinite;
  display: flex;
  align-items: center;
  justify-content: center
}

.abt_us .appr_icon svg {
  width: 22px;
  height: 22px
}

.abt_us .appr_text h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1b1b2e;
  margin: 0 0 4px;
  line-height: 1.4
}

.abt_us .appr_text p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3a4a;
  margin: 0
}

.abt_us .contact_band {
  padding: 80px 0;
  background: #1b1b2e
}

.abt_us .contact_band .pg_wrap {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: center
}

.abt_us .h2_contact {
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.2;
  color: #FFFEEE;
  margin: 0 0 16px
}

.abt_us .contact_sub {
  font-size: 16px;
  line-height: 1.9;
  color: #fffeeeb3;
  margin: 0 0 40px
}

.abt_us .contact_links {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.abt_us .contact_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #fffeeed9;
  line-height: 1.6
}

.abt_us .contact_row svg {
  flex-shrink: 0;
  opacity: .6
}

.abt_us .contact_row a {
  color: #fffeeed9;
  text-decoration: none;
  border-bottom: 1px solid #f3595b66;
  transition: color .12s ease, border-color .12s ease
}

.abt_us .contact_row a:hover {
  color: #F3595B !important;
  border-color: #F3595B
}

.abt_us .contact_cta_side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start
}

.abt_us .btn_primary {
  display: inline-block;
  padding: 16px 40px;
  background: linear-gradient(122deg, #F3595B, #c73c3e);
  background-size: 200% 200%;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 22px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-position .18s ease, transform .15s ease-out, box-shadow .15s ease;
  box-shadow: 0 7px 28px -1px #f3595b17
}

.abt_us .btn_primary:hover {
  background-position: 100% 0;
  transform: translateY(-3px);
  box-shadow: 0 12px 52px -1px #f3595b1c
}

.abt_us .btn_secondary {
  display: inline-block;
  padding: 8px 16px;
  background: transparent;
  color: #fffeeeb3;
  font-size: 15px;
  border-radius: 22px;
  text-decoration: none;
  border: 1px solid #fffeee33;
  transition: border-color .15s ease, color .12s ease
}

.abt_us .btn_secondary:hover {
  border-color: #fffeee80;
  color: #FFFEEE
}

.abt_us .contact_img_dec {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 52px -1px #f3595b1c
}

.abt_us .contact_img_dec img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.85) saturate(0.9)
}

@media (max-width: 900px) {
  .abt_us .title_blk .pg_wrap {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .abt_us .title_img_accent {
    display: none
  }

  .abt_us .h1_main {
    font-size: 48px
  }

  .abt_us .about_story .pg_wrap {
    grid-template-columns: 1fr
  }

  .abt_us .story_aside {
    flex-direction: row;
    flex-wrap: wrap
  }

  .abt_us .stat_item {
    flex: 1 1 140px
  }

  .abt_us .three_col {
    grid-template-columns: 1fr 1fr
  }

  .abt_us .three_col .member_card:last-child {
    grid-column: span 2
  }

  .abt_us .approach_sect .pg_wrap {
    grid-template-columns: 1fr
  }

  .abt_us .contact_band .pg_wrap {
    grid-template-columns: 1fr
  }

  .abt_us .team_head {
    flex-direction: column;
    align-items: flex-start
  }

  .abt_us .team_note {
    text-align: left;
    max-width: 100%
  }
}

@media (max-width: 600px) {
  .abt_us .h1_main {
    font-size: 34px
  }

  .abt_us .h2_story,
  .abt_us .h2_team {
    font-size: 34px
  }

  .abt_us .h2_contact {
    font-size: 34px
  }

  .abt_us .h2_approach {
    font-size: 24px
  }

  .abt_us .three_col {
    grid-template-columns: 1fr
  }

  .abt_us .three_col .member_card:last-child {
    grid-column: span 1
  }

  .abt_us .title_blk {
    padding: 40px 0 16px
  }

  .abt_us .about_story,
  .abt_us .team_sect,
  .abt_us .approach_sect,
  .abt_us .contact_band {
    padding: 40px 0
  }

  .abt_us .story_body .intro_p {
    font-size: 20px
  }
}

.crs {
  max-width: 100%;
  overflow-x: hidden
}

.crs .pg_wrap {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px
}

.crs .pos_block {
  padding: 80px 0 40px;
  background: #fff;
  position: relative
}

.crs .pos_block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(127deg, transparent, transparent 38px, #f3595b09 38px, #f3595b09 39px);
  pointer-events: none;
  overflow: hidden
}

.crs .pos_block .pg_wrap {
  position: relative;
  z-index: 1
}

.crs .pos_heading_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 40px
}

.crs .pos_label {
  font-size: 15px;
  letter-spacing: .12em;
  color: #007567;
  text-transform: uppercase;
  margin-bottom: 16px;
  line-height: 1.4
}

.crs .pos_h1 {
  font-size: 64px;
  line-height: 1.2;
  letter-spacing: -.02em;
  font-weight: 800;
  color: #1b1b1b;
  margin: 0 0 16px
}

.crs .pos_h1 span {
  color: #F3595B
}

.crs .pos_lead {
  font-size: 20px;
  line-height: 1.6;
  color: #2e2e2e;
  max-width: 560px;
  margin: 0
}

.crs .pos_img_col {
  flex: 0 0 280px;
  position: relative
}

.crs .pos_img_wrap {
  width: 280px;
  height: 360px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 52px -1px #f3595b1c;
  position: relative
}

.crs .pos_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform .18s ease-out
}

.crs .pos_img_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #00756761, #f3595b2e);
  border-radius: 22px;
  pointer-events: none
}

.crs .pos_img_corner {
  position: absolute;
  bottom: -8px;
  right: -8px;
  width: 56px;
  height: 56px;
  overflow: hidden;
  pointer-events: none
}

.crs .pos_img_corner svg {
  display: block
}

.crs .pos_text_col {
  flex: 1 1 auto;
  padding-top: 8px
}

.crs .stat_row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #0075672e
}

.crs .stat_item {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.crs .stat_num {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.2;
  color: #F3595B;
  letter-spacing: -.02em
}

.crs .stat_desc {
  font-size: 15px;
  line-height: 1.4;
  color: #444;
  letter-spacing: .02em
}

.crs .stat_divider {
  width: 1px;
  background: #00756738;
  align-self: stretch
}

.crs .svg_divider {
  display: block;
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.crs .svg_divider svg {
  display: block;
  width: 100%
}

.crs .jobs_block {
  padding: 40px 0 80px;
  background: #FFFEEE;
  position: relative
}

.crs .jobs_block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(53deg, transparent, transparent 44px, #00756708 44px, #00756708 45px);
  pointer-events: none;
  overflow: hidden
}

.crs .jobs_block .pg_wrap {
  position: relative;
  z-index: 1
}

.crs .jobs_intro {
  max-width: 600px;
  margin-bottom: 40px
}

.crs .jobs_h2 {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1b1b1b;
  margin: 0 0 16px
}

.crs .jobs_sub {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.crs .jobs_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.crs .job_card {
  background: #fff;
  border-radius: 22px;
  padding: 40px;
  box-shadow: 0 2px 3px -1px #f3595b0f;
  transition: box-shadow .15s ease-out, transform .15s ease-out;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-top: 3px solid transparent;
  cursor: pointer
}

.crs .job_card:hover {
  box-shadow: 0 7px 28px -1px #f3595b17;
  transform: translateY(-4px);
  border-top-color: #F3595B
}

.crs .job_card:focus-within {
  outline: 2px solid #007567;
  outline-offset: 2px
}

.crs .job_type_tag {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #007567;
  background: #00756714;
  padding: 4px 8px;
  border-radius: 1px;
  line-height: 1.4;
  font-weight: 600;
  align-self: flex-start
}

.crs .job_h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.01em;
  color: #1b1b1b;
  margin: 0
}

.crs .job_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  margin: 0;
  flex: 1 1 auto
}

.crs .job_meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid #00756724
}

.crs .job_meta_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.crs .job_meta_label {
  font-size: 15px;
  color: #888;
  line-height: 1.4;
  min-width: 80px
}

.crs .job_meta_divider {
  flex: 0 0 1px;
  height: 12px;
  background: #0075674d
}

.crs .job_meta_val {
  font-size: 15px;
  color: #222;
  font-weight: 600;
  line-height: 1.4
}

.crs .job_apply_btn {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 16px;
  background: #007567;
  color: #fff;
  border: none;
  border-radius: 22px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  text-decoration: none;
  transition: background .12s ease-out, box-shadow .12s ease-out;
  align-self: flex-start;
  box-shadow: 0 2px 3px -1px #0075670f
}

.crs .job_apply_btn:hover {
  background: #005c51;
  box-shadow: 0 7px 28px -1px #00756717
}

.crs .job_apply_btn:focus {
  outline: 2px solid #F3595B;
  outline-offset: 2px
}

.crs .job_apply_btn:active {
  background: #004d44
}

.crs .jobs_note {
  margin-top: 40px;
  padding: 16px 40px;
  background: #f3595b0f;
  border-radius: 38px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.crs .jobs_note_icon {
  flex: 0 0 auto
}

.crs .jobs_note_text {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.crs .jobs_note_text a {
  color: #F3595B;
  font-weight: 700;
  text-decoration: none;
  transition: color .12s ease-out
}

.crs .jobs_note_text a:hover {
  color: #c9383a
}

.crs .corner_tl {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  width: 80px;
  height: 80px
}

.crs .corner_br {
  position: absolute;
  bottom: 0;
  right: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  width: 80px;
  height: 80px
}

.crs .pos_block {
  position: relative
}

@media (max-width: 900px) {
  .crs .pos_heading_row {
    flex-direction: column-reverse;
    gap: 16px
  }

  .crs .pos_img_col {
    flex: 0 0 auto
  }

  .crs .pos_img_wrap {
    width: 200px;
    height: 260px
  }

  .crs .pos_h1 {
    font-size: 48px
  }

  .crs .jobs_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .crs .stat_row {
    flex-wrap: wrap;
    gap: 16px
  }
}

@media (max-width: 600px) {
  .crs .pos_h1 {
    font-size: 34px
  }

  .crs .jobs_h2 {
    font-size: 34px
  }

  .crs .jobs_grid {
    grid-template-columns: 1fr
  }

  .crs .pos_block {
    padding: 40px 0 16px
  }

  .crs .jobs_note {
    flex-direction: column;
    padding: 16px;
    border-radius: 22px
  }

  .crs .job_card {
    padding: 16px
  }

  .crs .stat_row {
    gap: 16px
  }
}

.ct_us {
  max-width: 100%;
  overflow-x: hidden
}

.ct_us .pg_wrap {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px
}

.ct_us .top_band {
  padding: 80px 16px;
  background: #FFFEEE;
  position: relative
}

.ct_us .top_band::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(113deg, #007567, #FFFEEE)
}

.ct_us .top_band_inner {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end
}

.ct_us .top_band_label {
  font-size: 15px;
  letter-spacing: .12em;
  color: #007567;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.ct_us .top_band_label .ln_accent {
  display: block;
  width: 24px;
  height: 1px;
  background: #007567
}

.ct_us .top_band h1 {
  font-size: 64px;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #1b1b1b;
  margin: 0 0 16px;
  font-weight: 900
}

.ct_us .top_band h1 span {
  color: #F3595B
}

.ct_us .top_band_desc {
  font-size: 20px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0;
  max-width: 480px
}

.ct_us .contact_refs {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ct_us .ref_item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  border: 1px solid #00756726;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 2px 3px -1px #f3595b0f;
  transition: box-shadow .15s ease-out, transform .15s ease-out
}

.ct_us .ref_item:hover {
  box-shadow: 0 7px 28px -1px #f3595b17;
  transform: translateY(-3px)
}

.ct_us .ref_label {
  font-size: 15px;
  color: #007567;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding-bottom: 4px;
  border-bottom: 1px solid #00756733;
  margin-bottom: 4px
}

.ct_us .ref_val {
  font-size: 16px;
  line-height: 1.6;
  color: #1b1b1b;
  text-decoration: none;
  font-weight: 600
}

.ct_us .ref_val:hover {
  color: #F3595B;
  transition: color .1s ease
}

.ct_us .ref_sub {
  font-size: 15px;
  color: #555;
  line-height: 1.4
}

.ct_us .zigzag_div {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.ct_us .zigzag_div svg {
  display: block;
  width: 100%
}

.ct_us .form_band {
  padding: 80px 16px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 96%, 50% 100%, 0 96%);
  padding-bottom: 120px
}

.ct_us .form_band_inner {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start
}

.ct_us .form_context h2 {
  font-size: 48px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1b1b1b;
  margin: 0 0 16px;
  font-weight: 800
}

.ct_us .form_context h2 em {
  font-style: normal;
  color: #007567
}

.ct_us .form_context_body {
  font-size: 16px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0 0 16px
}

.ct_us .form_context_note {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
  margin: 0
}

.ct_us .dashed_path {
  position: relative;
  padding-left: 8px
}

.ct_us .dashed_path::before {
  content: '';
  position: absolute;
  left: -16px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: repeating-linear-gradient(to bottom, #007567 0px, #007567 6px, transparent 6px, transparent 12px);
  border-radius: 1px
}

.ct_us .ctform {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ct_us .field_grp {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.ct_us .field_grp label {
  font-size: 15px;
  color: #007567;
  letter-spacing: .04em;
  font-weight: 600
}

.ct_us .ctform input[type="text"],
.ct_us .ctform input[type="email"],
.ct_us .ctform input[type="tel"],
.ct_us .ctform textarea {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  line-height: 1.4;
  color: #1b1b1b;
  background: #FFFEEE;
  border: 1px solid #00756733;
  border-radius: 22px;
  outline: none;
  box-shadow: inset 0 1px 2px #0075670f;
  transition: border-color .15s ease-out, box-shadow .15s ease-out;
  -webkit-appearance: none;
  appearance: none
}

.ct_us .ctform input[type="text"]:focus,
.ct_us .ctform input[type="email"]:focus,
.ct_us .ctform input[type="tel"]:focus,
.ct_us .ctform textarea:focus {
  border-color: #007567;
  box-shadow: 0 0 0 2px #0075671f inset 0 1px 2px #0075670f
}

.ct_us .ctform textarea {
  resize: vertical;
  min-height: 120px
}

.ct_us .privacy_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  background: #FFFEEE;
  border-radius: 22px;
  border: 1px solid #0075671f
}

.ct_us .privacy_row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  accent-color: #007567;
  cursor: pointer
}

.ct_us .privacy_row label {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3a3a;
  cursor: pointer
}

.ct_us .privacy_row label a {
  color: #007567;
  text-decoration: underline;
  transition: color .1s ease
}

.ct_us .privacy_row label a:hover {
  color: #F3595B
}

.ct_us .submit_btn {
  align-self: flex-start;
  padding: 16px 40px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(113deg, #007567, #F3595B);
  border: none;
  border-radius: 38px;
  cursor: pointer;
  letter-spacing: .02em;
  box-shadow: 0 7px 28px -1px #00756717;
  transition: box-shadow .2s ease-out, transform .15s ease-out, background .2s ease
}

.ct_us .submit_btn:hover {
  background: linear-gradient(247deg, #007567, #F3595B);
  transform: translateY(-4px);
  box-shadow: 0 12px 52px -1px #0075671c
}

.ct_us .submit_btn:focus {
  outline: 3px solid #F3595B;
  outline-offset: 3px
}

.ct_us .submit_btn:active {
  transform: translateY(-1px)
}

.ct_us .addr_band {
  padding: 80px 16px;
  background: #FFFEEE
}

.ct_us .addr_band_inner {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start
}

.ct_us .addr_block {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ct_us .addr_block_head {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #007567;
  margin: 0 0 4px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.ct_us .addr_ico {
  width: 20px;
  height: 20px;
  flex-shrink: 0
}

.ct_us .addr_block_body {
  font-size: 16px;
  line-height: 1.9;
  color: #1b1b1b;
  margin: 0
}

.ct_us .addr_block_body a {
  color: #1b1b1b;
  text-decoration: none;
  border-bottom: 1px solid #0075674d;
  transition: color .1s ease, border-color .1s ease
}

.ct_us .addr_block_body a:hover {
  color: #F3595B;
  border-color: #F3595B
}

.ct_us .addr_divider {
  width: 1px;
  background: linear-gradient(to bottom, transparent, #007567, transparent);
  align-self: stretch;
  min-height: 80px
}

.ct_us .noise_layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  border-radius: 0
}

.ct_us .top_band {
  position: relative;
  overflow: hidden
}

.ct_us .reveal_clip {
  animation: clip_reveal .2s ease-out both
}

@keyframes clip_reveal {
  from {
    clip-path: inset(0 50% 0 50%);
    opacity: 0
  }

  to {
    clip-path: inset(0 0% 0 0%);
    opacity: 1
  }
}

.ct_us .form_band {
  position: relative
}

@media (max-width: 900px) {
  .ct_us .top_band_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .ct_us .top_band h1 {
    font-size: 48px
  }

  .ct_us .form_band_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .ct_us .addr_band_inner {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .ct_us .addr_divider {
    width: 80px;
    height: 1px;
    min-height: 0;
    align-self: auto;
    background: linear-gradient(to right, transparent, #007567, transparent)
  }
}

@media (max-width: 600px) {
  .ct_us .top_band {
    padding: 40px 16px
  }

  .ct_us .top_band h1 {
    font-size: 34px
  }

  .ct_us .form_band {
    padding: 40px 16px 80px;
    clip-path: none
  }

  .ct_us .form_context h2 {
    font-size: 34px
  }

  .ct_us .addr_band {
    padding: 40px 16px
  }

  .ct_us .submit_btn {
    width: 100%;
    text-align: center
  }
}

.success_page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 16px;
  background: #FFFEEE
}

.success_page .success_card {
  max-width: 1024px;
  width: 100%;
  background: #fff;
  border-radius: 22px;
  padding: 80px 40px;
  box-shadow: 0 7px 28px -1px #00756717;
  text-align: center;
  position: relative
}

.success_page .success_card .icon_wrap {
  width: 64px;
  height: 64px;
  margin: 0 auto 40px;
  border-radius: 38px;
  background: #007567;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 3px -1px #0075670f 0 12px 52px -1px #0075671c
}

.success_page .success_card .icon_wrap svg {
  display: block
}

.success_page .success_card .success_heading {
  font-size: 48px;
  line-height: 1.2;
  letter-spacing: -.03em;
  font-weight: 700;
  color: #181818;
  margin: 0 0 16px
}

.success_page .success_card .success_sub {
  font-size: 20px;
  line-height: 1.6;
  color: #2d2d2d;
  margin: 0 0 40px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto
}

.success_page .success_card .success_note {
  font-size: 15px;
  line-height: 1.9;
  color: #444;
  margin: 0 0 40px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto
}

.success_page .success_card .success_note strong {
  color: #007567
}

.success_page .success_card .divider_line {
  width: 48px;
  height: 2px;
  background: #F3595B;
  border-radius: 1px;
  margin: 0 auto 40px
}

.success_page .success_card .action_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap
}

.success_page .success_card .btn_primary {
  display: inline-block;
  padding: 16px 40px;
  background: #007567;
  color: #FFFEEE;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  border-radius: 22px;
  text-decoration: none;
  letter-spacing: .01em;
  box-shadow: 0 2px 3px -1px #0075670f 0 7px 28px -1px #00756717;
  transition: box-shadow .15s ease-out, transform .15s ease-out
}

.success_page .success_card .btn_primary:hover {
  transform: translateY(-4px);
  box-shadow: 0 7px 28px -1px #00756717 0 12px 52px -1px #0075671c
}

.success_page .success_card .btn_secondary {
  display: inline-block;
  padding: 16px 40px;
  background: transparent;
  color: #007567;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
  border-radius: 22px;
  text-decoration: none;
  border: 1.5px solid #007567;
  letter-spacing: .01em;
  transition: background .12s ease, color .12s ease
}

.success_page .success_card .btn_secondary:hover {
  background: #007567;
  color: #FFFEEE
}

@media (max-width: 600px) {
  .success_page {
    padding: 40px 16px
  }

  .success_page .success_card {
    padding: 40px 16px
  }

  .success_page .success_card .success_heading {
    font-size: 34px
  }

  .success_page .success_card .success_sub {
    font-size: 16px
  }

  .success_page .success_card .action_row {
    flex-direction: column;
    gap: 8px
  }
}