* {
  box-sizing: border-box
}

html {
  font-size: 100%
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh
}

.util-bar {
  background: #07535D;
  padding: 10px 20px
}

.util-bar__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  flex-wrap: wrap
}

.util-contact {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap
}

.util-contact__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #fff;
  text-decoration: none;
  line-height: 1.4;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 4px 0;
  min-height: 44px
}

.util-contact__item:hover,
.util-contact__item:focus {
  color: #EDA603;
  text-decoration: none;
  outline: none
}

.util-contact__item:focus-visible {
  outline: 2px solid #EDA603;
  outline-offset: 2px
}

.util-icon {
  width: 16px;
  height: 16px;
  fill: #EDA603;
  flex-shrink: 0
}

.util-contact__label {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #ffffffb3;
  margin-right: 4px
}

.brand-strip {
  background: linear-gradient(135deg, #292828 0%, #07535D 100%);
  padding: 20px;
  border-bottom: 3px solid #EDA603
}

.brand-strip__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px
}

.brand-logo-box {
  flex-shrink: 0;
  width: 70px;
  height: 70px;
  border: 1px solid #ffffffe6;
  border-radius: 8px;
  background: #ffffff1f;
  box-shadow: 0 3px 3px 0 #07535d12 0 6px 18px 0 #07535d17;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px
}

.brand-logo-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  opacity: 0;
  transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.brand-logo-box img.loaded {
  opacity: 1
}

.brand-text {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.brand-name {
  font-family: 'Noto Serif', serif;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.02em
}

.brand-tagline {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #EDA603;
  line-height: 1.4;
  letter-spacing: .04em;
  text-transform: uppercase
}

.main-nav {
  background: #fff;
  border-bottom: 1px solid #2928281f;
  box-shadow: 0 3px 3px 0 #eda60312
}

.main-nav__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap
}

.main-nav__item {
  display: inline-flex;
  align-items: center;
  font-family: 'Karla', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #292828;
  text-decoration: none;
  padding: 20px;
  line-height: 1.4;
  min-height: 44px;
  position: relative;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden
}

.main-nav__item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #EDA603;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.main-nav__item:hover,
.main-nav__item:focus {
  color: #07535D;
  text-decoration: none;
  outline: none
}

.main-nav__item:hover::after,
.main-nav__item:focus::after {
  transform: scaleX(1);
  transform-origin: left center
}

.main-nav__item:focus-visible {
  outline: 2px solid #07535D;
  outline-offset: -2px
}

.main-nav__item.active {
  color: #07535D
}

.main-nav__item.active::after {
  transform: scaleX(1)
}

@media (max-width: 768px) {
  .util-bar__inner {
    justify-content: flex-start
  }

  .brand-name {
    font-size: 21px
  }

  .main-nav__item {
    font-size: 13px;
    padding: 20px 10px
  }
}

@media (max-width: 375px) {
  .brand-strip__inner {
    flex-direction: column;
    align-items: flex-start
  }

  .util-contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px
  }
}

.site-footer {
  background: #292828;
  padding: 40px 20px 20px;
  border-top: 3px solid #EDA603
}

.ftr-inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start
}

.ftr-brand {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 160px
}

.ftr-logo-box {
  width: 60px;
  height: 60px;
  border: 1px solid #ffffffb3;
  border-radius: 8px;
  background: #ffffff14;
  box-shadow: 0 3px 3px 0 #07535d12;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px
}

.ftr-logo-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  opacity: 0;
  transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.ftr-logo-box img.loaded {
  opacity: 1
}

.ftr-brand-name {
  font-family: 'Noto Serif', serif;
  font-size: 21px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.01em
}

.ftr-right {
  display: flex;
  flex-direction: column;
  gap: 40px;
  flex: 1;
  min-width: 220px;
  align-items: flex-end
}

.ftr-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end
}

.ftr-links__heading {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #EDA603;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.4;
  margin-bottom: 4px
}

.ftr-link {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #ffffffbf;
  text-decoration: none;
  line-height: 1.6;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 44px;
  display: inline-flex;
  align-items: center
}

.ftr-link:hover,
.ftr-link:focus {
  color: #EDA603;
  text-decoration: none;
  outline: none
}

.ftr-link:focus-visible {
  outline: 2px solid #EDA603;
  outline-offset: 2px
}

.ftr-contacts {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end
}

.ftr-contacts__heading {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #EDA603;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.4;
  margin-bottom: 4px
}

.ftr-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #ffffffbf;
  text-decoration: none;
  line-height: 1.6;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 44px
}

.ftr-contact-item:hover,
.ftr-contact-item:focus {
  color: #EDA603;
  text-decoration: none;
  outline: none
}

.ftr-contact-item:focus-visible {
  outline: 2px solid #EDA603;
  outline-offset: 2px
}

.ftr-contact-plain {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #fff9;
  line-height: 1.6;
  text-align: right
}

.ftr-icon {
  width: 14px;
  height: 14px;
  fill: #EDA603;
  flex-shrink: 0
}

.ftr-bottom {
  max-width: 1600px;
  margin: 40px auto 0;
  padding-top: 20px;
  border-top: 1px solid #ffffff1a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px
}

.ftr-copy {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #ffffff73;
  line-height: 1.6
}

.ftr-domain {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #ffffff59;
  line-height: 1.6
}

@media (max-width: 768px) {
  .ftr-inner {
    flex-direction: column;
    gap: 40px
  }

  .ftr-right {
    align-items: flex-start;
    width: 100%
  }

  .ftr-links {
    align-items: flex-start
  }

  .ftr-contacts {
    align-items: flex-start
  }

  .ftr-contact-plain {
    text-align: left
  }

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

@media (max-width: 375px) {
  .ftr-brand-name {
    font-size: 16px
  }
}

.consent-tray {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 280px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #07535d2e;
  box-shadow: 0 10px 48px 0 #07535d24;
  z-index: 1200;
  overflow: hidden;
  padding: 20px
}

.consent-tray__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px
}

.consent-tray__body {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: #292828;
  line-height: 1.6;
  margin-bottom: 20px;
  text-align: center
}

.consent-tray__btns {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.consent-btn {
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  font-weight: 700;
  border-radius: 8px;
  border: 2px solid #07535D;
  padding: 10px 20px;
  min-height: 44px;
  cursor: pointer;
  width: 100%;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1);
  background: #07535D;
  color: #fff
}

.consent-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #EDA603;
  transform: translateX(100%);
  transition: transform .26s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.consent-btn:hover::before,
.consent-btn:focus::before {
  transform: translateX(0)
}

.consent-btn:hover,
.consent-btn:focus {
  border-color: #EDA603;
  color: #292828;
  outline: none
}

.consent-btn:focus-visible {
  outline: 2px solid #EDA603;
  outline-offset: 2px
}

.consent-btn span {
  position: relative;
  z-index: 1
}

.consent-btn.decline {
  background: transparent;
  color: #07535D
}

.consent-btn.decline::before {
  background: #07535d14
}

.consent-btn.decline:hover,
.consent-btn.decline:focus {
  color: #292828;
  border-color: #292828
}

.legal-data {
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px 40px
}

.legal-data h1 {
  font-size: 66px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #292828;
  margin-bottom: 40px;
  margin-top: 0
}

.legal-data h2 {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #07535D;
  margin-top: 80px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #EDA603;
  border-left: 4px solid #07535D;
  padding-left: 20px
}

.legal-data h3 {
  font-size: 21px;
  line-height: 1.4;
  letter-spacing: -.01em;
  color: #292828;
  margin-top: 40px;
  margin-bottom: 20px
}

.legal-data h4 {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .02em;
  color: #07535D;
  text-transform: uppercase;
  margin-top: 40px;
  margin-bottom: 10px
}

.legal-data h5 {
  font-size: 16px;
  line-height: 1.4;
  color: #292828;
  margin-top: 20px;
  margin-bottom: 10px
}

.legal-data h6 {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #07535D;
  margin-top: 20px;
  margin-bottom: 10px
}

.legal-data p {
  font-size: 16px;
  line-height: 1.9;
  color: #292828;
  margin-top: 0;
  margin-bottom: 20px;
  max-width: 80ch
}

.legal-data ul,
.legal-data ol {
  font-size: 16px;
  line-height: 1.9;
  color: #292828;
  margin-top: 0;
  margin-bottom: 20px;
  padding-left: 40px;
  max-width: 80ch
}

.legal-data ul {
  list-style: none;
  padding-left: 20px
}

.legal-data ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px
}

.legal-data ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #EDA603
}

.legal-data ol {
  list-style: none;
  counter-reset: policy-counter;
  padding-left: 20px
}

.legal-data ol li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 10px;
  counter-increment: policy-counter
}

.legal-data ol li::before {
  content: counter(policy-counter);
  position: absolute;
  left: 0;
  top: 2px;
  width: 24px;
  height: 24px;
  background-color: #07535D;
  color: #fff;
  font-size: 13px;
  line-height: 1.9;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600
}

.legal-data li {
  font-size: 16px;
  line-height: 1.9;
  color: #292828
}

.legal-data a {
  color: #07535D;
  text-decoration: underline;
  text-decoration-color: #07535d59;
  text-underline-offset: 3px;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-data a:hover {
  color: #EDA603;
  text-decoration-color: #eda60399
}

.legal-data a:visited {
  color: #07535D
}

.legal-data hr {
  border: none;
  border-top: 1px solid #07535d2e;
  margin-top: 40px;
  margin-bottom: 40px
}

.legal-data div {
  font-size: 16px;
  line-height: 1.6;
  color: #292828
}

.legal-data div[class*="notice"],
.legal-data div[class*="highlight"],
.legal-data div[class*="info"] {
  background: linear-gradient(135deg, #eda60312 0%, #07535d0f 100%);
  border-radius: 8px;
  border-left: 4px solid #EDA603;
  padding: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  box-shadow: 0 3px 3px 0 #eda60312
}

@media (max-width: 1366px) {
  .legal-data {
    padding: 80px 40px
  }

  .legal-data h1 {
    font-size: clamp(28px, 5vw, 66px)
  }
}

@media (max-width: 768px) {
  .legal-data {
    padding: 40px 20px
  }

  .legal-data h1 {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 20px
  }

  .legal-data h2 {
    font-size: 21px;
    margin-top: 40px
  }

  .legal-data h3 {
    font-size: 16px;
    margin-top: 20px
  }

  .legal-data h4,
  .legal-data h5,
  .legal-data h6 {
    font-size: 13px;
    margin-top: 20px
  }

  .legal-data p,
  .legal-data ul,
  .legal-data ol,
  .legal-data li {
    font-size: 16px;
    line-height: 1.6
  }

  .legal-data p,
  .legal-data ul,
  .legal-data ol {
    max-width: 100%
  }
}

@media (max-width: 375px) {
  .legal-data {
    padding: 40px 10px
  }

  .legal-data h1 {
    font-size: 21px
  }

  .legal-data h2 {
    font-size: 16px;
    padding-left: 10px
  }

  .legal-data h3,
  .legal-data h4,
  .legal-data h5,
  .legal-data h6 {
    font-size: 13px
  }

  .legal-data ol li {
    padding-left: 30px
  }
}

.sstories {
  background: #fff;
  overflow-x: clip;
  position: relative
}

.sstories .pg-wrap {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 40px
}

.sstories .title-blk {
  position: relative;
  background: linear-gradient(233deg, #07535D 0%, #EDA603 60%, #fff0 100%);
  padding: 80px 0
}

.sstories .title-blk__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 40px
}

.sstories .title-blk__left {
  flex: 0 0 30%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative
}

.sstories .title-blk__geo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden
}

.sstories .title-blk__geo::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 20px;
  width: 60px;
  height: 60px;
  border-top: 2px solid #ffffff73;
  border-left: 2px solid #ffffff73
}

.sstories .title-blk__geo::after {
  content: '';
  position: absolute;
  bottom: 20px;
  left: 40px;
  width: 30px;
  height: 30px;
  border-bottom: 2px solid #ffffff4d;
  border-right: 2px solid #ffffff4d
}

.sstories .title-blk__label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .12em;
  color: #ffffffbf;
  text-transform: uppercase;
  margin-bottom: 20px
}

.sstories .title-blk__right {
  flex: 0 0 70%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px
}

.sstories .title-blk__h1 {
  font-size: 66px;
  line-height: 1.2;
  letter-spacing: -.04em;
  color: #fff;
  margin: 0;
  font-weight: 900;
  animation: track-expand .6s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes track-expand {
  from {
    letter-spacing: -.12em;
    opacity: .3
  }

  to {
    letter-spacing: -.04em;
    opacity: 1
  }
}

.sstories .title-blk__h1 span {
  display: block;
  font-size: 66px;
  line-height: 1.2;
  color: #EDA603
}

.sstories .title-blk__sub {
  font-size: 21px;
  line-height: 1.6;
  color: #ffffffe0;
  margin: 0;
  max-width: 640px
}

.sstories .title-blk__img-wrap {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 340px;
  height: 420px;
  overflow: hidden;
  opacity: 0;
  animation: img-fadein .5s cubic-bezier(0.0, 0, 0.2, 1) .25s forwards
}

@keyframes img-fadein {
  from {
    opacity: 0
  }

  to {
    opacity: .22
  }
}

.sstories .title-blk__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: grayscale(30%) contrast(1.1)
}

.sstories .title-blk__grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23grain)' opacity='0.09'/%3E%3C/svg%3E");
  opacity: .5
}

.sstories .div-diamonds {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 0;
  background: #fff;
  overflow: hidden
}

.sstories .div-diamonds__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap
}

.sstories .ddiam {
  width: 7px;
  height: 7px;
  background: #EDA603;
  transform: rotate(45deg);
  flex-shrink: 0
}

.sstories .ddiam.sec {
  background: #07535D;
  width: 5px;
  height: 5px
}

.sstories .ddiam.sm {
  background: #292828;
  width: 4px;
  height: 4px;
  opacity: .3
}

.sstories .stories-sec {
  background: #fff;
  padding: 80px 0
}

.sstories .stories-sec__head {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px
}

.sstories .stories-sec__h2 {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.03em;
  font-weight: 900;
  color: #292828;
  margin: 0;
  flex: 0 0 auto
}

.sstories .stories-sec__note {
  font-size: 16px;
  line-height: 1.6;
  color: #07535D;
  margin: 0;
  max-width: 480px;
  text-align: right
}

.sstories .stories-grid {
  display: grid;
  grid-template-columns: 30% 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 20px
}

.sstories .story-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 18px 0 #07535d17;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .26s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.sstories .story-card:hover {
  box-shadow: 0 10px 48px 0 #07535d24;
  transform: translateY(-4px)
}

.sstories .story-card.feat {
  grid-row: 1 / 3;
  grid-column: 1 / 2
}

.sstories .story-card__accent {
  height: 6px;
  background: conic-gradient(from 233deg, #EDA603, #07535D)
}

.sstories .story-card.feat .story-card__accent {
  height: 8px
}

.sstories .story-card__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1
}

.sstories .story-card__tag {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #EDA603;
  font-weight: 700
}

.sstories .story-card__name {
  font-size: 21px;
  line-height: 1.2;
  font-weight: 900;
  color: #292828;
  margin: 0;
  letter-spacing: -.02em
}

.sstories .story-card.feat .story-card__name {
  font-size: 28px
}

.sstories .story-card__role {
  font-size: 13px;
  line-height: 1.4;
  color: #07535D;
  font-weight: 600
}

.sstories .story-card__quote {
  font-size: 16px;
  line-height: 1.6;
  color: #292828;
  margin: 0;
  flex: 1
}

.sstories .story-card.feat .story-card__quote {
  font-size: 16px
}

.sstories .story-card__portrait {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #EDA603;
  flex-shrink: 0;
  margin-top: 10px
}

.sstories .story-card__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  opacity: 0;
  transition: opacity .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.sstories .story-card__portrait img.loaded {
  opacity: 1
}

.sstories .story-card__metric {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: #07535D;
  margin-top: auto
}

.sstories .story-card__metric-val {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 900;
  color: #EDA603;
  letter-spacing: -.03em
}

.sstories .story-card__metric-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}

.sstories .story-card__metric-arrow svg {
  width: 20px;
  height: 20px
}

.sstories .story-card__metric-txt {
  font-size: 13px;
  line-height: 1.4;
  color: #fffc
}

.sstories .story-card__person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #2928281a
}

.sstories .story-card__person-info {
  display: flex;
  flex-direction: column;
  gap: 0
}

.sstories .story-card__pname {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
  color: #292828
}

.sstories .story-card__ploc {
  font-size: 13px;
  line-height: 1.4;
  color: #07535D
}

.sstories .avatar-ph {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: conic-gradient(from 233deg, #EDA603, #07535D);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.sstories .avatar-ph__letter {
  font-size: 16px;
  font-weight: 900;
  color: #fff;
  line-height: 1.2
}

.sstories .outcomes-sec {
  background: #07535D;
  padding: 80px 0;
  position: relative;
  overflow: hidden
}

.sstories .outcomes-sec__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden
}

.sstories .iso-grid {
  position: absolute;
  inset: 0;
  opacity: .07
}

.sstories .outcomes-sec__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.sstories .outcomes-left {
  flex: 0 0 30%;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.sstories .outcomes-left__h2 {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 900;
  color: #fff;
  margin: 0;
  letter-spacing: -.03em
}

.sstories .outcomes-left__p {
  font-size: 16px;
  line-height: 1.6;
  color: #fffc;
  margin: 0
}

.sstories .outcomes-left__img {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 48px 0 #eda60324;
  margin-top: 10px
}

.sstories .outcomes-left__img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: 0;
  transition: opacity .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.sstories .outcomes-left__img img.loaded {
  opacity: .75
}

.sstories .outcomes-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.sstories .outcomes-right__h3 {
  font-size: 21px;
  line-height: 1.2;
  font-weight: 900;
  color: #EDA603;
  margin: 0;
  text-align: center;
  letter-spacing: -.02em
}

.sstories .metrics-row {
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap
}

.sstories .met-item {
  flex: 1;
  min-width: 140px;
  background: #ffffff12;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid #ffffff1f;
  box-shadow: 0 3px 3px 0 #eda60312;
  transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.sstories .met-item:hover {
  background: #ffffff21;
  border-color: #eda60366
}

.sstories .met-item__num {
  font-size: 66px;
  line-height: 1.2;
  font-weight: 900;
  color: #EDA603;
  letter-spacing: -.05em;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px
}

.sstories .met-item__arrow {
  display: inline-flex;
  align-items: center
}

.sstories .met-item__label {
  font-size: 16px;
  line-height: 1.4;
  color: #ffffffd9;
  font-weight: 600
}

.sstories .met-item__sub {
  font-size: 13px;
  line-height: 1.6;
  color: #fff9
}

.sstories .outcomes-testimonials {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 10px
}

.sstories .out-testi {
  background: #ffffff0d;
  border-radius: 8px;
  padding: 20px;
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  border: 1px solid #ffffff14;
  transition: background .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.sstories .out-testi:hover {
  background: #ffffff1a
}

.sstories .out-testi__mark {
  width: 4px;
  min-height: 40px;
  border-radius: 5px;
  background: conic-gradient(from 233deg, #EDA603, #07535D);
  flex-shrink: 0
}

.sstories .out-testi__body {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.sstories .out-testi__q {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffe0;
  margin: 0;
  font-style: italic
}

.sstories .out-testi__who {
  font-size: 13px;
  line-height: 1.4;
  color: #EDA603;
  font-weight: 700
}

.sstories .tri-tl {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 60px solid #eda60326;
  border-right: 60px solid transparent;
  pointer-events: none
}

.sstories .tri-br {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-bottom: 60px solid #eda6031f;
  border-left: 60px solid transparent;
  pointer-events: none
}

@media (max-width: 1366px) {

  .sstories .title-blk__h1,
  .sstories .title-blk__h1 span {
    font-size: clamp(36px, 5vw, 66px)
  }

  .sstories .stories-grid {
    grid-template-columns: 35% 1fr 1fr
  }

  .sstories .title-blk__img-wrap {
    width: 260px;
    height: 340px
  }
}

@media (max-width: 768px) {
  .sstories .title-blk__inner {
    flex-direction: column;
    padding: 0 20px
  }

  .sstories .title-blk__left {
    flex: none
  }

  .sstories .title-blk__right {
    flex: none
  }

  .sstories .title-blk__h1,
  .sstories .title-blk__h1 span {
    font-size: clamp(28px, 8vw, 48px)
  }

  .sstories .title-blk__img-wrap {
    display: none
  }

  .sstories .pg-wrap {
    padding: 0 20px
  }

  .sstories .stories-sec {
    padding: 40px 0
  }

  .sstories .stories-sec__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px
  }

  .sstories .stories-sec__note {
    text-align: left;
    max-width: 100%
  }

  .sstories .stories-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto
  }

  .sstories .story-card.feat {
    grid-row: auto;
    grid-column: auto
  }

  .sstories .outcomes-sec__inner {
    flex-direction: column;
    padding: 0 20px
  }

  .sstories .outcomes-left {
    flex: none;
    width: 100%
  }

  .sstories .outcomes-sec {
    padding: 40px 0
  }

  .sstories .metrics-row {
    flex-direction: column
  }

  .sstories .met-item__num {
    font-size: 66px
  }
}

@media (max-width: 375px) {
  .sstories .title-blk {
    padding: 40px 0
  }

  .sstories .title-blk__h1,
  .sstories .title-blk__h1 span {
    font-size: 28px
  }

  .sstories .title-blk__sub {
    font-size: 16px
  }

  .sstories .title-blk__inner {
    padding: 0 10px
  }

  .sstories .pg-wrap {
    padding: 0 10px
  }

  .sstories .outcomes-sec__inner {
    padding: 0 10px
  }
}

.opn {
  overflow-x: hidden
}

.opn * {
  box-sizing: border-box
}

.opn img {
  opacity: 0;
  transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn img.loaded {
  opacity: 1
}

.opn .ttl-blk {
  position: relative;
  background: linear-gradient(180deg, #07535D 0%, #07535D 55%, #07535d00 100%);
  padding: 80px 40px
}

.opn .ttl-blk__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px
}

.opn .ttl-blk__text {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 40px
}

.opn .ttl-blk__label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .12em;
  color: #EDA603;
  text-transform: uppercase;
  font-weight: 600
}

.opn .ttl-blk__h1 {
  font-size: 66px;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #fff;
  font-weight: 900;
  margin: 0
}

.opn .ttl-blk__h1 span {
  display: block;
  font-size: 66px;
  font-weight: 900;
  color: #EDA603
}

.opn .ttl-blk__desc {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffd1;
  max-width: 480px;
  margin: 0
}

.opn .ttl-blk__actions {
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 10px
}

.opn .btn-prim {
  display: inline-block;
  padding: 14px 40px;
  background: #EDA603;
  color: #292828;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 6px 18px 0 #eda60317
}

.opn .btn-prim::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0;
  background: #292828;
  transition: width .26s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.opn .btn-prim:hover::after {
  width: 100%;
  left: 0;
  right: auto
}

.opn .btn-prim:hover {
  color: #EDA603
}

.opn .btn-prim span {
  position: relative;
  z-index: 1
}

.opn .btn-sec {
  display: inline-block;
  padding: 14px 40px;
  background: transparent;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  border-radius: 8px;
  border: 2px solid #fff6;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn .btn-sec::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0;
  background: #ffffff1f;
  transition: width .24s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.opn .btn-sec:hover::after {
  width: 100%
}

.opn .btn-sec span {
  position: relative;
  z-index: 1
}

.opn .ttl-blk__img-col {
  flex: 0 0 420px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px
}

.opn .ttl-blk__img-wrap {
  position: relative;
  width: 380px
}

.opn .ttl-blk__img-wrap::before,
.opn .ttl-blk__img-wrap::after {
  content: '';
  position: absolute;
  width: 28px;
  height: 28px;
  border-color: #EDA603;
  border-style: solid;
  z-index: 2
}

.opn .ttl-blk__img-wrap::before {
  top: -8px;
  left: -8px;
  border-width: 3px 0 0 3px
}

.opn .ttl-blk__img-wrap::after {
  bottom: -8px;
  right: -8px;
  border-width: 0 3px 3px 0
}

.opn .ttl-blk__img-inner {
  position: relative;
  width: 380px;
  height: 480px;
  overflow: hidden
}

.opn .ttl-blk__img-inner::before {
  content: '';
  position: absolute;
  top: -8px;
  right: -8px;
  width: 28px;
  height: 28px;
  border-top: 3px solid #EDA603;
  border-right: 3px solid #EDA603;
  z-index: 2
}

.opn .ttl-blk__img-inner::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: -8px;
  width: 28px;
  height: 28px;
  border-bottom: 3px solid #EDA603;
  border-left: 3px solid #EDA603;
  z-index: 2
}

.opn .ttl-blk__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.opn .ttl-blk__stat {
  background: #ffffff14;
  border: 1px solid #eda6034d;
  border-radius: 8px;
  padding: 20px;
  width: 100%;
  max-width: 380px
}

.opn .ttl-blk__stat-num {
  font-size: 28px;
  font-weight: 900;
  color: #EDA603;
  line-height: 1.2;
  letter-spacing: -.02em
}

.opn .ttl-blk__stat-text {
  font-size: 13px;
  color: #ffffffb3;
  line-height: 1.4;
  margin: 0
}

.opn .divider-zz {
  display: block;
  width: 100%;
  line-height: 0
}

.opn .comm {
  background: #fff;
  padding: 80px 40px;
  position: relative
}

.opn .comm::before {
  content: '';
  position: absolute;
  inset: 0;
  background: conic-gradient(from 233deg at 50% 50%, #eda6030a 0%, #07535d0f 40%, #eda60308 100%);
  pointer-events: none
}

.opn .comm__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start
}

.opn .comm__lead {
  grid-column: 1 / 2;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.opn .comm__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #07535D
}

.opn .comm__heading {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #292828;
  margin: 0;
  position: relative;
  padding-left: 20px
}

.opn .comm__heading::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: #EDA603;
  border-radius: 5px
}

.opn .comm__body {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
  margin: 0
}

.opn .comm__cards {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.opn .comm__card {
  background: #f4f6f7;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 3px 3px 0 #07535d12;
  transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1), transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn .comm__card:hover {
  box-shadow: 0 6px 18px 0 #07535d17;
  transform: translateY(-3px)
}

.opn .comm__card-icon {
  width: 40px;
  height: 40px;
  background: #07535D;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.opn .comm__card-icon svg {
  width: 22px;
  height: 22px;
  fill: #EDA603
}

.opn .comm__card-title {
  font-size: 16px;
  font-weight: 700;
  color: #292828;
  line-height: 1.4;
  margin: 0
}

.opn .comm__card-text {
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  margin: 0
}

.opn .comm__portrait-row {
  grid-column: 1 / 4;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: stretch;
  margin-top: 20px
}

.opn .comm__portrait-item {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  flex: 1 1 0;
  background: #07535D;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 6px 18px 0 #07535d17;
  position: relative;
  overflow: hidden
}

.opn .comm__portrait-img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  object-position: top;
  display: block;
  flex-shrink: 0
}

.opn .comm__portrait-info {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.opn .comm__portrait-name {
  font-size: 16px;
  font-weight: 700;
  color: #EDA603;
  line-height: 1.4;
  margin: 0
}

.opn .comm__portrait-role {
  font-size: 13px;
  color: #ffffffb3;
  line-height: 1.4;
  margin: 0
}

.opn .comm__portrait-quote {
  font-size: 13px;
  line-height: 1.6;
  color: #ffffffe0;
  margin: 0;
  font-style: italic
}

.opn .rep {
  padding: 80px 40px;
  position: relative;
  animation: bg-osc 6s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

@keyframes bg-osc {
  0% {
    background-color: #07535D
  }

  100% {
    background-color: #065059
  }
}

.opn .rep__geo {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none
}

.opn .rep__geo-shape {
  position: absolute;
  opacity: .04;
  fill: #EDA603
}

.opn .rep__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative;
  z-index: 1
}

.opn .rep__top {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-end
}

.opn .rep__heading-col {
  flex: 0 0 auto
}

.opn .rep__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #EDA603;
  margin-bottom: 10px
}

.opn .rep__h2 {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0
}

.opn .rep__desc {
  flex: 1 1 0;
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffc7;
  margin: 0
}

.opn .rep__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px
}

.opn .rep__item {
  background: #ffffff12;
  border: 1px solid #eda6032e;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn .rep__item:hover {
  background: #ffffff1f;
  border-color: #eda60373
}

.opn .rep__item-num {
  font-size: 28px;
  font-weight: 900;
  color: #EDA603;
  line-height: 1.2;
  letter-spacing: -.02em
}

.opn .rep__item-label {
  font-size: 13px;
  line-height: 1.6;
  color: #ffffffbf;
  margin: 0
}

.opn .rep__assoc {
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap
}

.opn .rep__assoc-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: #ffffff0f;
  border: 1px solid #ffffff26;
  border-radius: 22px;
  font-size: 13px;
  color: #ffffffd9;
  line-height: 1.4;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn .rep__assoc-tag:hover {
  background: #eda60326
}

.opn .rep__assoc-dot {
  width: 7px;
  height: 7px;
  background: #EDA603;
  border-radius: 5px;
  flex-shrink: 0
}

.opn .avail {
  background: #f2f4f5;
  padding: 80px 40px;
  position: relative
}

.opn .avail__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.opn .avail__head {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px
}

.opn .avail__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #EDA603;
  margin-bottom: 10px
}

.opn .avail__h2 {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #292828;
  margin: 0;
  position: relative;
  padding-left: 20px
}

.opn .avail__h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: #07535D;
  border-radius: 5px
}

.opn .avail__intro {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  max-width: 480px;
  margin: 0;
  flex-shrink: 0
}

.opn .avail__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.opn .avail__item {
  background: #fff;
  border-radius: 14px;
  padding: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  overflow: hidden;
  box-shadow: 0 3px 3px 0 #07535d12;
  transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.opn .avail__item:hover {
  box-shadow: 0 10px 48px 0 #07535d24
}

.opn .avail__item-accent {
  width: 6px;
  background: #07535D;
  flex-shrink: 0;
  border-radius: 0;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn .avail__item:hover .avail__item-accent {
  background: #EDA603
}

.opn .avail__item-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 0
}

.opn .avail__item-tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: #07535D;
  background: #07535d14;
  border-radius: 5px;
  padding: 2px 10px;
  line-height: 1.6;
  align-self: flex-start;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn .avail__item:hover .avail__item-tag {
  color: #fff;
  background: #07535D
}

.opn .avail__item-name {
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
  color: #292828;
  letter-spacing: -.01em;
  margin: 0
}

.opn .avail__item-desc {
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  margin: 0
}

.opn .avail__item-meta {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: 10px;
  flex-wrap: wrap
}

.opn .avail__meta-piece {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #07535D;
  font-weight: 600
}

.opn .avail__meta-piece svg {
  width: 14px;
  height: 14px;
  fill: #EDA603;
  flex-shrink: 0
}

.opn .avail__img-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px
}

.opn .avail__img-frame {
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  height: 260px
}

.opn .avail__img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.opn .avail__img-label {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: #07535de0;
  color: #EDA603;
  font-size: 13px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 5px;
  letter-spacing: .06em
}

.opn .ltv {
  background: #292828;
  padding: 80px 40px;
  position: relative
}

.opn .ltv__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px
}

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

.opn .ltv__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #EDA603;
  margin-bottom: 10px
}

.opn .ltv__h2 {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 20px
}

.opn .ltv__body {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffc7;
  margin: 0
}

.opn .ltv__steps {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.opn .ltv__step {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
  background: #ffffff0a;
  border-radius: 14px;
  border: 1px solid #eda6031f;
  transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.opn .ltv__step:hover {
  background: #eda60312;
  border-color: #eda60359
}

.opn .ltv__step-num {
  font-size: 21px;
  font-weight: 900;
  color: #EDA603;
  line-height: 1.2;
  flex-shrink: 0;
  width: 40px;
  text-align: center
}

.opn .ltv__step-content {
  flex: 1 1 0
}

.opn .ltv__step-title {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  margin: 0 0 6px
}

.opn .ltv__step-text {
  font-size: 13px;
  line-height: 1.6;
  color: #ffffffad;
  margin: 0
}

.opn .ltv__outcome {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px
}

.opn .ltv__out-card {
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  overflow: hidden
}

.opn .ltv__out-card--a {
  background: #07535D;
  box-shadow: 0 6px 18px 0 #07535d17
}

.opn .ltv__out-card--b {
  background: #eda6031f;
  border: 1px solid #eda60340
}

.opn .ltv__out-card--c {
  background: #ffffff0d;
  border: 1px solid #ffffff1a
}

.opn .ltv__out-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center
}

.opn .ltv__out-icon svg {
  width: 28px;
  height: 28px
}

.opn .ltv__out-title {
  font-size: 16px;
  font-weight: 700;
  color: #EDA603;
  line-height: 1.4;
  margin: 0
}

.opn .ltv__out-text {
  font-size: 13px;
  line-height: 1.6;
  color: #ffffffb8;
  margin: 0
}

.opn .ltv__dashed-frame {
  border: 2px dashed #eda60359;
  border-radius: 22px;
  padding: 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  background: #eda6030a
}

.opn .ltv__dashed-text {
  flex: 1 1 0
}

.opn .ltv__dashed-h {
  font-size: 21px;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 10px;
  letter-spacing: -.01em
}

.opn .ltv__dashed-p {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffbf;
  margin: 0
}

.opn .ltv__dashed-stat {
  flex-shrink: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.opn .ltv__dashed-num {
  font-size: 66px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.04em;
  background: conic-gradient(from 233deg at 50% 50%, #EDA603 0%, #07535D 60%, #EDA603 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.opn .ltv__dashed-sub {
  font-size: 13px;
  color: #fff9;
  line-height: 1.4
}

@media (max-width: 1366px) {

  .opn .ttl-blk__h1,
  .opn .ttl-blk__h1 span {
    font-size: clamp(38px, 5vw, 66px)
  }

  .opn .rep__grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .opn .ltv__outcome {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 768px) {
  .opn .ttl-blk {
    padding: 40px 20px
  }

  .opn .ttl-blk__inner {
    flex-direction: column;
    gap: 40px
  }

  .opn .ttl-blk__img-col {
    flex: 0 0 auto;
    width: 100%;
    align-items: center
  }

  .opn .ttl-blk__img-wrap,
  .opn .ttl-blk__img-inner {
    width: 100%;
    max-width: 340px
  }

  .opn .ttl-blk__h1,
  .opn .ttl-blk__h1 span {
    font-size: clamp(32px, 8vw, 48px)
  }

  .opn .comm {
    padding: 40px 20px
  }

  .opn .comm__inner {
    grid-template-columns: 1fr
  }

  .opn .comm__lead {
    grid-column: 1
  }

  .opn .comm__cards {
    grid-column: 1;
    grid-template-columns: 1fr
  }

  .opn .comm__portrait-row {
    grid-column: 1;
    flex-direction: column
  }

  .opn .rep {
    padding: 40px 20px
  }

  .opn .rep__top {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start
  }

  .opn .rep__grid {
    grid-template-columns: 1fr 1fr
  }

  .opn .avail {
    padding: 40px 20px
  }

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

  .opn .avail__list {
    grid-template-columns: 1fr
  }

  .opn .avail__img-row {
    grid-template-columns: 1fr
  }

  .opn .ltv {
    padding: 40px 20px
  }

  .opn .ltv__top {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .opn .ltv__outcome {
    grid-template-columns: 1fr
  }

  .opn .ltv__dashed-frame {
    flex-direction: column;
    padding: 20px
  }
}

@media (max-width: 375px) {
  .opn .rep__grid {
    grid-template-columns: 1fr
  }

  .opn .ttl-blk__actions {
    flex-direction: column
  }

  .opn .ltv__dashed-num {
    font-size: 48px
  }
}

.abt-us {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.abt-us .ed-col {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 20px
}

.abt-us .ed-col--wide {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px
}

.abt-us .dbl-wave {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  height: 40px;
  position: relative
}

.abt-us .dbl-wave svg {
  display: block;
  width: 100%;
  height: 40px
}

.abt-us .ttl-blk {
  background: #07535D;
  padding: 60px 20px 100px;
  position: relative
}

.abt-us .ttl-blk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 15% 50%, #07535d00 40%, #0732388c 100%), radial-gradient(ellipse at 85% 50%, #07535d00 40%, #0732388c 100%);
  pointer-events: none
}

.abt-us .ttl-dots {
  display: flex;
  flex-direction: row;
  gap: 10px;
  justify-content: center;
  margin-bottom: 20px
}

.abt-us .ttl-dots span {
  display: block;
  border-radius: 38px;
  background: #eda60359
}

.abt-us .ttl-dots span:nth-child(1) {
  width: 6px;
  height: 6px
}

.abt-us .ttl-dots span:nth-child(2) {
  width: 10px;
  height: 6px;
  background: #eda6038c
}

.abt-us .ttl-dots span:nth-child(3) {
  width: 6px;
  height: 6px
}

.abt-us .ttl-dots span:nth-child(4) {
  width: 14px;
  height: 6px;
  background: #eda603b3
}

.abt-us .ttl-dots span:nth-child(5) {
  width: 6px;
  height: 6px
}

.abt-us .ttl-dots span:nth-child(6) {
  width: 8px;
  height: 6px
}

.abt-us .ttl-blk .pg-label {
  display: block;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .18em;
  color: #EDA603;
  text-transform: uppercase;
  margin-bottom: 20px
}

.abt-us .ttl-blk h1 {
  font-size: 66px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #fff;
  text-align: center;
  margin: 0 0 20px
}

.abt-us .ttl-blk h1 .acc-word {
  background: conic-gradient(from 233deg, #EDA603, #07535D 60%, #EDA603);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.abt-us .ttl-slogan {
  font-size: 21px;
  line-height: 1.6;
  color: #ffffffbf;
  text-align: center;
  font-style: italic;
  font-weight: 300;
  margin: 0
}

.abt-us .pfx-shape {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #EDA603;
  border-radius: 5px;
  margin-right: 10px;
  vertical-align: middle;
  transform: rotate(45deg);
  flex-shrink: 0
}

.abt-us .story-blk {
  background: #fff;
  padding: 80px 20px;
  position: relative
}

.abt-us .story-blk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, #eda6030f 0%, transparent 55%), radial-gradient(ellipse at 100% 100%, #07535d0d 0%, transparent 55%);
  pointer-events: none
}

.abt-us .story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.abt-us .story-text h2 {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #292828;
  margin: 0 0 20px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.abt-us .story-text p {
  font-size: 16px;
  line-height: 1.6;
  color: #292828;
  margin: 0 0 20px
}

.abt-us .story-text p:last-child {
  margin-bottom: 0
}

.abt-us .story-imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 10px
}

.abt-us .s-img-wrap {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px 0 #07535d17
}

.abt-us .s-img-wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .s-img-wrap img.loaded {
  opacity: 1
}

.abt-us .s-img-wrap--tall {
  grid-row: span 2
}

.abt-us .s-img-wrap--tall img {
  height: 100%;
  min-height: 300px
}

.abt-us .yr-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #07535D;
  color: #fff;
  border-radius: 14px;
  padding: 20px;
  margin-top: 20px;
  box-shadow: 0 6px 18px 0 #07535d17
}

.abt-us .yr-badge .yr-num {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  color: #EDA603
}

.abt-us .yr-badge .yr-txt {
  font-size: 13px;
  line-height: 1.4;
  color: #fffc;
  text-align: center
}

.abt-us .team-blk {
  background: #292828;
  padding: 80px 20px;
  position: relative
}

.abt-us .team-blk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 10% 10%, #eda60312 0%, transparent 50%), radial-gradient(ellipse at 90% 90%, #07535d1f 0%, transparent 50%);
  pointer-events: none
}

.abt-us .team-hd {
  text-align: center;
  margin-bottom: 40px
}

.abt-us .team-hd h2 {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 10px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center
}

.abt-us .team-hd p {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffa6;
  max-width: 560px;
  margin: 0 auto
}

.abt-us .team-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 20px;
  align-items: start
}

.abt-us .tm-card {
  background: #ffffff0a;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 3px 3px 0 #eda60312;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), background .18s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.abt-us .tm-card:hover {
  background: #ffffff14;
  box-shadow: 0 10px 48px 0 #eda60324
}

.abt-us .tm-card .portrait-wrap {
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden
}

.abt-us .tm-card .portrait-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  opacity: 0;
  transition: opacity .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .tm-card .portrait-wrap img.loaded {
  opacity: 1
}

.abt-us .tm-card .tm-info {
  padding: 20px
}

.abt-us .tm-card .tm-name {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 10px
}

.abt-us .tm-card .tm-role {
  font-size: 13px;
  font-weight: 600;
  color: #EDA603;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 10px
}

.abt-us .tm-card .tm-bio {
  font-size: 13px;
  line-height: 1.6;
  color: #fff9;
  margin: 0
}

.abt-us .tm-feat {
  background: #eda6030f;
  border-radius: 22px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: 0 6px 18px 0 #eda60317
}

.abt-us .tm-feat h3 {
  font-size: 21px;
  font-weight: 900;
  line-height: 1.2;
  color: #EDA603;
  margin: 0;
  letter-spacing: -.01em
}

.abt-us .tm-feat p {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffbf;
  margin: 0
}

.abt-us .tm-feat .feat-img-wrap {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px 0 #07535d17
}

.abt-us .tm-feat .feat-img-wrap img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .tm-feat .feat-img-wrap img.loaded {
  opacity: 1
}

.abt-us .tm-feat .skill-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.abt-us .tm-feat .skill-list li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 1.4;
  color: #fffc
}

.abt-us .skill-ico {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.abt-us .tm-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0;
  border-color: transparent transparent #EDA603;
  border-radius: 5px 0 0 0;
  transition: border-width .26s cubic-bezier(0.0, 0, 0.2, 1);
  pointer-events: none
}

.abt-us .tm-card:hover::after {
  border-width: 0 0 28px 28px
}

.abt-us .approach-blk {
  background: #f5f0e8;
  padding: 80px 20px;
  position: relative
}

.abt-us .approach-blk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 5% 95%, #07535d12 0%, transparent 45%), radial-gradient(ellipse at 95% 5%, #eda60314 0%, transparent 45%);
  pointer-events: none
}

.abt-us .approach-top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 40px
}

.abt-us .approach-hd-col {
  grid-column: span 2
}

.abt-us .approach-hd-col h2 {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #292828;
  margin: 0 0 20px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.abt-us .approach-hd-col p {
  font-size: 16px;
  line-height: 1.6;
  color: #292828;
  margin: 0
}

.abt-us .metric-side {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center
}

.abt-us .metric-item {
  background: #07535D;
  border-radius: 14px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 6px 18px 0 #07535d17;
  transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .metric-item:hover {
  box-shadow: 0 10px 48px 0 #07535d24
}

.abt-us .metric-item .m-val {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  color: #EDA603;
  display: block
}

.abt-us .metric-item .m-label {
  font-size: 13px;
  line-height: 1.4;
  color: #ffffffbf;
  display: block;
  margin-top: 10px
}

.abt-us .steps-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px
}

.abt-us .step-card {
  background: #fff;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 3px 3px 0 #07535d12;
  position: relative;
  overflow: hidden;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .step-card:hover {
  box-shadow: 0 10px 48px 0 #07535d24
}

.abt-us .step-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: conic-gradient(from 233deg, #EDA603, #07535D 60%, #EDA603);
  border-radius: 22px 22px 0 0
}

.abt-us .step-num {
  font-size: 66px;
  font-weight: 900;
  line-height: 1.2;
  color: #07535d14;
  display: block;
  letter-spacing: -.04em;
  margin-bottom: 10px
}

.abt-us .step-card h4 {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  color: #292828;
  margin: 0 0 10px;
  letter-spacing: -.01em
}

.abt-us .step-card p {
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  margin: 0
}

@keyframes pan-bg {
  0% {
    background-position: 0 50%
  }

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

.abt-us .pano-strip {
  width: 100%;
  height: 200px;
  border-radius: 14px;
  overflow: hidden;
  margin-top: 40px;
  position: relative;
  box-shadow: 0 6px 18px 0 #07535d17
}

.abt-us .pano-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .pano-strip img.loaded {
  opacity: 1;
  animation: pan-bg 18s linear infinite alternate
}

.abt-us .pano-strip::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #07535d73, transparent 30%, transparent 70%, #07535d73);
  pointer-events: none
}

@media (max-width: 1366px) {
  .abt-us .ttl-blk h1 {
    font-size: clamp(36px, 6vw, 66px)
  }

  .abt-us .steps-row {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 768px) {
  .abt-us .ttl-blk {
    padding: 40px 20px 80px
  }

  .abt-us .ttl-blk h1 {
    font-size: clamp(28px, 8vw, 48px)
  }

  .abt-us .story-grid {
    grid-template-columns: 1fr
  }

  .abt-us .story-imgs {
    grid-template-columns: 1fr 1fr
  }

  .abt-us .s-img-wrap--tall {
    grid-row: auto
  }

  .abt-us .s-img-wrap--tall img {
    min-height: 0
  }

  .abt-us .team-grid {
    grid-template-columns: 1fr 1fr
  }

  .abt-us .tm-feat {
    grid-column: span 2
  }

  .abt-us .approach-top {
    grid-template-columns: 1fr
  }

  .abt-us .approach-hd-col {
    grid-column: span 1
  }

  .abt-us .metric-side {
    flex-direction: row
  }

  .abt-us .steps-row {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 375px) {
  .abt-us .story-imgs {
    grid-template-columns: 1fr
  }

  .abt-us .team-grid {
    grid-template-columns: 1fr
  }

  .abt-us .tm-feat {
    grid-column: span 1
  }

  .abt-us .steps-row {
    grid-template-columns: 1fr
  }

  .abt-us .metric-side {
    flex-direction: column
  }

  .abt-us .ttl-slogan {
    font-size: 16px
  }
}

.ctus-pg {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden
}

.ctus-pg .pg-strip {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative
}

.ctus-pg .pg-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: grayscale(100%);
  display: block;
  opacity: 0;
  transition: opacity .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .pg-strip img.loaded {
  opacity: 1
}

.ctus-pg .strip-cross-div {
  width: 100%;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background: #fff;
  padding: 0 20px;
  overflow: hidden
}

.ctus-pg .strip-cross-div .cross-unit {
  width: 10px;
  height: 10px;
  position: relative;
  flex-shrink: 0
}

.ctus-pg .strip-cross-div .cross-unit::before,
.ctus-pg .strip-cross-div .cross-unit::after {
  content: "";
  position: absolute;
  background: #EDA603
}

.ctus-pg .strip-cross-div .cross-unit::before {
  width: 1px;
  height: 10px;
  top: 0;
  left: 50%;
  transform: translateX(-50%)
}

.ctus-pg .strip-cross-div .cross-unit::after {
  width: 10px;
  height: 1px;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}

.ctus-pg .lede-zone {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px 80px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.ctus-pg .lede-left {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.ctus-pg .lede-label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #07535D;
  font-weight: 600;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px
}

.ctus-pg .lede-label::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: #EDA603
}

.ctus-pg .lede-h1 {
  font-size: 66px;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #292828;
  font-weight: 900;
  margin: 0
}

.ctus-pg .lede-h1 span {
  display: block;
  background: conic-gradient(from 233deg, #EDA603, #07535D);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.ctus-pg .lede-body {
  font-size: 16px;
  line-height: 1.6;
  color: #292828;
  margin: 0;
  max-width: 480px
}

.ctus-pg .lede-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 80px
}

.ctus-pg .reach-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px 0 #eda60317;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .reach-item:hover {
  box-shadow: 0 10px 48px 0 #eda60324
}

.ctus-pg .reach-item-label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #07535D;
  font-weight: 700;
  padding-bottom: 10px;
  border-bottom: 1px solid #eda6034d
}

.ctus-pg .reach-item-val {
  font-size: 16px;
  line-height: 1.6;
  color: #292828;
  font-weight: 400
}

.ctus-pg .reach-item-val a {
  color: #07535D;
  text-decoration: none;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .reach-item-val a:hover {
  color: #EDA603
}

.ctus-pg .reach-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0
}

.ctus-pg .reach-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px
}

.ctus-pg .form-band {
  width: 100%;
  background: #fdf8ee;
  position: relative;
  overflow: hidden
}

.ctus-pg .form-band-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 80px;
  align-items: start
}

.ctus-pg .form-aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 40px
}

.ctus-pg .form-aside-h2 {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #292828;
  font-weight: 900;
  margin: 0
}

.ctus-pg .form-aside-note {
  font-size: 16px;
  line-height: 1.6;
  color: #07535D;
  margin: 0
}

.ctus-pg .form-aside-img {
  width: 100%;
  height: 220px;
  border-radius: 14px;
  overflow: hidden
}

.ctus-pg .form-aside-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .form-aside-img img.loaded {
  opacity: 1
}

.ctus-pg .geo-detail {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 20px
}

.ctus-pg .geo-line {
  font-size: 13px;
  line-height: 1.6;
  color: #292828
}

.ctus-pg .geo-line strong {
  color: #07535D;
  font-weight: 700
}

.ctus-pg .frm {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.ctus-pg .frm-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.ctus-pg .frm-field {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.ctus-pg .frm-field label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #07535D;
  font-weight: 700
}

.ctus-pg .frm-field input[type="text"],
.ctus-pg .frm-field input[type="email"],
.ctus-pg .frm-field textarea {
  width: 100%;
  padding: 14px 20px;
  border: 1.5px solid #07535d33;
  border-radius: 8px;
  font-size: 16px;
  line-height: 1.6;
  color: #292828;
  background: #fff;
  box-shadow: inset 0 2px 4px #07535d0a inset 0 -1px 2px #eda6030a;
  transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
  box-sizing: border-box
}

.ctus-pg .frm-field input::placeholder,
.ctus-pg .frm-field textarea::placeholder {
  color: #29282866;
  font-weight: 300
}

.ctus-pg .frm-field input:focus,
.ctus-pg .frm-field textarea:focus {
  border-color: #07535D;
  box-shadow: 0 0 0 3px #07535d1a inset 0 2px 4px #07535d0a
}

.ctus-pg .frm-field textarea {
  resize: vertical;
  min-height: 120px
}

.ctus-pg .budget-group {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.ctus-pg .budget-group-label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #07535D;
  font-weight: 700
}

.ctus-pg .budget-opts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px
}

.ctus-pg .budget-opt {
  position: relative
}

.ctus-pg .budget-opt input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none
}

.ctus-pg .budget-opt label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 10px;
  border: 1.5px solid #07535d33;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  text-align: center;
  font-size: 13px;
  line-height: 1.4;
  color: #292828;
  font-weight: 600;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing: border-box;
  width: 100%;
  letter-spacing: 0
}

.ctus-pg .budget-opt label:hover {
  border-color: #EDA603;
  background: #eda6030f
}

.ctus-pg .budget-opt input[type="radio"]:checked+label {
  border-color: #07535D;
  background: #07535D;
  color: #fff
}

.ctus-pg .budget-opt input[type="radio"]:focus-visible+label {
  outline: 2px solid #EDA603;
  outline-offset: 2px
}

.ctus-pg .budget-amt {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 900;
  display: block;
  margin-bottom: 4px
}

.ctus-pg .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px
}

.ctus-pg .privacy-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #07535D;
  cursor: pointer
}

.ctus-pg .privacy-row .priv-text {
  font-size: 13px;
  line-height: 1.6;
  color: #292828
}

.ctus-pg .privacy-row .priv-text a {
  color: #07535D;
  text-decoration: underline;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .privacy-row .priv-text a:hover {
  color: #EDA603
}

.ctus-pg .btn-submit {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 40px;
  border-radius: 8px;
  border: none;
  background: #07535D;
  color: #fff;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 18px 0 #07535d17;
  transition: box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
  align-self: flex-start
}

.ctus-pg .btn-submit::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background: #EDA603;
  transition: width .26s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0
}

.ctus-pg .btn-submit:hover::before {
  width: 100%;
  left: 0;
  right: auto
}

.ctus-pg .btn-submit:hover {
  color: #292828;
  box-shadow: 0 10px 48px 0 #07535d24
}

.ctus-pg .btn-submit span {
  position: relative;
  z-index: 1
}

.ctus-pg .btn-submit:focus-visible {
  outline: 2px solid #EDA603;
  outline-offset: 3px
}

.ctus-pg .btn-submit:active {
  transform: translateY(1px)
}

.ctus-pg .stories-band {
  width: 100%;
  background: #292828;
  position: relative;
  overflow: hidden
}

.ctus-pg .stories-band-geo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden
}

.ctus-pg .stories-band-geo .geo-shape {
  position: absolute;
  opacity: .04
}

.ctus-pg .stories-band-geo .geo-shape.sq1 {
  width: 60px;
  height: 60px;
  border: 2px solid #EDA603;
  border-radius: 5px;
  top: 40px;
  left: 80px;
  transform: rotate(20deg)
}

.ctus-pg .stories-band-geo .geo-shape.sq2 {
  width: 40px;
  height: 40px;
  border: 2px solid #EDA603;
  border-radius: 5px;
  bottom: 40px;
  right: 160px;
  transform: rotate(45deg)
}

.ctus-pg .stories-band-geo .geo-shape.tri1 {
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-bottom: 44px solid #EDA603;
  top: 80px;
  right: 80px
}

.ctus-pg .stories-band-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px
}

.ctus-pg .stories-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 600px
}

.ctus-pg .stories-eyebrow {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #EDA603;
  font-weight: 700
}

.ctus-pg .stories-h2 {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #fff;
  font-weight: 900;
  margin: 0
}

.ctus-pg .stories-body {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffbf;
  margin: 0
}

.ctus-pg .stories-metrics {
  display: flex;
  flex-direction: row;
  gap: 40px
}

.ctus-pg .metric-item {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.ctus-pg .metric-val {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 900;
  color: #EDA603;
  letter-spacing: -.02em
}

.ctus-pg .metric-desc {
  font-size: 13px;
  line-height: 1.4;
  color: #fff9;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600
}

.ctus-pg .stories-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
  flex-shrink: 0
}

.ctus-pg .btn-stories {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 16px 40px;
  border-radius: 22px;
  border: 2px solid #EDA603;
  background: transparent;
  color: #EDA603;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .btn-stories::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background: #EDA603;
  transition: width .26s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0
}

.ctus-pg .btn-stories:hover::before {
  width: 100%;
  left: 0;
  right: auto
}

.ctus-pg .btn-stories:hover {
  color: #292828;
  box-shadow: 0 10px 48px 0 #eda60324
}

.ctus-pg .btn-stories span {
  position: relative;
  z-index: 1
}

.ctus-pg .btn-stories:focus-visible {
  outline: 2px solid #EDA603;
  outline-offset: 3px
}

.ctus-pg .reveal-clip {
  clip-path: inset(0 100% 0 0);
  animation: wipe-in .4s cubic-bezier(0.4, 0, 0.2, 1) .1s forwards
}

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

.ctus-pg .reveal-clip-delay {
  clip-path: inset(0 100% 0 0);
  animation: wipe-in .4s cubic-bezier(0.4, 0, 0.2, 1) .28s forwards
}

@media (max-width: 1366px) {
  .ctus-pg .lede-zone {
    padding: 80px 40px 40px;
    gap: 40px
  }

  .ctus-pg .form-band-inner {
    padding: 80px 40px;
    gap: 40px;
    grid-template-columns: 300px 1fr
  }

  .ctus-pg .stories-band-inner {
    padding: 80px 40px
  }
}

@media (max-width: 768px) {
  .ctus-pg .pg-strip {
    height: 120px
  }

  .ctus-pg .lede-zone {
    grid-template-columns: 1fr;
    padding: 40px 20px;
    gap: 40px
  }

  .ctus-pg .lede-h1 {
    font-size: clamp(28px, 8vw, 66px)
  }

  .ctus-pg .lede-right {
    padding-top: 0
  }

  .ctus-pg .form-band-inner {
    grid-template-columns: 1fr;
    padding: 40px 20px;
    gap: 40px
  }

  .ctus-pg .form-aside {
    position: static
  }

  .ctus-pg .frm-row {
    grid-template-columns: 1fr
  }

  .ctus-pg .budget-opts {
    grid-template-columns: 1fr 1fr
  }

  .ctus-pg .stories-band-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 20px;
    gap: 40px
  }

  .ctus-pg .stories-right {
    align-items: flex-start;
    width: 100%
  }

  .ctus-pg .stories-metrics {
    flex-wrap: wrap;
    gap: 20px
  }
}

@media (max-width: 375px) {
  .ctus-pg .lede-zone {
    padding: 40px 10px
  }

  .ctus-pg .form-band-inner {
    padding: 40px 10px
  }

  .ctus-pg .stories-band-inner {
    padding: 40px 10px
  }

  .ctus-pg .budget-opts {
    grid-template-columns: 1fr
  }

  .ctus-pg .stories-metrics {
    flex-direction: column;
    gap: 20px
  }

  .ctus-pg .lede-h1 {
    font-size: 28px
  }
}

.succ-page {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  background: #fff
}

.succ-page .succ-wrap {
  max-width: 560px;
  width: 100%;
  text-align: center
}

.succ-page .succ-icon-ring {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: conic-gradient(from 233deg, #EDA603, #07535D);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin: 0 auto 40px;
  box-shadow: 0 6px 18px 0 #07535d17
}

.succ-page .succ-icon-ring svg {
  width: 40px;
  height: 40px;
  display: block
}

.succ-page .succ-heading {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #292828;
  margin: 0 0 20px
}

.succ-page .succ-sub {
  font-size: 16px;
  line-height: 1.6;
  color: #07535D;
  margin: 0 0 40px
}

.succ-page .succ-divider {
  width: 48px;
  height: 3px;
  border-radius: 5px;
  background: conic-gradient(from 233deg, #EDA603, #07535D);
  margin: 0 auto 40px
}

.succ-page .succ-note {
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  margin: 0 0 40px;
  padding: 20px;
  border-radius: 14px;
  background: #f5f7f7;
  box-shadow: 0 3px 3px 0 #07535d12
}

.succ-page .succ-btn {
  display: inline-block;
  padding: 20px 40px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  background: #07535D;
  border-radius: 8px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 18px 0 #07535d17;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.succ-page .succ-btn::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 100%;
  background: #EDA603;
  border-radius: 8px;
  transition: left .26s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.succ-page .succ-btn:hover::after {
  left: 0
}

.succ-page .succ-btn:hover {
  color: #292828
}

.succ-page .succ-btn span {
  position: relative;
  z-index: 1
}

.succ-page .succ-btn:focus-visible {
  outline: 3px solid #EDA603;
  outline-offset: 3px
}

@media (max-width: 768px) {
  .succ-page {
    padding: 80px 20px
  }

  .succ-page .succ-heading {
    font-size: 21px
  }
}

@media (max-width: 375px) {
  .succ-page .succ-icon-ring {
    width: 72px;
    height: 72px
  }

  .succ-page .succ-btn {
    padding: 20px;
    font-size: 13px
  }
}