@import "https://cdn.jsdelivr.net/npm/@fontsource/lato@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lato@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/700.css";

::before,
::after {
  content: none;
  box-sizing: inherit
}

body {
  margin: 0
}

.pv-hd {
  background: linear-gradient(160deg, #F9F8F6 60%, #D3DCB3 100%);
  border-bottom: 1px solid #c0965b2e;
  box-shadow: 0 2px 3px 1px #c0965b12;
  position: relative;
  z-index: 10
}

.pv-hd-top {
  max-width: 1170px;
  margin: 0 auto;
  padding: 24px 36px 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px
}

.pv-brand-hold {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0
}

.pv-logo-cap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2b2420;
  border-radius: 44px;
  padding: 8px 24px;
  box-shadow: 0 5px 14px 1px #c0965b17;
  border: 1px solid #c0965b4d;
  width: 120px;
  height: 60px
}

.pv-logo-cap img {
  width: 88px;
  height: 44px;
  object-fit: contain;
  display: block
}

.pv-brand-name {
  font-family: 'Lato', sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .02em;
  color: #2b2420
}

.pv-brand-sub {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: .02em;
  color: #7a6040;
  margin-top: 4px
}

.pv-hd-accent {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px
}

.pv-accent-dot {
  width: 8px;
  height: 8px;
  border-radius: 6px;
  background: #C0965B;
  flex-shrink: 0
}

.pv-accent-line {
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #C0965B 0%, #D3DCB3 100%);
  border-radius: 6px
}

.pv-accent-diamond {
  width: 8px;
  height: 8px;
  background: #D3DCB3;
  border: 1px solid #C0965B;
  transform: rotate(45deg);
  border-radius: 2px;
  flex-shrink: 0
}

.pv-hd-divider {
  max-width: 1170px;
  margin: 12px auto 0;
  padding: 0 36px
}

.pv-hd-divider-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #c0965b59 20%, #c0965b8c 50%, #c0965b59 80%, transparent 100%)
}

.pv-hd-nav-row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

.pv-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: stretch
}

.pv-nav-list li {
  display: flex
}

.pv-nav-link {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #3a2e24;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 6px 6px 0 0;
  display: flex;
  align-items: center;
  min-height: 44px;
  position: relative;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.pv-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  height: 2px;
  background: #C0965B;
  border-radius: 6px 6px 0 0;
  opacity: 0;
  transition: opacity .4s ease-in-out
}

.pv-nav-link:hover {
  color: #8a5e28;
  background: #c0965b14
}

.pv-nav-link:hover::after {
  opacity: 1
}

.pv-nav-link:focus {
  outline: 2px dashed #C0965B;
  outline-offset: 2px
}

.pv-nav-link.active {
  color: #8a5e28;
  background: #c0965b1f
}

.pv-nav-link.active::after {
  opacity: 1
}

@media (max-width: 768px) {
  .pv-hd-top {
    padding: 16px 16px 0;
    flex-wrap: wrap;
    gap: 12px
  }

  .pv-hd-divider {
    padding: 0 16px;
    margin-top: 8px
  }

  .pv-hd-nav-row {
    padding: 0 8px
  }

  .pv-nav-list {
    gap: 0
  }

  .pv-nav-link {
    font-size: 13px;
    padding: 12px
  }

  .pv-nav-link::after {
    left: 12px;
    right: 12px
  }

  .pv-brand-name {
    font-size: 17px
  }

  .pv-logo-cap {
    width: 80px;
    height: 48px;
    padding: 8px 12px
  }

  .pv-logo-cap img {
    width: 60px;
    height: 36px
  }

  .pv-hd-accent {
    display: none
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .pv-hd-top {
    padding: 24px 24px 0
  }

  .pv-hd-divider {
    padding: 0 24px
  }

  .pv-hd-nav-row {
    padding: 0 24px
  }
}

.pv-ft {
  background: linear-gradient(175deg, #2b2420 0%, #3a2e24 100%);
  color: #F9F8F6;
  padding-top: 0
}

.pv-ft-upper {
  max-width: 1170px;
  margin: 0 auto;
  padding: 36px 36px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 36px;
  align-items: start
}

.pv-ft-desc-hold {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.pv-ft-brand {
  font-family: 'Lato', sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
  color: #C0965B
}

.pv-ft-desc {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #f9f8f6b8
}

.pv-ft-contact-hold {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.pv-ft-col-label {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
  color: #C0965B;
  text-transform: uppercase;
  margin-bottom: 4px
}

.pv-ft-addr {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #f9f8f6b8;
  font-style: normal
}

.pv-ft-contact-link {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #f9f8f6b8;
  text-decoration: none;
  display: block;
  transition: color .5s ease-in-out
}

.pv-ft-contact-link:hover {
  color: #C0965B
}

.pv-ft-contact-link:focus {
  outline: 2px dashed #c0965bb3;
  outline-offset: 2px
}

.pv-ft-links-hold {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.pv-ft-nav-link {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #f9f8f6b8;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color .5s ease-in-out
}

.pv-ft-nav-link:hover {
  color: #C0965B
}

.pv-ft-nav-link:focus {
  outline: 2px dashed #c0965bb3;
  outline-offset: 2px
}

.pv-ft-nav-arrow {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  opacity: .5
}

.pv-ft-mid-divider {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

.pv-ft-mid-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #c0965b40 30%, #c0965b66 50%, #c0965b40 70%, transparent 100%)
}

.pv-ft-logo-row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 24px 36px;
  display: flex;
  justify-content: center
}

.pv-ft-logo-cap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9f8f614;
  border-radius: 44px;
  padding: 8px 24px;
  border: 1px solid #c0965b40;
  box-shadow: 0 2px 3px 1px #c0965b12;
  width: 120px;
  height: 56px
}

.pv-ft-logo-cap img {
  width: 80px;
  height: 40px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
  opacity: .85
}

.pv-ft-lower {
  background: #0000002e;
  border-top: 1px solid #c0965b1f
}

.pv-ft-copy-row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 12px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap
}

.pv-ft-copy {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #f9f8f673
}

.pv-ft-copy-loc {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #f9f8f659
}

@media (max-width: 768px) {
  .pv-ft-upper {
    grid-template-columns: 1fr;
    padding: 24px 16px 16px;
    gap: 24px
  }

  .pv-ft-mid-divider {
    padding: 0 16px
  }

  .pv-ft-logo-row {
    padding: 16px
  }

  .pv-ft-copy-row {
    padding: 12px 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .pv-ft-upper {
    padding: 36px 24px 24px;
    gap: 24px
  }

  .pv-ft-mid-divider {
    padding: 0 24px
  }

  .pv-ft-logo-row {
    padding: 24px
  }

  .pv-ft-copy-row {
    padding: 12px 24px
  }
}

.pv-ck {
  position: fixed;
  top: 24px;
  left: 24px;
  z-index: 1000;
  background: #F9F8F6;
  border: 1px solid #c0965b4d;
  border-radius: 16px;
  box-shadow: 0 12px 48px 1px #c0965b1a;
  padding: 24px;
  max-width: 320px;
  width: calc(100vw - 48px)
}

.pv-ck-ttl {
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #2b2420;
  margin-bottom: 8px
}

.pv-ck-txt {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #5a4a38;
  margin-bottom: 16px
}

.pv-ck-btns {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap
}

.pv-ck-accept {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #2b2420;
  background: transparent;
  border: 2px solid #C0965B;
  border-radius: 6px;
  padding: 8px 16px;
  cursor: pointer;
  min-height: 44px;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.pv-ck-accept:hover {
  background: #C0965B;
  color: #F9F8F6
}

.pv-ck-accept:focus {
  outline: 2px dashed #C0965B;
  outline-offset: 2px
}

.pv-ck-decline {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #7a6040;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 4px;
  min-height: 44px;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .4s ease-in-out
}

.pv-ck-decline:hover {
  color: #2b2420
}

.pv-ck-decline:focus {
  outline: 2px dashed #C0965B;
  outline-offset: 2px
}

.policy-frame {
  max-width: 1170px;
  margin: 0 auto;
  padding: 72px 24px;
  color: #2a2118;
  background: #F9F8F6
}

.policy-frame h1 {
  font-size: 50px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #1e1710;
  margin-bottom: 36px;
  margin-top: 0
}

.policy-frame h2 {
  font-size: 38px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #1e1710;
  margin-top: 72px;
  margin-bottom: 24px
}

.policy-frame h3 {
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #2a2118;
  margin-top: 36px;
  margin-bottom: 24px
}

.policy-frame h4 {
  font-size: 17px;
  line-height: 1.35;
  letter-spacing: .02em;
  color: #2a2118;
  font-weight: 700;
  margin-top: 36px;
  margin-bottom: 12px
}

.policy-frame h5 {
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: .02em;
  color: #C0965B;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 24px;
  margin-bottom: 8px
}

.policy-frame h6 {
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: .02em;
  color: #5a4a38;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 24px;
  margin-bottom: 8px
}

.policy-frame p {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #2a2118;
  margin-top: 0;
  margin-bottom: 24px
}

.policy-frame ul {
  margin-top: 0;
  margin-bottom: 24px;
  padding-left: 24px;
  list-style: none
}

.policy-frame ol {
  margin-top: 0;
  margin-bottom: 24px;
  padding-left: 24px;
  list-style: none;
  counter-reset: policy-counter
}

.policy-frame ul li {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #2a2118;
  margin-bottom: 8px;
  padding-left: 20px;
  position: relative
}

.policy-frame ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 44px;
  background: #C0965B
}

.policy-frame ol li {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #2a2118;
  margin-bottom: 8px;
  padding-left: 20px;
  position: relative;
  counter-increment: policy-counter
}

.policy-frame ol li::before {
  content: counter(policy-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 15px;
  font-weight: 700;
  color: #C0965B;
  line-height: 1.8
}

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

.policy-frame strong,
.policy-frame b {
  font-weight: 700;
  color: #1e1710
}

.policy-frame em,
.policy-frame i {
  font-style: italic;
  color: #5a4a38
}

.policy-frame a {
  color: #C0965B;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.policy-frame a:hover {
  color: #9a7540;
  text-decoration-color: transparent
}

.policy-frame a:visited {
  color: #a07848
}

.policy-frame hr {
  border: none;
  border-top: 1px solid #D3DCB3;
  margin-top: 36px;
  margin-bottom: 36px;
  opacity: .8
}

@media (max-width: 768px) {
  .policy-frame {
    padding: 36px 24px
  }

  .policy-frame h1 {
    font-size: 38px;
    margin-bottom: 24px
  }

  .policy-frame h2 {
    font-size: 28px;
    margin-top: 36px;
    margin-bottom: 12px
  }

  .policy-frame h3 {
    font-size: 17px;
    margin-top: 24px;
    margin-bottom: 12px
  }

  .policy-frame h4 {
    font-size: 15px;
    margin-top: 24px
  }

  .policy-frame p {
    font-size: 15px;
    line-height: 1.8
  }

  .policy-frame ul li,
  .policy-frame ol li {
    font-size: 15px
  }
}

@media (min-width: 768px) and (max-width: 1280px) {
  .policy-frame {
    padding: 72px 36px
  }

  .policy-frame h1 {
    font-size: 38px
  }

  .policy-frame h2 {
    font-size: 28px
  }
}

.stnb {
  background: #F9F8F6;
  overflow-x: clip
}

.stnb .pg-hero {
  max-width: 1170px;
  margin: 0 auto;
  padding: 72px 36px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 72px
}

.stnb .pg-hero-text {
  flex: 1 1 0;
  min-width: 0
}

.stnb .pg-hero-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #C0965B;
  margin-bottom: 24px
}

.stnb .pg-hero-h1 {
  font-size: 50px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #1b1b18;
  text-transform: uppercase;
  margin: 0 0 24px
}

.stnb .pg-hero-h1 em {
  font-style: normal;
  color: #C0965B
}

.stnb .pg-hero-sub {
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2e2e2b;
  margin: 0 0 36px
}

.stnb .pg-hero-cta {
  display: inline-block;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  color: #1b1b18;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 16px 44px;
  border-radius: 6px;
  text-decoration: none;
  box-shadow: 0 5px 14px 1px #c0965b17;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.stnb .pg-hero-cta:hover {
  box-shadow: 0 12px 48px 1px #c0965b2e
}

.stnb .pg-hero-cta:focus {
  outline: 3px solid #C0965B;
  outline-offset: 3px
}

.stnb .pg-hero-img-col {
  flex: 0 0 340px;
  width: 340px
}

.stnb .pg-hero-img-wrap {
  position: relative;
  width: 340px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 48px 1px #c0965b1a
}

.stnb .pg-hero-img-wrap img {
  width: 340px;
  height: 440px;
  object-fit: cover;
  object-position: center;
  display: block
}

.stnb .pg-hero-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 80%, #1b1b1885 0%, #1b1b1814 60%, transparent 100%);
  pointer-events: none
}

.stnb .divider-dot {
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #C0965B 0px, #C0965B 5px, transparent 5px, transparent 14px);
  opacity: .45
}

.stnb .approach-band {
  background: linear-gradient(17deg, #C0965B 0%, #D3DCB3 100%);
  padding: 72px 0
}

.stnb .approach-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

.stnb .approach-heading {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #1b1b18;
  margin: 0 0 12px
}

.stnb .approach-sub {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2e2e2b;
  margin: 0 0 36px;
  max-width: 600px
}

.stnb .approach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.stnb .approach-card {
  background: #f9f8f6d1;
  border-radius: 16px;
  padding: 36px 24px 24px;
  position: relative;
  box-shadow: 0 5px 14px 1px #c0965b17;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.stnb .approach-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 36px solid #C0965B;
  border-left: 36px solid transparent;
  border-radius: 0 16px 0 0
}

.stnb .approach-card:hover {
  box-shadow: 0 12px 48px 1px #c0965b24
}

.stnb .approach-card-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.stnb .approach-card-h {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #1b1b18;
  margin: 0 0 12px
}

.stnb .approach-card-p {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2e2e2b;
  margin: 0
}

.stnb .approach-card-num {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #C0965B;
  margin-bottom: 8px;
  display: block
}

.stnb .divider-line {
  width: 100%;
  height: 1px;
  background: #D3DCB3;
  opacity: .7
}

.stnb .detail-band {
  background: #F9F8F6;
  padding: 72px 0
}

.stnb .detail-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px;
  display: flex;
  flex-direction: row;
  gap: 72px;
  align-items: flex-start
}

.stnb .detail-text-col {
  flex: 1 1 0;
  min-width: 0
}

.stnb .detail-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #1b1b18;
  margin: 0 0 24px
}

.stnb .detail-h2 span {
  color: #C0965B
}

.stnb .detail-paras {
  list-style: none;
  padding: 0;
  margin: 0 0 36px;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.stnb .detail-para {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start
}

.stnb .detail-para-num {
  flex: 0 0 28px;
  font-size: 13px;
  font-weight: 700;
  color: #C0965B;
  letter-spacing: .08em;
  padding-top: 3px
}

.stnb .detail-para-body {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2e2e2b;
  margin: 0;
  flex: 1
}

.stnb .detail-img-col {
  flex: 0 0 400px;
  width: 400px
}

.stnb .detail-img-wrap {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 48px 1px #c0965b1a;
  position: relative
}

.stnb .detail-img-wrap img {
  width: 400px;
  height: 500px;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(100%) sepia(18%)
}

.stnb .detail-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(17deg, #c0965b4d 0%, #d3dcb32e 100%);
  pointer-events: none
}

.stnb .detail-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 36px
}

.stnb .detail-metric {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 3px 1px #c0965b12;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: box-shadow .42s ease-in-out
}

.stnb .detail-metric:hover {
  box-shadow: 0 5px 14px 1px #c0965b21
}

.stnb .detail-metric-val {
  font-size: 28px;
  font-weight: 800;
  color: #C0965B;
  line-height: 1.1;
  letter-spacing: .01em
}

.stnb .detail-metric-lbl {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #2e2e2b
}

.stnb .icon-grid-band {
  background: #2e2e2b;
  padding: 72px 0
}

.stnb .icon-grid-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

.stnb .icon-grid-top {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 72px
}

.stnb .icon-grid-h {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #F9F8F6;
  margin: 0;
  max-width: 480px
}

.stnb .icon-grid-h em {
  font-style: normal;
  color: #C0965B
}

.stnb .icon-grid-intro {
  font-size: 15px;
  line-height: 1.6;
  color: #D3DCB3;
  letter-spacing: .01em;
  max-width: 380px;
  margin: 0
}

.stnb .icon-grid-nodes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
  position: relative
}

.stnb .icon-grid-nodes::before {
  content: "";
  position: absolute;
  top: 36px;
  left: calc(12.5% + 22px);
  right: calc(12.5% + 22px);
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #C0965B 0px, #C0965B 6px, transparent 6px, transparent 16px);
  pointer-events: none
}

.stnb .icon-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center
}

.stnb .icon-node-circle {
  width: 72px;
  height: 72px;
  border-radius: 44px;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 5px 14px 1px #c0965b2e;
  flex-shrink: 0;
  animation: soft-pulse 3.2s ease-in-out infinite
}

@keyframes soft-pulse {

  0%,
  100% {
    transform: scale(1)
  }

  50% {
    transform: scale(1.02)
  }
}

.stnb .icon-node-lbl {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #F9F8F6;
  margin: 0
}

.stnb .icon-node-desc {
  font-size: 13px;
  line-height: 1.6;
  color: #D3DCB3;
  letter-spacing: .01em;
  margin: 0
}

.stnb .testimonials-band {
  background: #F9F8F6;
  padding: 72px 0
}

.stnb .test-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

.stnb .test-h {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #1b1b18;
  margin: 0 0 36px
}

.stnb .test-h span {
  color: #C0965B
}

.stnb .test-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px
}

.stnb .test-card {
  background: #fff;
  border-radius: 16px;
  padding: 36px;
  box-shadow: 0 5px 14px 1px #c0965b17;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.stnb .test-card:hover {
  box-shadow: 0 12px 48px 1px #c0965b21
}

.stnb .test-portrait {
  flex: 0 0 80px;
  width: 80px;
  height: 100px;
  overflow: hidden
}

.stnb .test-portrait img {
  width: 80px;
  height: 100px;
  object-fit: cover;
  object-position: center;
  display: block
}

.stnb .test-body {
  flex: 1;
  min-width: 0
}

.stnb .test-quote {
  font-size: 15px;
  line-height: 1.6;
  color: #2e2e2b;
  letter-spacing: .01em;
  margin: 0 0 16px;
  font-style: italic
}

.stnb .test-name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #1b1b18;
  margin: 0 0 4px
}

.stnb .test-role {
  font-size: 13px;
  color: #C0965B;
  letter-spacing: .04em
}

@media (max-width: 1280px) {
  .stnb .pg-hero {
    gap: 36px
  }

  .stnb .pg-hero-img-col {
    flex: 0 0 280px;
    width: 280px
  }

  .stnb .pg-hero-img-wrap {
    width: 280px
  }

  .stnb .pg-hero-img-wrap img {
    width: 280px;
    height: 360px
  }

  .stnb .detail-img-col {
    flex: 0 0 300px;
    width: 300px
  }

  .stnb .detail-img-wrap img {
    width: 300px;
    height: 380px
  }

  .stnb .approach-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .stnb .icon-grid-nodes {
    grid-template-columns: repeat(2, 1fr)
  }

  .stnb .icon-grid-nodes::before {
    display: none
  }
}

@media (max-width: 768px) {
  .stnb .pg-hero {
    flex-direction: column;
    padding: 36px 24px;
    gap: 36px
  }

  .stnb .pg-hero-img-col {
    flex: none;
    width: 100%
  }

  .stnb .pg-hero-img-wrap {
    width: 100%
  }

  .stnb .pg-hero-img-wrap img {
    width: 100%;
    height: 280px
  }

  .stnb .pg-hero-h1 {
    font-size: 38px
  }

  .stnb .approach-inner {
    padding: 0 24px
  }

  .stnb .approach-band {
    padding: 36px 0
  }

  .stnb .approach-grid {
    grid-template-columns: 1fr
  }

  .stnb .approach-heading {
    font-size: 28px
  }

  .stnb .detail-band {
    padding: 36px 0
  }

  .stnb .detail-inner {
    flex-direction: column;
    padding: 0 24px;
    gap: 36px
  }

  .stnb .detail-img-col {
    width: 100%;
    flex: none
  }

  .stnb .detail-img-wrap img {
    width: 100%;
    height: 260px
  }

  .stnb .detail-h2 {
    font-size: 28px
  }

  .stnb .detail-metrics {
    grid-template-columns: 1fr 1fr
  }

  .stnb .icon-grid-band {
    padding: 36px 0
  }

  .stnb .icon-grid-inner {
    padding: 0 24px
  }

  .stnb .icon-grid-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 36px
  }

  .stnb .icon-grid-h {
    font-size: 28px
  }

  .stnb .icon-grid-nodes {
    grid-template-columns: 1fr 1fr;
    gap: 24px
  }

  .stnb .icon-grid-nodes::before {
    display: none
  }

  .stnb .testimonials-band {
    padding: 36px 0
  }

  .stnb .test-inner {
    padding: 0 24px
  }

  .stnb .test-h {
    font-size: 28px
  }

  .stnb .test-row {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .stnb .test-card {
    padding: 24px
  }
}

.ft {
  background: #F9F8F6;
  overflow-x: clip;
  position: relative
}

.ft .blur-in {
  animation: blurIn .85s cubic-bezier(0.16, 1, 0.3, 1) both
}

@keyframes blurIn {
  from {
    filter: blur(12px);
    opacity: 0
  }

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

.ft .blur-in-2 {
  animation: blurIn .95s .18s cubic-bezier(0.16, 1, 0.3, 1) both
}

.ft .blur-in-3 {
  animation: blurIn 1.05s .32s cubic-bezier(0.16, 1, 0.3, 1) both
}

.ft-strip {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 1170px;
  margin: 0 auto;
  padding: 72px 36px;
  gap: 72px;
  position: relative;
  overflow: hidden
}

.ft-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(-55deg, #c0965b0f 0px, #c0965b0f 1px, transparent 1px, transparent 18px);
  pointer-events: none;
  z-index: 0
}

.ft-strip-text {
  flex: 0 0 52%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  position: relative;
  z-index: 1
}

.ft-strip-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #C0965B
}

.ft-strip-h1 {
  font-size: 50px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .01em;
  color: #1b1710;
  text-transform: uppercase;
  margin: 0
}

.ft-strip-h1 span {
  color: #C0965B
}

.ft-strip-desc {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3529;
  margin: 0;
  max-width: 440px
}

.ft-strip-meta {
  display: flex;
  flex-direction: row;
  gap: 36px;
  margin-top: 8px
}

.ft-strip-stat {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.ft-strip-stat-val {
  font-size: 28px;
  font-weight: 800;
  color: #1b1710;
  line-height: 1.1;
  letter-spacing: .01em
}

.ft-strip-stat-lbl {
  font-size: 13px;
  color: #7a6e5e;
  letter-spacing: .02em;
  line-height: 1.35
}

.ft-strip-img {
  flex: 1 1 0;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch
}

.ft-strip-img-wrap {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 48px 1px #c0965b1a;
  position: relative
}

.ft-strip-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transition: filter .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.ft-strip-img-wrap:hover img {
  filter: brightness(0.92) contrast(1.06)
}

.ft-strip-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  box-shadow: inset 0 0 0 0 transparent;
  background: radial-gradient(ellipse at 50% 100%, #c0965b2e 0%, transparent 70%);
  opacity: 0;
  transition: opacity .45s ease-in-out;
  pointer-events: none
}

.ft-strip-img-wrap:hover::after {
  opacity: 1
}

.ft-corner-deco {
  position: absolute;
  bottom: -36px;
  right: -36px;
  width: 200px;
  height: 200px;
  pointer-events: none;
  opacity: .07;
  z-index: 0
}

.ft-divider-a {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.ft-divider-a svg {
  display: block;
  width: 100%
}

.ft-three {
  background: linear-gradient(17deg, #2a2218 0%, #F9F8F6 100%);
  padding: 72px 0 36px;
  position: relative
}

.ft-three-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

.ft-three-top {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 36px;
  gap: 36px
}

.ft-three-heading {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: #F9F8F6;
  margin: 0;
  max-width: 520px
}

.ft-three-heading span {
  color: #C0965B
}

.ft-three-sub {
  font-size: 15px;
  line-height: 1.6;
  color: #c9bfb0;
  max-width: 340px;
  margin: 0
}

.ft-cols {
  display: grid;
  grid-template-columns: 1fr 0.82fr 1fr;
  gap: 24px;
  align-items: start
}

.ft-card {
  background: #f9f8f6f5;
  border-radius: 16px;
  padding: 36px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 5px 14px 1px #c0965b17;
  transition: box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1), transform .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.ft-card:hover {
  box-shadow: 0 12px 48px 1px #c0965b1a;
  transform: translateY(-4px)
}

.ft-card.mid {
  padding: 24px;
  background: #f9f8f6e0
}

.ft-card-num {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px
}

.ft-ring {
  position: relative;
  width: 44px;
  height: 44px;
  flex-shrink: 0
}

.ft-ring svg {
  width: 44px;
  height: 44px;
  display: block
}

.ft-ring-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 800;
  color: #1b1710;
  letter-spacing: .01em
}

.ft-card-title {
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #1b1710;
  margin: 0
}

.ft-card-body {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3529;
  margin: 0
}

.ft-card-body strong {
  color: #C0965B
}

.ft-card-img {
  border-radius: 6px;
  overflow: hidden;
  margin-top: 8px
}

.ft-card-img img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter .48s ease-in-out
}

.ft-card-img:hover img {
  filter: brightness(0.88) saturate(1.1)
}

.ft-divider-b {
  width: 100%;
  line-height: 0;
  overflow: hidden;
  margin-top: 36px
}

.ft-divider-b svg {
  display: block;
  width: 100%
}

.ft-metrics {
  background: #F9F8F6;
  padding: 72px 0;
  position: relative
}

.ft-metrics-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center
}

.ft-metrics-left {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ft-metrics-h {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: #1b1710;
  margin: 0
}

.ft-metrics-h span {
  color: #C0965B
}

.ft-metrics-para {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3529;
  margin: 0
}

.ft-para-num {
  font-weight: 700;
  color: #C0965B;
  margin-right: 6px
}

.ft-portraits {
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin-top: 8px
}

.ft-portrait {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px
}

.ft-portrait-img {
  width: 64px;
  height: 96px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 3px 1px #c0965b12
}

.ft-portrait-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.ft-portrait-name {
  font-size: 13px;
  color: #7a6e5e;
  letter-spacing: .02em;
  text-align: center;
  line-height: 1.35
}

.ft-portrait-role {
  font-size: 13px;
  color: #C0965B;
  font-weight: 600;
  text-align: center;
  line-height: 1.35
}

.ft-metrics-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative
}

.ft-metrics-right::before {
  content: "";
  position: absolute;
  top: -36px;
  right: -24px;
  width: 160px;
  height: 160px;
  pointer-events: none;
  opacity: .06;
  background: none
}

.ft-bar-row {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ft-bar-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline
}

.ft-bar-label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #1b1710
}

.ft-bar-val {
  font-size: 15px;
  font-weight: 800;
  color: #C0965B
}

.ft-bar-track {
  width: 100%;
  height: 8px;
  background: #D3DCB3;
  border-radius: 44px;
  overflow: hidden
}

.ft-bar-fill {
  height: 100%;
  border-radius: 44px;
  background: linear-gradient(17deg, #C0965B 0%, #D3DCB3 100%);
  transition: width .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.ft-progress-note {
  background: linear-gradient(17deg, #D3DCB3 0%, #F9F8F6 100%);
  border-radius: 16px;
  padding: 24px;
  margin-top: 8px;
  box-shadow: 0 2px 3px 1px #c0965b12
}

.ft-progress-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #1b1710;
  margin-bottom: 8px
}

.ft-progress-text {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3529;
  margin: 0
}

.ft-progress-indicator {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-top: 12px
}

.ft-dot {
  width: 10px;
  height: 10px;
  border-radius: 44px;
  background: #C0965B;
  flex-shrink: 0
}

.ft-dot.done {
  background: #C0965B
}

.ft-dot.active {
  background: #D3DCB3;
  border: 2px solid #C0965B
}

.ft-dot.pending {
  background: #e8e2d8
}

.ft-progress-step {
  font-size: 13px;
  color: #7a6e5e;
  letter-spacing: .02em
}

.ft-concentric {
  position: absolute;
  pointer-events: none;
  opacity: .055;
  z-index: 0
}

@media (max-width: 1280px) {
  .ft-strip-h1 {
    font-size: 38px
  }

  .ft-three-heading {
    font-size: 28px
  }

  .ft-metrics-h {
    font-size: 28px
  }
}

@media (max-width: 768px) {
  .ft-strip {
    flex-direction: column;
    padding: 36px 24px;
    gap: 24px
  }

  .ft-strip-text {
    flex: none
  }

  .ft-strip-img {
    min-height: 220px
  }

  .ft-strip-img-wrap {
    height: 220px
  }

  .ft-strip-h1 {
    font-size: 28px
  }

  .ft-strip-meta {
    gap: 24px
  }

  .ft-three {
    padding: 36px 0 24px
  }

  .ft-three-inner {
    padding: 0 24px
  }

  .ft-three-top {
    flex-direction: column;
    align-items: flex-start
  }

  .ft-three-heading {
    font-size: 28px;
    max-width: 100%
  }

  .ft-cols {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .ft-card.mid {
    padding: 36px 24px
  }

  .ft-metrics {
    padding: 36px 0
  }

  .ft-metrics-inner {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 0 24px
  }

  .ft-metrics-h {
    font-size: 28px
  }

  .ft-portraits {
    flex-wrap: wrap
  }
}

.cu {
  background: #F9F8F6;
  overflow-x: clip;
  position: relative
}

.cu .pg-top {
  background: #2a2520;
  position: relative;
  padding: 72px 24px;
  overflow: hidden
}

.cu .pg-top::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(17deg, #c0965b0f 0px, #c0965b0f 1px, transparent 1px, transparent 28px);
  pointer-events: none
}

.cu .pg-top-in {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 72px
}

.cu .pg-top-text {
  flex: 3
}

.cu .pg-top-aside {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cu .pg-label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #C0965B;
  font-weight: 700;
  margin-bottom: 24px
}

.cu .pg-h1 {
  font-size: 50px;
  line-height: 1.1;
  color: #F9F8F6;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 0 0 24px
}

.cu .pg-h1 span {
  color: #C0965B
}

.cu .pg-accent-line {
  width: 48px;
  height: 3px;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  border-radius: 6px;
  margin-bottom: 24px
}

.cu .pg-sub {
  font-size: 17px;
  line-height: 1.6;
  color: #f9f8f6b8;
  letter-spacing: .01em;
  margin: 0
}

.cu .pg-link {
  display: inline-block;
  margin-top: 36px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #2a2520;
  background: #C0965B;
  padding: 12px 36px;
  border-radius: 6px;
  text-decoration: none;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.cu .pg-link:hover {
  background: #D3DCB3;
  color: #2a2520
}

.cu .pg-link:focus-visible {
  outline: 3px solid #C0965B !important;
  outline-offset: 3px !important
}

.cu .aside-stat {
  background: #c0965b1f;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cu .aside-stat-num {
  font-size: 38px;
  font-weight: 800;
  color: #C0965B;
  line-height: 1.1;
  letter-spacing: .01em
}

.cu .aside-stat-label {
  font-size: 13px;
  color: #f9f8f6a6;
  letter-spacing: .02em;
  line-height: 1.35
}

.cu .mid-row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 72px 24px;
  display: grid;
  grid-template-columns: 3fr 1fr 1fr;
  gap: 36px;
  align-items: start
}

.cu .form-col {
  display: flex;
  flex-direction: column;
  gap: 36px
}

.cu .form-head {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.cu .form-h2 {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 800;
  color: #2a2520;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin: 0
}

.cu .form-divider {
  width: 36px;
  height: 2px;
  background: #C0965B;
  border-radius: 6px
}

.cu .form-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3f35;
  letter-spacing: .01em;
  margin: 0
}

.cu .contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cu .f-field {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cu .f-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #2a2520
}

.cu .f-input {
  background: #fff;
  border: 1.5px solid #c0965b4d;
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 15px;
  color: #2a2520;
  line-height: 1.6;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 2px 3px 1px #c0965b12;
  transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  outline: none
}

.cu .f-input::placeholder {
  font-style: italic;
  opacity: .55;
  color: #4a3f35
}

.cu .f-input:focus {
  border-color: #C0965B;
  box-shadow: 0 5px 14px 1px #c0965b17
}

.cu .f-input:focus-visible {
  outline: 3px solid #C0965B !important;
  outline-offset: 2px !important
}

.cu .f-textarea {
  resize: vertical;
  min-height: 140px
}

.cu .f-check-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.cu .f-check {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  accent-color: #C0965B;
  cursor: pointer
}

.cu .f-check-text {
  font-size: 13px;
  line-height: 1.6;
  color: #4a3f35;
  letter-spacing: .01em
}

.cu .f-check-text a {
  color: #C0965B;
  text-decoration: underline;
  text-underline-offset: 2px
}

.cu .f-check-text a:focus-visible {
  outline: 2px solid #C0965B !important;
  outline-offset: 2px !important;
  border-radius: 6px
}

.cu .f-submit-wrap {
  position: relative;
  display: inline-block;
  border-radius: 6px;
  overflow: hidden
}

.cu .f-submit {
  position: relative;
  background: #2a2520;
  color: #F9F8F6;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  border: none;
  border-radius: 6px;
  padding: 16px 36px;
  cursor: pointer;
  z-index: 1;
  overflow: hidden;
  display: block
}

.cu .f-submit::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  z-index: -1;
  transition: height .45s cubic-bezier(0.16, 1, 0.3, 1);
  border-radius: 6px
}

.cu .f-submit:hover::after {
  height: 100%
}

.cu .f-submit:hover {
  color: #2a2520
}

.cu .f-submit:focus-visible {
  outline: 3px solid #C0965B !important;
  outline-offset: 3px !important
}

.cu .info-col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cu .info-card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 5px 14px 1px #c0965b17;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.cu .info-card-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #C0965B
}

.cu .info-card-val {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2520;
  letter-spacing: .01em;
  word-break: break-word
}

.cu .info-card-val a {
  color: #2a2520;
  text-decoration: none;
  border-bottom: 1.5px solid #c0965b66;
  transition: border-color .4s ease-in-out
}

.cu .info-card-val a:hover {
  border-color: #C0965B
}

.cu .info-card-val a:focus-visible {
  outline: 2px solid #C0965B !important;
  outline-offset: 2px !important;
  border-radius: 6px
}

.cu .icon-sq {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.cu .icon-sq svg {
  width: 18px;
  height: 18px
}

.cu .bottom-strip {
  background: linear-gradient(17deg, #C0965B 0%, #D3DCB3 100%);
  padding: 72px 24px;
  position: relative;
  overflow: hidden
}

.cu .bottom-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(17deg, #ffffff14 0px, #ffffff14 1px, transparent 1px, transparent 32px);
  pointer-events: none
}

.cu .diamond-deco {
  position: absolute;
  top: -28px;
  right: 80px;
  width: 56px;
  height: 56px;
  background: #ffffff2e;
  transform: rotate(45deg);
  border-radius: 6px;
  pointer-events: none
}

.cu .bottom-in {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 72px
}

.cu .bottom-img-wrap {
  flex: 1;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 48px 1px #c0965b1a;
  position: relative;
  min-width: 0
}

.cu .bottom-img-wrap img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  filter: saturate(0.55) sepia(0.3) brightness(0.88)
}

.cu .bottom-img-overlay {
  position: absolute;
  inset: 0;
  background: #c0965b38;
  border-radius: 16px;
  pointer-events: none
}

.cu .bottom-text {
  flex: 1.4;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cu .bottom-h3 {
  font-size: 28px;
  line-height: 1.35;
  font-weight: 800;
  color: #2a2520;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin: 0
}

.cu .bottom-accent {
  color: #F9F8F6
}

.cu .bottom-p {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2520;
  letter-spacing: .01em;
  margin: 0
}

.cu .bottom-links {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap
}

.cu .b-link {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #2a2520;
  text-decoration: none;
  background: #ffffff8c;
  border-radius: 6px;
  padding: 12px 24px;
  transition: background .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.cu .b-link:hover {
  background: #ffffffe0
}

.cu .b-link:focus-visible {
  outline: 3px solid #2a2520 !important;
  outline-offset: 3px !important
}

.cu .num-para {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.cu .num-p {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2520;
  letter-spacing: .01em;
  margin: 0;
  display: flex;
  flex-direction: row;
  gap: 12px
}

.cu .num-p-idx {
  font-size: 13px;
  font-weight: 700;
  color: #C0965B;
  min-width: 20px;
  padding-top: 2px;
  letter-spacing: .01em
}

.cu .shake-el {
  animation: cu-shake .45s cubic-bezier(0.16, 1, 0.3, 1) 2.8s 1
}

@keyframes cu-shake {
  0% {
    transform: translateX(0)
  }

  20% {
    transform: translateX(-5px)
  }

  40% {
    transform: translateX(5px)
  }

  60% {
    transform: translateX(-4px)
  }

  80% {
    transform: translateX(3px)
  }

  100% {
    transform: translateX(0)
  }
}

@media (max-width: 1280px) {
  .cu .pg-h1 {
    font-size: 38px
  }

  .cu .mid-row {
    grid-template-columns: 1fr 1fr;
    gap: 24px
  }

  .cu .form-col {
    grid-column: 1 / -1
  }
}

@media (max-width: 768px) {
  .cu .pg-top {
    padding: 36px 24px
  }

  .cu .pg-top-in {
    flex-direction: column;
    gap: 36px
  }

  .cu .pg-h1 {
    font-size: 28px
  }

  .cu .pg-top-aside {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%
  }

  .cu .aside-stat {
    flex: 1;
    min-width: 120px;
    padding: 16px
  }

  .cu .aside-stat-num {
    font-size: 28px
  }

  .cu .mid-row {
    grid-template-columns: 1fr;
    padding: 36px 24px;
    gap: 24px
  }

  .cu .form-col {
    grid-column: auto
  }

  .cu .bottom-strip {
    padding: 36px 24px
  }

  .cu .bottom-in {
    flex-direction: column;
    gap: 24px
  }

  .cu .bottom-img-wrap img {
    height: 200px
  }

  .cu .bottom-h3 {
    font-size: 17px
  }
}

.svc {
  background: #F9F8F6;
  overflow-x: clip;
  position: relative
}

.svc .num-accent {
  color: #C0965B;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase
}

.svc .dash-accent {
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #C0965B;
  vertical-align: middle;
  margin: 0 8px
}

.svc .tick-divider {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
  margin: 0
}

.svc .tick-divider-line {
  flex: 1;
  height: 1px;
  background: #D3DCB3;
  position: relative
}

.svc .tick-divider-center {
  width: 8px;
  height: 8px;
  border: 1.5px solid #C0965B;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin: 0 12px;
  background: #F9F8F6
}

.svc .tick-divider-line::before,
.svc .tick-divider-line::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 1px;
  height: 7px;
  background: #D3DCB3
}

.svc .tick-divider-line::before {
  left: 20%
}

.svc .tick-divider-line::after {
  left: 60%
}

@keyframes svc-reveal {
  from {
    opacity: 0;
    transform: rotate(-1.5deg) translateY(18px)
  }

  to {
    opacity: 1;
    transform: rotate(0deg) translateY(0)
  }
}

.svc .anim-reveal {
  animation: svc-reveal .55s cubic-bezier(0.16, 1, 0.3, 1) both
}

.svc .anim-delay-1 {
  animation-delay: .08s
}

.svc .anim-delay-2 {
  animation-delay: .18s
}

.svc .anim-delay-3 {
  animation-delay: .28s
}

.svc .pg-top {
  background: #2a2520;
  padding: 72px 24px;
  position: relative;
  overflow: hidden
}

.svc .pg-top::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 20% 80%, #c0965b2e 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, #d3dcb31a 0%, transparent 55%);
  pointer-events: none
}

.svc .pg-top-inner {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.svc .pg-top-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px
}

.svc .pg-top-label span {
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #C0965B;
  font-weight: 700
}

.svc .pg-top-dot {
  width: 4px;
  height: 4px;
  border-radius: 6px;
  background: #C0965B;
  flex-shrink: 0
}

.svc .pg-top-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 72px;
  align-items: end
}

.svc .pg-top-h1 {
  font-size: 50px;
  line-height: 1.1;
  font-weight: 800;
  color: #F9F8F6;
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 0 0 24px
}

.svc .pg-top-h1 em {
  font-style: normal;
  color: #C0965B
}

.svc .pg-top-sub {
  font-size: 15px;
  line-height: 1.6;
  color: #f9f8f6b8;
  max-width: 520px;
  margin: 0;
  letter-spacing: .01em
}

.svc .pg-top-img-wrap {
  position: relative;
  align-self: end
}

.svc .pg-top-img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: grayscale(100%) contrast(1.1)
}

.svc .pg-top-pattern {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 80px;
  height: 80px;
  pointer-events: none;
  opacity: .35
}

.svc .pg-top-pattern-row {
  display: flex;
  gap: 8px;
  margin-bottom: 8px
}

.svc .pg-top-pattern-dot {
  width: 4px;
  height: 4px;
  border-radius: 6px;
  background: #C0965B
}

.svc .num-strip {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-top: 36px;
  border-top: 1px solid #d3dcb333;
  padding-top: 24px
}

.svc .num-strip-item {
  flex: 1;
  padding-right: 24px;
  margin-right: 24px;
  border-right: 1px solid #d3dcb326
}

.svc .num-strip-item:last-child {
  border-right: none;
  margin-right: 0;
  padding-right: 0
}

.svc .num-strip-val {
  font-size: 28px;
  font-weight: 800;
  color: #C0965B;
  line-height: 1.1;
  letter-spacing: .01em
}

.svc .num-strip-lbl {
  font-size: 13px;
  color: #f9f8f68c;
  letter-spacing: .02em;
  margin-top: 4px;
  line-height: 1.35
}

.svc .offer-sec {
  background: #F9F8F6;
  padding: 72px 24px
}

.svc .offer-inner {
  max-width: 1170px;
  margin: 0 auto
}

.svc .offer-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
  margin-bottom: 36px
}

.svc .offer-h2 {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 800;
  color: #2a2520;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin: 0
}

.svc .offer-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4540;
  margin: 0;
  letter-spacing: .01em;
  padding-top: 8px
}

.svc .offer-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 36px
}

.svc .offer-card {
  background: #fff;
  border-radius: 16px;
  padding: 36px 24px;
  box-shadow: 0 5px 14px 1px #c0965b17;
  position: relative;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.svc .offer-card:hover {
  box-shadow: 0 12px 48px 1px #c0965b1a;
  transform: translateY(-4px)
}

.svc .offer-card-num {
  font-size: 50px;
  font-weight: 900;
  color: #c0965b1f;
  line-height: 1.1;
  letter-spacing: -.02em;
  position: absolute;
  top: 24px;
  right: 24px
}

.svc .offer-card-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 24px
}

.svc .offer-card-h3 {
  font-size: 17px;
  font-weight: 700;
  color: #2a2520;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 12px;
  line-height: 1.35
}

.svc .offer-card-p {
  font-size: 15px;
  line-height: 1.6;
  color: #5a5550;
  margin: 0;
  letter-spacing: .01em
}

.svc .offer-card-tag {
  display: inline-block;
  margin-top: 24px;
  padding: 4px 12px;
  border-radius: 44px;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  font-size: 13px;
  font-weight: 700;
  color: #2a2520;
  letter-spacing: .04em;
  text-transform: uppercase
}

.svc .process-sec {
  background: linear-gradient(17deg, #2a2520 0%, #3a3028 100%);
  padding: 72px 24px;
  position: relative;
  overflow: hidden
}

.svc .process-sec::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 85% 50%, #d3dcb312 0%, transparent 55%);
  pointer-events: none
}

.svc .process-inner {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.svc .process-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 36px;
  gap: 36px
}

.svc .process-h2 {
  font-size: 38px;
  font-weight: 800;
  color: #F9F8F6;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.1;
  margin: 0
}

.svc .process-sub {
  font-size: 15px;
  line-height: 1.6;
  color: #f9f8f6a6;
  max-width: 340px;
  margin: 0;
  letter-spacing: .01em
}

.svc .process-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: start
}

.svc .process-img-col {
  position: relative
}

.svc .process-img-wrap {
  position: relative;
  border-radius: 16px;
  overflow: hidden
}

.svc .process-img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: filter .5s ease-in-out
}

.svc .process-img-wrap:hover .process-img {
  filter: brightness(0.88)
}

.svc .process-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, #1e160e8c 100%);
  opacity: 0;
  transition: opacity .5s ease-in-out;
  pointer-events: none
}

.svc .process-img-wrap:hover::after {
  opacity: 1
}

.svc .process-steps {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.svc .process-step {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: start
}

.svc .process-step-num {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  background: #c0965b26;
  border: 1px solid #c0965b4d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 800;
  color: #C0965B;
  flex-shrink: 0;
  letter-spacing: .02em
}

.svc .process-step-h4 {
  font-size: 15px;
  font-weight: 700;
  color: #F9F8F6;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 4px;
  line-height: 1.35
}

.svc .process-step-p {
  font-size: 13px;
  line-height: 1.6;
  color: #f9f8f699;
  margin: 0;
  letter-spacing: .01em
}

.svc .audience-sec {
  background: #D3DCB3;
  padding: 72px 24px
}

.svc .audience-inner {
  max-width: 1170px;
  margin: 0 auto
}

.svc .audience-grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 72px;
  align-items: center
}

.svc .audience-img-col {
  position: relative
}

.svc .audience-img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 16px;
  box-shadow: 0 12px 48px 1px #c0965b1a
}

.svc .audience-badge {
  position: absolute;
  bottom: 24px;
  left: -24px;
  background: #2a2520;
  border-radius: 16px;
  padding: 16px 24px;
  box-shadow: 0 5px 14px 1px #c0965b17
}

.svc .audience-badge-val {
  font-size: 28px;
  font-weight: 900;
  color: #C0965B;
  line-height: 1.1
}

.svc .audience-badge-txt {
  font-size: 13px;
  color: #f9f8f6a6;
  letter-spacing: .02em;
  margin-top: 4px
}

.svc .audience-right {
  display: flex;
  flex-direction: column;
  gap: 36px
}

.svc .audience-h2 {
  font-size: 38px;
  font-weight: 800;
  color: #2a2520;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.1;
  margin: 0
}

.svc .audience-intro {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3028;
  margin: 0;
  letter-spacing: .01em
}

.svc .audience-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc .audience-list li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
  font-size: 15px;
  line-height: 1.6;
  color: #3a3028;
  letter-spacing: .01em
}

.svc .aud-marker {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #2a2520;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px
}

.svc .aud-marker svg {
  width: 14px;
  height: 14px
}

.svc .audience-note {
  font-size: 13px;
  line-height: 1.6;
  color: #4a4030;
  letter-spacing: .01em;
  padding: 16px 24px;
  background: #ffffff80;
  border-radius: 6px;
  margin: 0
}

.svc .anchor-icon-wrap {
  display: flex;
  justify-content: center;
  margin: 36px 0 0
}

.svc .anchor-icon {
  width: 72px;
  height: 72px;
  opacity: .15
}

@media (max-width: 1280px) {
  .svc .pg-top-grid {
    grid-template-columns: 1fr 280px;
    gap: 36px
  }

  .svc .pg-top-h1 {
    font-size: 38px
  }

  .svc .offer-cards {
    grid-template-columns: repeat(3, 1fr)
  }

  .svc .audience-grid {
    grid-template-columns: 320px 1fr;
    gap: 36px
  }
}

@media (max-width: 768px) {
  .svc .pg-top {
    padding: 36px 24px
  }

  .svc .pg-top-grid {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .svc .pg-top-img-wrap {
    max-width: 240px
  }

  .svc .pg-top-h1 {
    font-size: 28px
  }

  .svc .num-strip {
    flex-direction: column;
    gap: 16px
  }

  .svc .num-strip-item {
    border-right: none;
    border-bottom: 1px solid #d3dcb326;
    padding-right: 0;
    padding-bottom: 16px;
    margin-right: 0
  }

  .svc .num-strip-item:last-child {
    border-bottom: none;
    padding-bottom: 0
  }

  .svc .offer-sec {
    padding: 36px 24px
  }

  .svc .offer-head {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .svc .offer-h2 {
    font-size: 28px
  }

  .svc .offer-cards {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .svc .process-sec {
    padding: 36px 24px
  }

  .svc .process-top {
    flex-direction: column;
    align-items: flex-start
  }

  .svc .process-h2 {
    font-size: 28px
  }

  .svc .process-layout {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .svc .audience-sec {
    padding: 36px 24px
  }

  .svc .audience-grid {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .svc .audience-img-col {
    max-width: 320px;
    margin: 0 auto
  }

  .svc .audience-badge {
    left: 0;
    bottom: -16px
  }

  .svc .audience-h2 {
    font-size: 28px
  }
}

.frt {
  background: #F9F8F6;
  overflow-x: clip
}

.frt .reveal {
  opacity: 0;
  transform: translateY(32px);
  animation: rise .55s cubic-bezier(0.16, 1, 0.3, 1) forwards
}

.frt .reveal-1 {
  animation-delay: .08s
}

.frt .reveal-2 {
  animation-delay: .18s
}

.frt .reveal-3 {
  animation-delay: .28s
}

.frt .reveal-4 {
  animation-delay: .38s
}

.frt .reveal-5 {
  animation-delay: .48s
}

@keyframes rise {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width: 768px) {
  .frt .reveal {
    opacity: 1;
    transform: none;
    animation: none
  }
}

.frt .pg-wrap {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px
}

.frt .accent {
  color: #C0965B
}

.frt .dash {
  color: #C0965B;
  margin: 0 4px
}

.frt .tag-corner {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #C0965B;
  color: #F9F8F6;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 4px 12px;
  border-radius: 6px;
  text-transform: uppercase
}

.frt .ttl-blk {
  padding-top: 72px;
  padding-bottom: 36px;
  position: relative
}

.frt .ttl-inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 36px
}

.frt .ttl-text {
  flex: 1 1 0;
  min-width: 0
}

.frt .ttl-strip {
  flex: 0 0 220px;
  width: 220px;
  position: relative;
  opacity: .72
}

.frt .ttl-strip img {
  width: 220px;
  height: 340px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  display: block
}

.frt .ttl-geo {
  position: absolute;
  width: 80px;
  height: 80px;
  border: 2px solid #C0965B;
  border-radius: 6px;
  opacity: .18;
  top: -24px;
  left: -24px;
  pointer-events: none
}

.frt .ttl-geo-2 {
  position: absolute;
  width: 44px;
  height: 44px;
  background: #D3DCB3;
  border-radius: 44px;
  opacity: .22;
  bottom: -12px;
  right: -12px;
  pointer-events: none
}

.frt .ttl-eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #C0965B;
  margin-bottom: 12px;
  line-height: 1.35
}

.frt .ttl-h1 {
  font-size: 50px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #2B2520;
  margin-bottom: 24px;
  text-transform: uppercase
}

.frt .ttl-sub {
  font-size: 17px;
  line-height: 1.6;
  color: #4A3F36;
  margin-bottom: 24px;
  max-width: 560px
}

.frt .ttl-dialogue {
  font-size: 15px;
  line-height: 1.6;
  color: #6B5C4E;
  max-width: 520px;
  border-top: 1px solid #D3DCB3;
  padding-top: 24px
}

.frt .ttl-dialogue strong {
  color: #C0965B
}

@media (max-width: 768px) {
  .frt .ttl-inner {
    flex-direction: column-reverse
  }

  .frt .ttl-strip {
    flex: none;
    width: 100%
  }

  .frt .ttl-strip img {
    width: 100%;
    height: 220px
  }

  .frt .ttl-h1 {
    font-size: 38px
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .frt .ttl-h1 {
    font-size: 38px
  }

  .frt .ttl-strip {
    flex: 0 0 180px;
    width: 180px
  }

  .frt .ttl-strip img {
    width: 180px;
    height: 280px
  }
}

.frt .commit-blk {
  background: linear-gradient(17deg, #C0965B 0%, #D3DCB3 100%);
  padding: 72px 0
}

.frt .commit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: start
}

.frt .commit-left {
  color: #2B2520
}

.frt .commit-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: 24px;
  color: #2B2520
}

.frt .commit-para {
  font-size: 15px;
  line-height: 1.6;
  color: #3A2E26;
  margin-bottom: 12px
}

.frt .commit-para-num {
  font-size: 13px;
  font-weight: 700;
  color: #2B2520;
  margin-right: 8px
}

.frt .commit-right {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.frt .pros-cons {
  background: #F9F8F6;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 5px 14px 1px #c0965b17
}

.frt .pros-cons-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: #C0965B;
  margin-bottom: 12px
}

.frt .pros-cons-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px
}

.frt .pc-col-head {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
  margin-bottom: 8px
}

.frt .pc-col-head.good {
  color: #5A7A3A
}

.frt .pc-col-head.hard {
  color: #9A4A2A
}

.frt .pc-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.6;
  color: #3A2E26
}

.frt .pc-dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 44px;
  margin-top: 5px
}

.frt .pc-dot.good {
  background: #5A7A3A
}

.frt .pc-dot.hard {
  background: #9A4A2A
}

.frt .commit-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  display: block;
  box-shadow: 0 5px 14px 1px #c0965b17
}

@media (max-width: 768px) {
  .frt .commit-grid {
    grid-template-columns: 1fr
  }

  .frt .commit-h2 {
    font-size: 28px
  }

  .frt .pros-cons-cols {
    grid-template-columns: 1fr
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .frt .commit-h2 {
    font-size: 28px
  }
}

.frt .scale-blk {
  padding: 72px 0 36px;
  background: #F9F8F6;
  position: relative
}

.frt .scale-checked-bg {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#D3DCB3 1px, transparent 1px), linear-gradient(90deg, #D3DCB3 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .18;
  pointer-events: none;
  overflow: hidden
}

.frt .scale-top {
  display: flex;
  flex-direction: row;
  gap: 36px;
  align-items: flex-start;
  margin-bottom: 36px;
  position: relative
}

.frt .scale-text {
  flex: 1 1 0;
  min-width: 0
}

.frt .scale-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #2B2520;
  margin-bottom: 24px
}

.frt .scale-para {
  font-size: 15px;
  line-height: 1.6;
  color: #4A3F36;
  margin-bottom: 12px
}

.frt .scale-para-num {
  font-size: 13px;
  font-weight: 700;
  color: #C0965B;
  margin-right: 8px
}

.frt .scale-img-wrap {
  flex: 0 0 320px;
  width: 320px;
  position: relative
}

.frt .scale-img {
  width: 320px;
  height: 260px;
  object-fit: cover;
  object-position: top center;
  border-radius: 16px;
  display: block;
  box-shadow: 0 12px 48px 1px #c0965b1a
}

.frt .scale-tag {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: #2B2520;
  color: #F9F8F6;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 4px 12px;
  border-radius: 6px;
  text-transform: uppercase
}

.frt .scale-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative
}

.frt .metric-card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 3px 1px #c0965b12;
  position: relative;
  overflow: hidden
}

.frt .metric-num {
  font-size: 50px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #C0965B
}

.frt .metric-unit {
  font-size: 17px;
  font-weight: 700;
  color: #C0965B;
  margin-left: 4px
}

.frt .metric-label {
  font-size: 13px;
  line-height: 1.35;
  color: #6B5C4E;
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: .02em;
  font-weight: 700
}

.frt .metric-desc {
  font-size: 13px;
  line-height: 1.6;
  color: #4A3F36;
  margin-top: 8px
}

.frt .metric-bar {
  height: 4px;
  background: #D3DCB3;
  border-radius: 44px;
  margin-top: 12px;
  overflow: hidden
}

.frt .metric-bar-fill {
  height: 100%;
  background: #C0965B;
  border-radius: 44px
}

.frt .metric-bar-fill.w80 {
  width: 80%
}

.frt .metric-bar-fill.w65 {
  width: 65%
}

.frt .metric-bar-fill.w90 {
  width: 90%
}

.frt .scale-portraits {
  display: flex;
  flex-direction: row;
  gap: 24px;
  margin-top: 36px;
  position: relative
}

.frt .portrait-card {
  flex: 1 1 0;
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  box-shadow: 0 5px 14px 1px #c0965b17
}

.frt .portrait-img {
  width: 88px;
  height: 112px;
  object-fit: cover;
  object-position: center;
  border-radius: 6px;
  flex-shrink: 0;
  display: block
}

.frt .portrait-text {
  flex: 1 1 0;
  min-width: 0
}

.frt .portrait-name {
  font-size: 15px;
  font-weight: 700;
  color: #2B2520;
  letter-spacing: .01em;
  margin-bottom: 4px
}

.frt .portrait-role {
  font-size: 13px;
  color: #C0965B;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin-bottom: 8px
}

.frt .portrait-quote {
  font-size: 13px;
  line-height: 1.6;
  color: #4A3F36
}

@media (max-width: 768px) {
  .frt .scale-top {
    flex-direction: column
  }

  .frt .scale-img-wrap {
    flex: none;
    width: 100%
  }

  .frt .scale-img {
    width: 100%;
    height: 200px
  }

  .frt .scale-metrics {
    grid-template-columns: 1fr
  }

  .frt .scale-portraits {
    flex-direction: column
  }

  .frt .scale-h2 {
    font-size: 28px
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .frt .scale-metrics {
    grid-template-columns: 1fr 1fr
  }

  .frt .scale-h2 {
    font-size: 28px
  }

  .frt .scale-img-wrap {
    flex: 0 0 240px;
    width: 240px
  }

  .frt .scale-img {
    width: 240px;
    height: 220px
  }
}

.frt .adapt-blk {
  background: #2B2520;
  padding: 72px 0
}

.frt .adapt-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #F9F8F6;
  margin-bottom: 8px
}

.frt .adapt-intro {
  font-size: 15px;
  line-height: 1.6;
  color: #D3DCB3;
  max-width: 640px;
  margin-bottom: 36px
}

.frt .adapt-layout {
  display: flex;
  flex-direction: row;
  gap: 36px;
  align-items: flex-start
}

.frt .adapt-big {
  flex: 0 0 380px;
  position: relative
}

.frt .adapt-big-img {
  width: 380px;
  height: 480px;
  object-fit: cover;
  object-position: center top;
  border-radius: 16px;
  display: block;
  box-shadow: 0 12px 48px 1px #c0965b1a
}

.frt .adapt-big-label {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #C0965B;
  color: #F9F8F6;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 4px 12px;
  border-radius: 6px;
  text-transform: uppercase
}

.frt .adapt-right {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.frt .adapt-small-imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px
}

.frt .adapt-sm-img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  display: block;
  box-shadow: 0 5px 14px 1px #c0965b17
}

.frt .adapt-cards {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.frt .adapt-card {
  background: #f9f8f612;
  border-radius: 16px;
  padding: 24px;
  position: relative
}

.frt .adapt-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #F9F8F6;
  letter-spacing: .01em;
  margin-bottom: 8px;
  text-transform: uppercase
}

.frt .adapt-card-text {
  font-size: 13px;
  line-height: 1.6;
  color: #D3DCB3
}

.frt .adapt-card-num {
  position: absolute;
  top: 24px;
  right: 24px;
  font-size: 28px;
  font-weight: 800;
  color: #c0965b38;
  line-height: 1.1;
  letter-spacing: .01em
}

.frt .adapt-link {
  display: inline-block;
  color: #C0965B;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .01em;
  text-decoration: none;
  border-bottom: 1px solid #c0965b66;
  padding-bottom: 4px;
  transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.frt .adapt-link:hover {
  color: #D3DCB3;
  border-color: #D3DCB3
}

.frt .adapt-link:focus {
  outline: 2px solid #C0965B;
  outline-offset: 4px;
  border-radius: 6px
}

@media (max-width: 768px) {
  .frt .adapt-layout {
    flex-direction: column
  }

  .frt .adapt-big {
    flex: none;
    width: 100%
  }

  .frt .adapt-big-img {
    width: 100%;
    height: 260px
  }

  .frt .adapt-h2 {
    font-size: 28px
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .frt .adapt-big {
    flex: 0 0 280px
  }

  .frt .adapt-big-img {
    width: 280px;
    height: 380px
  }

  .frt .adapt-h2 {
    font-size: 28px
  }
}

@keyframes blink {

  0%,
  100% {
    opacity: 1
  }

  50% {
    opacity: 0
  }
}

.frt .cursor-blink {
  display: inline-block;
  width: 3px;
  height: 1em;
  background: #C0965B;
  vertical-align: text-bottom;
  animation: blink .9s ease-in-out infinite;
  margin-left: 4px;
  border-radius: 6px
}

.frt .type-line {
  display: inline;
  overflow: hidden;
  white-space: nowrap;
  animation: typeout 1.4s steps(30, end) .2s both
}

@keyframes typeout {
  from {
    width: 0
  }

  to {
    width: 100%
  }
}

.frt .type-wrap {
  display: block;
  overflow: hidden
}

@media (max-width: 768px) {
  .frt .type-line {
    animation: none;
    white-space: normal
  }
}

.frt .sep-bar {
  height: 4px;
  background: linear-gradient(17deg, #C0965B 0%, #D3DCB3 100%);
  border-radius: 44px;
  margin: 0 0 36px
}

.ab-us {
  background: #F9F8F6;
  overflow-x: clip
}

.ab-us .pg-load {
  animation: scaleIn .55s cubic-bezier(0.16, 1, 0.3, 1) both
}

@keyframes scaleIn {
  from {
    transform: scale(0.9);
    opacity: 0
  }

  to {
    transform: scale(1);
    opacity: 1
  }
}

.ab-us .split-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px
}

.ab-us .split-left {
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  padding: 72px 36px 36px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative
}

.ab-us .split-left::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  bottom: 24px;
  border: 1px solid #f9f8f673;
  border-radius: 6px;
  pointer-events: none
}

.ab-us .split-right {
  background: #F9F8F6;
  padding: 72px 36px 36px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative
}

.ab-us .split-right::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  bottom: 24px;
  border: 1px solid #c0965b40;
  border-radius: 6px;
  pointer-events: none
}

.ab-us .split-tag {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  color: #f9f8f6bf;
  margin-bottom: 12px
}

.ab-us .split-h1 {
  font-size: 50px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .01em;
  color: #F9F8F6;
  text-transform: uppercase;
  margin: 0 0 24px
}

.ab-us .split-accent {
  color: #2c1f0e
}

.ab-us .split-sub {
  font-size: 17px;
  line-height: 1.6;
  color: #3d2a12;
  margin: 0 0 24px
}

.ab-us .split-h2 {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .01em;
  color: #2c1f0e;
  text-transform: uppercase;
  margin: 0 0 24px
}

.ab-us .split-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3520;
  margin: 0
}

.ab-us .split-img-wrap {
  width: 100%;
  height: 280px;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px
}

.ab-us .split-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block
}

.ab-us .curve-down {
  width: 100%;
  line-height: 0;
  background: #F9F8F6
}

.ab-us .curve-down svg {
  display: block;
  width: 100%
}

.ab-us .curve-up {
  width: 100%;
  line-height: 0;
  background: #F9F8F6
}

.ab-us .curve-up svg {
  display: block;
  width: 100%
}

.ab-us .story-band {
  background: #fff;
  padding: 72px 0 0
}

.ab-us .story-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

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

.ab-us .story-col-tall {
  padding-top: 0
}

.ab-us .story-col-mid {
  padding-top: 36px
}

.ab-us .story-col-short {
  padding-top: 72px
}

.ab-us .story-label {
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
  color: #C0965B;
  margin-bottom: 12px
}

.ab-us .story-h {
  font-size: 28px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #2c1f0e;
  margin: 0 0 24px
}

.ab-us .story-p {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3520;
  margin: 0 0 12px
}

.ab-us .story-num {
  font-size: 13px;
  font-weight: 700;
  color: #C0965B;
  margin-right: 8px
}

.ab-us .story-img {
  width: 100%;
  height: 220px;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
  box-shadow: 0 5px 14px 1px #c0965b17
}

.ab-us .story-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.ab-us .story-img-tall {
  height: 300px
}

.ab-us .feat-group {
  background: #D3DCB3;
  border-radius: 16px;
  padding: 24px;
  margin-top: 24px;
  box-shadow: 0 2px 3px 1px #c0965b12
}

.ab-us .feat-cat {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #2c1f0e;
  margin-bottom: 12px
}

.ab-us .feat-item {
  font-size: 15px;
  line-height: 1.6;
  color: #3d2a12;
  padding: 8px 0;
  border-bottom: 1px solid #c0965b33;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.ab-us .feat-item:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.ab-us .feat-dot {
  width: 6px;
  height: 6px;
  border-radius: 44px;
  background: #C0965B;
  flex-shrink: 0;
  margin-top: 8px
}

.ab-us .curve-band {
  background: #fff;
  padding-bottom: 0
}

.ab-us .team-band {
  background: #F9F8F6;
  padding: 72px 0
}

.ab-us .team-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px
}

.ab-us .team-layout {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 72px;
  align-items: start
}

.ab-us .portrait-wrap {
  width: 100%;
  aspect-ratio: 4/5;
  border-radius: 44px;
  overflow: hidden;
  box-shadow: 0 12px 48px 1px #c0965b1a
}

.ab-us .portrait-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.ab-us .team-meta {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 36px
}

.ab-us .team-eyebrow {
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
  color: #C0965B
}

.ab-us .team-name {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: #2c1f0e;
  margin: 0
}

.ab-us .team-role {
  font-size: 15px;
  font-weight: 600;
  color: #C0965B;
  letter-spacing: .05em
}

.ab-us .team-bio {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3520;
  margin: 0
}

.ab-us .team-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 12px
}

.ab-us .stat-box {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 3px 1px #c0965b12;
  text-align: center
}

.ab-us .stat-num {
  font-size: 28px;
  font-weight: 900;
  color: #C0965B;
  letter-spacing: .01em;
  display: block
}

.ab-us .stat-lbl {
  font-size: 13px;
  color: #4a3520;
  letter-spacing: .05em;
  text-transform: uppercase;
  display: block;
  margin-top: 4px
}

.ab-us .sub-band {
  background: #fff;
  padding: 72px 0;
  position: relative;
  overflow: hidden
}

.ab-us .sub-bg-img {
  position: absolute;
  inset: 0;
  z-index: 0
}

.ab-us .sub-bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  display: block
}

.ab-us .sub-overlay {
  position: absolute;
  inset: 0;
  background: #f9f8f6e0;
  z-index: 1
}

.ab-us .sub-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 36px;
  position: relative;
  z-index: 2
}

.ab-us .sub-center {
  max-width: 560px;
  margin: 0 auto;
  text-align: center
}

.ab-us .sub-h {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: #2c1f0e;
  margin: 0 0 24px
}

.ab-us .sub-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3520;
  margin: 0 0 36px
}

.ab-us .sub-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center
}

.ab-us .sub-input {
  width: 100%;
  max-width: 400px;
  padding: 16px 24px;
  border: 1.5px solid #c0965b59;
  border-radius: 6px;
  background: #fff;
  font-size: 15px;
  color: #2c1f0e;
  outline: none;
  transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.ab-us .sub-input::placeholder {
  font-style: italic;
  opacity: .55;
  color: #4a3520
}

.ab-us .sub-input:focus {
  border-color: #C0965B
}

.ab-us .sub-btn {
  padding: 16px 36px;
  background: linear-gradient(17deg, #C0965B, #d4a96e);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 5px 14px 1px #c0965b17;
  transition: box-shadow .45s ease-in-out, opacity .4s ease-in-out
}

.ab-us .sub-btn:hover {
  opacity: .9;
  box-shadow: 0 12px 48px 1px #c0965b1a
}

.ab-us .sub-btn:focus {
  outline: 2px solid #2c1f0e;
  outline-offset: 3px
}

.ab-us .sub-fine {
  font-size: 13px;
  color: #6b5a3e;
  margin-top: 8px;
  letter-spacing: .01em
}

.ab-us .arrow-hint {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  opacity: .45
}

.ab-us .arrow-hint svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #C0965B;
  stroke-width: 1.5
}

.ab-us .arrow-hint-txt {
  font-size: 13px;
  color: #C0965B;
  letter-spacing: .06em;
  text-transform: uppercase
}

@media (max-width: 1280px) {
  .ab-us .split-h1 {
    font-size: 38px
  }

  .ab-us .split-h2 {
    font-size: 28px
  }

  .ab-us .team-layout {
    grid-template-columns: 280px 1fr;
    gap: 36px
  }

  .ab-us .team-name {
    font-size: 28px
  }
}

@media (max-width: 768px) {
  .ab-us .split-wrap {
    grid-template-columns: 1fr
  }

  .ab-us .split-left {
    padding: 36px 24px 24px;
    min-height: 320px
  }

  .ab-us .split-right {
    padding: 24px 24px 36px
  }

  .ab-us .split-h1 {
    font-size: 28px
  }

  .ab-us .split-h2 {
    font-size: 28px
  }

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

  .ab-us .story-col-mid,
  .ab-us .story-col-short {
    padding-top: 0
  }

  .ab-us .story-inner {
    padding: 0 24px
  }

  .ab-us .team-layout {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .ab-us .portrait-wrap {
    max-width: 280px
  }

  .ab-us .team-meta {
    padding-top: 0
  }

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

  .ab-us .team-name {
    font-size: 28px
  }

  .ab-us .team-inner {
    padding: 0 24px
  }

  .ab-us .sub-inner {
    padding: 0 24px
  }

  .ab-us .sub-h {
    font-size: 28px
  }

  .ab-us .team-band {
    padding: 36px 0
  }

  .ab-us .sub-band {
    padding: 36px 0
  }

  .ab-us .story-band {
    padding: 36px 0 0
  }
}

.suc-pg {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 72px 24px;
  background-color: #F9F8F6
}

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

.suc-pg .suc-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  border-radius: 44px;
  box-shadow: 0 5px 14px 1px #c0965b17
}

.suc-pg .suc-icon svg {
  width: 36px;
  height: 36px;
  display: block
}

.suc-pg .suc-label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #C0965B;
  margin-bottom: 12px;
  display: block
}

.suc-pg .suc-head {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #2b2416;
  margin: 0 0 24px;
  text-transform: uppercase
}

.suc-pg .suc-head span {
  color: #C0965B
}

.suc-pg .suc-txt {
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #4a3f2f;
  margin: 0 0 36px
}

.suc-pg .suc-divider {
  width: 48px;
  height: 3px;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  border-radius: 6px;
  margin: 0 auto 36px
}

.suc-pg .suc-detail {
  background-color: #fff;
  border-radius: 16px;
  padding: 24px 36px;
  box-shadow: 0 2px 3px 1px #c0965b12;
  margin-bottom: 36px;
  text-align: left
}

.suc-pg .suc-detail-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #D3DCB3
}

.suc-pg .suc-detail-row:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.suc-pg .suc-detail-row:first-child {
  padding-top: 0
}

.suc-pg .suc-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 44px;
  background-color: #C0965B;
  margin-top: 6px
}

.suc-pg .suc-row-txt {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #4a3f2f
}

.suc-pg .suc-row-txt strong {
  color: #2b2416;
  font-weight: 600
}

.suc-pg .suc-back {
  display: inline-block;
  padding: 16px 36px;
  background: linear-gradient(17deg, #C0965B, #D3DCB3);
  color: #2b2416;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 6px;
  box-shadow: 0 5px 14px 1px #c0965b17;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), opacity .4s ease-in-out
}

.suc-pg .suc-back:hover {
  box-shadow: 0 12px 48px 1px #c0965b1a;
  opacity: .88
}

.suc-pg .suc-back:focus {
  outline: 2px solid #C0965B;
  outline-offset: 4px
}

@media (max-width: 768px) {
  .suc-pg {
    padding: 36px 24px
  }

  .suc-pg .suc-head {
    font-size: 28px
  }

  .suc-pg .suc-detail {
    padding: 24px
  }
}