@import "https://fonts.googleapis.com/css2?family=Lora:wght@400;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;700&display=swap";

html {
  margin: 0;
  box-sizing: border-box;
  font-size: 100%
}

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

.top-band {
  background: linear-gradient(135deg, #FAD7E5 0%, #fff 48%, #B7D061 100%);
  padding: 16px 40px;
  border-bottom: 1px solid #281c8e0f;
  box-shadow: 0 6px 28px 1px #281c8e14
}

.top-band-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #ffffffeb;
  padding: 8px 16px;
  border-radius: 22px;
  box-shadow: 0 1px 6px 1px #281c8e14;
  border: 1px solid #281c8e14
}

.brand-lockup img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block
}

.brand-lockup-text {
  font-family: 'Lora', serif;
  font-size: 21px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 700;
  letter-spacing: -.02em
}

.primary-links {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap
}

.primary-links a {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  line-height: 1.4;
  color: #281C8E;
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 14px;
  background: #ffffffb3;
  transition: background-color .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s ease-in-out;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent
}

.primary-links a::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #B7D061 0%, #FAD7E5 100%);
  transition: right .35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.primary-links a:hover::before {
  right: 0
}

.primary-links a:hover {
  color: #281C8E;
  box-shadow: 0 6px 28px 1px #281c8e14;
  border-color: #281c8e1f
}

.primary-links a:focus {
  outline: 2px solid #B7D061;
  outline-offset: 2px;
  text-decoration: underline
}

.dropdown-trigger {
  position: relative;
  display: inline-block
}

.dropdown-trigger>a {
  display: flex;
  align-items: center;
  gap: 4px
}

.dropdown-trigger>a::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  display: inline-block;
  margin-left: 4px;
  transition: transform .27s ease-in-out
}

.dropdown-trigger:hover>a::after {
  transform: rotate(180deg)
}

.dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 36px 1px #281c8e24;
  padding: 8px;
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .3s cubic-bezier(0.4, 0, 0.2, 1), transform .3s cubic-bezier(0.4, 0, 0.2, 1), visibility .3s;
  z-index: 100;
  border: 1px solid #281c8e14
}

.dropdown-trigger:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0)
}

.dropdown-menu a {
  display: block;
  padding: 8px 16px;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  line-height: 1.4;
  color: #281C8E;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color .25s ease-in-out, color .25s ease-in-out;
  white-space: nowrap;
  border: none;
  background: transparent;
  position: relative;
  overflow: visible
}

.dropdown-menu a::before {
  display: none
}

.dropdown-menu a:hover {
  background: linear-gradient(135deg, #FAD7E5 0%, #B7D061 100%);
  color: #281C8E;
  box-shadow: none
}

.dropdown-menu a:focus {
  outline: 2px solid #B7D061;
  outline-offset: 1px;
  text-decoration: underline
}

@media (max-width: 768px) {
  .top-band {
    padding: 16px 20px
  }

  .top-band-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
  }

  .primary-links {
    width: 100%;
    flex-direction: column;
    align-items: stretch
  }

  .primary-links a {
    text-align: center
  }

  .dropdown-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    margin-top: 8px;
    box-shadow: 0 1px 6px 1px #281c8e14
  }

  .dropdown-trigger>a::after {
    display: none
  }
}

.bottom-band {
  background: linear-gradient(180deg, #281C8E 0%, #1a1461 100%);
  padding: 40px;
  margin-top: 80px;
  border-top: 4px solid #B7D061;
  position: relative
}

.bottom-band::before {
  content: '';
  position: absolute;
  top: -80px;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to bottom, #fad7e526 0%, transparent 100%);
  pointer-events: none
}

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

.company-details-box {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
  min-width: 280px
}

.company-details-box img {
  width: 38px;
  height: 38px;
  object-fit: contain;
  display: block;
  padding: 8px;
  background: #fffffff2;
  border-radius: 8px;
  box-shadow: 0 1px 6px 1px #b7d06114
}

.company-details-box p {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffe0;
  margin: 0
}

.company-details-box a {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #B7D061;
  text-decoration: none;
  transition: color .26s ease-in-out;
  display: inline-block
}

.company-details-box a:hover {
  color: #FAD7E5;
  text-decoration: underline
}

.company-details-box a:focus {
  outline: 2px solid #B7D061;
  outline-offset: 2px;
  text-decoration: underline
}

.links-cluster {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 200px
}

.links-cluster a {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffe0;
  text-decoration: none;
  transition: color .29s cubic-bezier(0.4, 0, 0.2, 1), padding-left .29s cubic-bezier(0.4, 0, 0.2, 1);
  padding-left: 0;
  display: inline-block
}

.links-cluster a:hover {
  color: #B7D061;
  padding-left: 8px
}

.links-cluster a:focus {
  outline: 2px solid #B7D061;
  outline-offset: 2px;
  text-decoration: underline
}

.contact-cluster {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 240px
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffe0
}

.contact-item i {
  color: #B7D061;
  font-size: 17px;
  margin-top: 2px;
  flex-shrink: 0
}

.contact-item a {
  color: #B7D061;
  text-decoration: none;
  transition: color .27s ease-in-out
}

.contact-item a:hover {
  color: #FAD7E5;
  text-decoration: underline
}

.contact-item a:focus {
  outline: 2px solid #B7D061;
  outline-offset: 2px;
  text-decoration: underline
}

.copyright-notice {
  width: 100%;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #b7d06133;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: #ffffffa6;
  text-align: center
}

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

  .bottom-band-inner {
    flex-direction: column;
    gap: 40px
  }

  .company-details-box,
  .links-cluster,
  .contact-cluster {
    min-width: 100%
  }
}

.consent-dialog {
  position: fixed;
  bottom: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: calc(100% - 80px);
  max-width: 680px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 36px 1px #281c8e24;
  padding: 40px;
  z-index: 8000;
  border: 1px solid #281c8e14;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .38s cubic-bezier(0.4, 0, 0.2, 1), transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent-dialog.visible {
  opacity: 1;
  transform: translateY(0)
}

.consent-description {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  margin: 0 0 20px
}

.consent-description strong {
  font-weight: 700;
  color: #281C8E
}

.consent-uses-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px
}

.consent-uses-list li {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #281c8ecc;
  padding-left: 20px;
  position: relative;
  margin-bottom: 4px
}

.consent-uses-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  background: #B7D061;
  border-radius: 1px
}

.consent-actions {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap
}

.consent-btn {
  flex: 1;
  min-width: 140px;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  line-height: 1.4;
  padding: 16px 40px;
  border: none;
  border-radius: 22px;
  cursor: pointer;
  transition: background-color .3s cubic-bezier(0.4, 0, 0.2, 1), color .3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .33s ease-in-out;
  font-weight: 700;
  position: relative;
  overflow: hidden
}

.consent-btn.accept {
  background: linear-gradient(135deg, #B7D061 0%, #a3bd51 100%);
  color: #281C8E;
  box-shadow: 0 6px 28px 1px #b7d06114
}

.consent-btn.accept::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #a3bd51 0%, #B7D061 100%);
  transition: right .36s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.consent-btn.accept:hover::before {
  right: 0
}

.consent-btn.accept:hover {
  box-shadow: 0 10px 36px 1px #b7d06124
}

.consent-btn.decline {
  background: #281c8e14;
  color: #281C8E
}

.consent-btn.decline::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #281c8e1f;
  transition: right .34s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.consent-btn.decline:hover::before {
  right: 0
}

.consent-btn.decline:hover {
  box-shadow: 0 6px 28px 1px #281c8e14
}

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

.preferences-link {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: #281C8E;
  text-decoration: underline;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color .28s ease-in-out;
  display: inline-block
}

.preferences-link:hover {
  color: #B7D061
}

.preferences-link:focus {
  outline: 2px solid #B7D061;
  outline-offset: 2px
}

.preferences-panel {
  display: none;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #281c8e1f
}

.preferences-panel.visible {
  display: block
}

.preference-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  background: #fad7e526;
  border-radius: 8px;
  margin-bottom: 8px
}

.preference-toggle:last-child {
  margin-bottom: 0
}

.preference-label {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #281C8E;
  font-weight: 700
}

.toggle-switch {
  position: relative;
  width: 52px;
  height: 28px;
  background: #281c8e33;
  border-radius: 22px;
  cursor: pointer;
  transition: background-color .32s ease-in-out
}

.toggle-switch::after {
  content: '';
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 22px;
  transition: left .32s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 6px 1px #281c8e14
}

.toggle-switch.active {
  background: #B7D061
}

.toggle-switch.active::after {
  left: 28px
}

.toggle-switch:focus {
  outline: 2px solid #B7D061;
  outline-offset: 2px
}

@media (max-width: 768px) {
  .consent-dialog {
    width: calc(100% - 40px);
    padding: 20px;
    bottom: 20px
  }

  .consent-actions {
    flex-direction: column
  }

  .consent-btn {
    min-width: 100%
  }
}

.info-legal {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 20px;
  background: #fff
}

.info-legal h1 {
  font-size: 54px;
  line-height: 1.15;
  margin: 0 0 40px;
  color: #281C8E
}

.info-legal h2 {
  font-size: 38px;
  line-height: 1.15;
  margin: 80px 0 20px;
  color: #281C8E
}

.info-legal h3 {
  font-size: 28px;
  line-height: 1.4;
  margin: 40px 0 16px;
  color: #281C8E
}

.info-legal h4 {
  font-size: 21px;
  line-height: 1.4;
  margin: 40px 0 16px;
  color: #281C8E
}

.info-legal h5 {
  font-size: 17px;
  line-height: 1.4;
  margin: 20px 0 16px;
  color: #281C8E;
  font-weight: 700
}

.info-legal h6 {
  font-size: 17px;
  line-height: 1.4;
  margin: 20px 0 16px;
  color: #281C8E;
  font-weight: 600
}

.info-legal p {
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 16px;
  color: #1a1a1a
}

.info-legal ul {
  margin: 0 0 20px;
  padding: 0 0 0 40px;
  list-style-type: disc
}

.info-legal ol {
  margin: 0 0 20px;
  padding: 0 0 40px;
  list-style-type: decimal
}

.info-legal li {
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 8px;
  color: #1a1a1a
}

.info-legal ul ul {
  margin: 8px 0;
  padding: 0 0 0 40px;
  list-style-type: circle
}

.info-legal ol ol {
  margin: 8px 0;
  padding: 0 0 0 40px;
  list-style-type: lower-alpha
}

.info-legal strong {
  font-weight: 700;
  color: #281C8E
}

.info-legal b {
  font-weight: 700;
  color: #281C8E
}

.info-legal em {
  font-style: italic
}

.info-legal i {
  font-style: italic
}

.info-legal table {
  width: 100%;
  margin: 40px 0;
  border-collapse: collapse;
  background: #fff;
  box-shadow: 0 1px 6px 1px #b7d06114;
  border-radius: 8px;
  overflow: hidden
}

.info-legal thead {
  background: linear-gradient(135deg, #FAD7E5 0%, #fff 100%)
}

.info-legal th {
  font-size: 17px;
  line-height: 1.4;
  padding: 20px 16px;
  text-align: left;
  font-weight: 700;
  color: #281C8E;
  border-bottom: 2px solid #B7D061
}

.info-legal tbody tr {
  border-bottom: 1px solid #b7d06126;
  transition: background-color .28s ease-in-out
}

.info-legal tbody tr:last-child {
  border-bottom: none
}

.info-legal tbody tr:hover {
  background: #fad7e526
}

.info-legal td {
  font-size: 17px;
  line-height: 1.6;
  padding: 16px;
  color: #1a1a1a
}

.info-legal div {
  margin: 0;
  padding: 0
}

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

  .info-legal h1 {
    font-size: 38px;
    margin: 0 0 20px
  }

  .info-legal h2 {
    font-size: 28px;
    margin: 40px 0 16px
  }

  .info-legal h3 {
    font-size: 21px;
    margin: 20px 0 16px
  }

  .info-legal h4 {
    font-size: 17px;
    margin: 20px 0 8px
  }

  .info-legal ul {
    padding: 0 0 0 20px
  }

  .info-legal ol {
    padding: 0 0 0 20px
  }

  .info-legal table {
    font-size: 14px;
    margin: 20px 0
  }

  .info-legal th {
    font-size: 14px;
    padding: 16px 8px
  }

  .info-legal td {
    font-size: 14px;
    padding: 8px
  }
}

.svc-dtl {
  background: #fff;
  color: #1a1626;
  max-width: 1500px;
  margin: 0 auto
}

.svc-dtl .topcard {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  padding: 40px 80px;
  background: linear-gradient(128deg, #FAD7E5 0%, #fff 100%);
  position: relative;
  overflow: visible
}

.svc-dtl .topcard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 80px;
  background: #B7D061
}

.svc-dtl .topcard::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 80px;
  height: 2px;
  background: #281C8E
}

.svc-dtl .img-holder {
  flex-shrink: 0;
  width: 380px;
  height: 240px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 28px 1px #b7d06114
}

.svc-dtl .img-holder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: sepia(0.15) saturate(0.85) hue-rotate(-5deg)
}

.svc-dtl .txt-zone {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-dtl .eyebrow {
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #281C8E;
  font-weight: 600
}

.svc-dtl .main-heading {
  font-size: 54px;
  line-height: 1.15;
  font-weight: 300;
  color: #1a1626;
  margin: 0
}

.svc-dtl .meta-strip {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-top: 8px
}

.svc-dtl .meta-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.4;
  color: #5a5566
}

.svc-dtl .meta-icon {
  width: 18px;
  height: 18px;
  fill: #B7D061
}

.svc-dtl .divider-line {
  height: 1px;
  background: linear-gradient(90deg, #B7D061 0%, #f5f5f5 100%);
  margin: 0
}

.svc-dtl .content-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  padding: 80px;
  background: #fff
}

.svc-dtl .sidebar-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.svc-dtl .price-card {
  background: linear-gradient(180deg, #FAD7E5 0%, #fff 100%);
  border-radius: 22px;
  padding: 40px;
  box-shadow: 0 6px 28px 1px #281c8e14;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.svc-dtl .price-label {
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #281C8E;
  font-weight: 600
}

.svc-dtl .price-value {
  font-size: 54px;
  line-height: 1.15;
  font-weight: 700;
  color: #1a1626;
  margin: 0
}

.svc-dtl .price-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #5a5566;
  margin: 0
}

.svc-dtl .price-note-text {
  font-size: 14px;
  line-height: 1.4;
  color: #7a7585;
  font-style: italic;
  margin: 0
}

.svc-dtl .detail-list {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.svc-dtl .detail-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  background: #fafafa;
  border-radius: 8px
}

.svc-dtl .detail-key {
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #7a7585;
  font-weight: 600
}

.svc-dtl .detail-val {
  font-size: 17px;
  line-height: 1.4;
  color: #1a1626;
  font-weight: 500
}

.svc-dtl .cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 40px;
  background: #281C8E;
  color: #fff;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  border: none;
  border-radius: 22px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .cta-btn::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #B7D061;
  transition: right .35s ease-in-out;
  z-index: 0
}

.svc-dtl .cta-btn:hover::before {
  right: 0
}

.svc-dtl .cta-btn:hover {
  transform: translateY(-2px)
}

.svc-dtl .cta-btn:focus {
  outline: 3px solid #B7D061;
  outline-offset: 4px
}

.svc-dtl .cta-btn span {
  position: relative;
  z-index: 1
}

.svc-dtl .main-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.svc-dtl .intro-text {
  font-size: 21px;
  line-height: 1.6;
  color: #1a1626;
  margin: 0
}

.svc-dtl .program-section {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.svc-dtl .program-heading {
  font-size: 38px;
  line-height: 1.15;
  font-weight: 300;
  color: #281C8E;
  text-align: center;
  letter-spacing: .04em;
  margin: 0
}

.svc-dtl .program-content {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-dtl .program-content h2 {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 600;
  color: #1a1626;
  margin: 0
}

.svc-dtl .program-content h3 {
  font-size: 21px;
  line-height: 1.4;
  font-weight: 600;
  color: #281C8E;
  margin: 0
}

.svc-dtl .program-content p {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2636;
  margin: 0
}

.svc-dtl .program-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.svc-dtl .program-content li {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2636;
  padding-left: 28px;
  position: relative
}

.svc-dtl .program-content li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  background: #B7D061;
  border-radius: 1px;
  transform: rotate(45deg)
}

.svc-dtl .program-content cite {
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  font-style: italic
}

.svc-dtl .program-content em {
  font-style: italic;
  color: #281C8E
}

.svc-dtl .program-content blockquote {
  margin: 20px 0;
  padding: 20px 40px;
  background: #FAD7E5;
  border-radius: 14px;
  font-size: 17px;
  line-height: 1.6;
  color: #1a1626
}

.svc-dtl .program-content dl {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0
}

.svc-dtl .program-content dt {
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  color: #281C8E;
  margin: 0
}

.svc-dtl .program-content dd {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2636;
  margin: 0 0 0 28px
}

.svc-dtl .program-content details {
  background: #fafafa;
  border-radius: 8px;
  padding: 20px;
  margin: 16px 0
}

.svc-dtl .program-content summary {
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  color: #281C8E;
  cursor: pointer;
  list-style: none
}

.svc-dtl .program-content summary::marker {
  display: none
}

.svc-dtl .desc-section {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.svc-dtl .desc-content {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-dtl .desc-content h2 {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 600;
  color: #1a1626;
  margin: 0
}

.svc-dtl .desc-content h3 {
  font-size: 21px;
  line-height: 1.4;
  font-weight: 600;
  color: #281C8E;
  margin: 0
}

.svc-dtl .desc-content p {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2636;
  margin: 0
}

.svc-dtl .desc-content small {
  font-size: 14px;
  line-height: 1.6;
  color: #7a7585
}

.svc-dtl .desc-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.svc-dtl .desc-content li {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2636;
  padding-left: 28px;
  position: relative
}

.svc-dtl .desc-content li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  background: #281C8E;
  border-radius: 1px;
  transform: rotate(45deg)
}

.svc-dtl .poll-wrapper {
  background: linear-gradient(180deg, #fff 0%, #FAD7E5 100%);
  padding: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px
}

.svc-dtl .poll-heading {
  font-size: 38px;
  line-height: 1.15;
  font-weight: 300;
  color: #281C8E;
  text-align: center;
  margin: 0
}

.svc-dtl .poll-form {
  width: 100%;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.svc-dtl .poll-option {
  position: relative
}

.svc-dtl .poll-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none
}

.svc-dtl .poll-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 20px 40px;
  background: #fff;
  border: 2px solid #e5e5e5;
  border-radius: 14px;
  font-size: 17px;
  line-height: 1.4;
  color: #1a1626;
  cursor: pointer;
  transition: all .3s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .poll-label::before {
  content: '';
  width: 24px;
  height: 24px;
  border: 2px solid #B7D061;
  border-radius: 22px;
  flex-shrink: 0;
  transition: all .27s ease-in-out;
  background: #fff
}

.svc-dtl .poll-radio:checked+.poll-label {
  background: #FAD7E5;
  border-color: #B7D061;
  box-shadow: 0 6px 28px 1px #b7d06114
}

.svc-dtl .poll-radio:checked+.poll-label::before {
  background: #B7D061;
  box-shadow: inset 0 0 0 5px #fff
}

.svc-dtl .poll-label:hover {
  border-color: #B7D061;
  transform: translateX(4px)
}

.svc-dtl .poll-radio:focus+.poll-label {
  outline: 3px solid #281C8E;
  outline-offset: 4px
}

.svc-dtl .stat-showcase {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  padding: 80px;
  background: #281C8E;
  position: relative;
  overflow: hidden
}

.svc-dtl .stat-showcase::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle at center, #b7d0611f 0%, transparent 70%);
  pointer-events: none
}

.svc-dtl .testimonial-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px;
  background: #ffffff0f;
  border-radius: 22px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px)
}

.svc-dtl .quote-mark {
  font-size: 70px;
  line-height: 1;
  color: #B7D061;
  font-weight: 700;
  margin: 0
}

.svc-dtl .testimonial-text {
  font-size: 21px;
  line-height: 1.6;
  color: #fff;
  margin: 0
}

.svc-dtl .testimonial-author {
  font-size: 17px;
  line-height: 1.4;
  color: #FAD7E5;
  font-weight: 600;
  margin: 0
}

.svc-dtl .stat-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 40px 20px;
  background: #fad7e514;
  border-radius: 14px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: stat-appear .4s ease-in-out backwards
}

.svc-dtl .stat-box:nth-child(2) {
  animation-delay: .15s
}

.svc-dtl .stat-box:nth-child(3) {
  animation-delay: .3s
}

@keyframes stat-appear {
  from {
    opacity: 0;
    transform: translateY(20px)
  }

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

.svc-dtl .stat-number {
  font-size: 54px;
  line-height: 1.15;
  font-weight: 700;
  color: #B7D061;
  margin: 0
}

.svc-dtl .stat-label {
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #fff;
  text-align: center;
  font-weight: 600
}

@media (max-width: 1280px) {
  .svc-dtl .topcard {
    padding: 40px;
    gap: 40px
  }

  .svc-dtl .img-holder {
    width: 320px;
    height: 200px
  }

  .svc-dtl .main-heading {
    font-size: 38px
  }

  .svc-dtl .content-grid {
    gap: 40px;
    padding: 40px
  }

  .svc-dtl .poll-wrapper {
    padding: 40px
  }

  .svc-dtl .stat-showcase {
    padding: 40px;
    gap: 20px
  }
}

@media (max-width: 768px) {
  .svc-dtl .topcard {
    flex-direction: column;
    padding: 20px;
    gap: 20px
  }

  .svc-dtl .img-holder {
    width: 100%;
    height: 220px
  }

  .svc-dtl .main-heading {
    font-size: 28px
  }

  .svc-dtl .meta-strip {
    flex-direction: column;
    gap: 8px
  }

  .svc-dtl .content-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 20px
  }

  .svc-dtl .price-card {
    padding: 20px
  }

  .svc-dtl .price-value {
    font-size: 38px
  }

  .svc-dtl .program-heading {
    font-size: 28px
  }

  .svc-dtl .poll-wrapper {
    padding: 20px
  }

  .svc-dtl .poll-heading {
    font-size: 28px
  }

  .svc-dtl .poll-label {
    padding: 16px 20px
  }

  .svc-dtl .stat-showcase {
    grid-template-columns: 1fr;
    padding: 20px;
    gap: 20px
  }

  .svc-dtl .testimonial-block {
    padding: 20px
  }

  .svc-dtl .quote-mark {
    font-size: 54px
  }

  .svc-dtl .testimonial-text {
    font-size: 17px
  }

  .svc-dtl .stat-number {
    font-size: 38px
  }
}

.testimonial-hub {
  background: linear-gradient(148deg, #fff 0%, #FAD7E5 100%);
  min-height: 100vh;
  max-width: 1500px;
  margin: 0 auto
}

.testimonial-hub .opening-visual-block {
  position: relative;
  padding: 80px 20px;
  overflow: hidden
}

.testimonial-hub .opening-visual-block::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #281C8E
}

.testimonial-hub .opening-visual-content-wrapper {
  max-width: 1500px;
  margin: 0 auto;
  position: relative
}

.testimonial-hub .opening-visual-upper-text-zone {
  padding: 0 0 40px
}

.testimonial-hub .opening-visual-main-heading {
  font-size: 70px;
  line-height: 1.15;
  color: #281C8E;
  margin: 0 0 20px;
  font-weight: 300;
  letter-spacing: .02em
}

.testimonial-hub .opening-visual-descriptive-text {
  font-size: 21px;
  line-height: 1.6;
  color: #281C8E;
  max-width: 680px;
  margin: 0
}

.testimonial-hub .opening-visual-lower-image-container {
  position: relative;
  height: 420px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 28px 1px #281c8e14
}

.testimonial-hub .opening-visual-lower-image-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #281c8eb3 0%, #281c8e33 100%);
  z-index: 1
}

.testimonial-hub .opening-visual-display-image {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.testimonial-hub .statistics-showcase-section {
  padding: 80px 20px;
  background: #fff
}

.testimonial-hub .statistics-showcase-inner-container {
  max-width: 1500px;
  margin: 0 auto
}

.testimonial-hub .statistics-showcase-header-text {
  font-size: 38px;
  line-height: 1.4;
  color: #281C8E;
  text-align: center;
  margin: 0 0 40px;
  font-weight: 300;
  letter-spacing: .08em;
  text-transform: uppercase
}

.testimonial-hub .statistics-showcase-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
  margin: 0 0 80px
}

.testimonial-hub .statistics-showcase-metric-card {
  background: linear-gradient(135deg, #FAD7E5 0%, #fff 100%);
  padding: 40px;
  border-radius: 22px;
  text-align: center;
  box-shadow: 0 1px 6px 1px #b7d06114;
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s ease-in-out;
  opacity: 0;
  animation: reveal-metric-card .32s ease-in-out forwards
}

.testimonial-hub .statistics-showcase-metric-card:nth-child(1) {
  animation-delay: .1s
}

.testimonial-hub .statistics-showcase-metric-card:nth-child(2) {
  animation-delay: .2s
}

.testimonial-hub .statistics-showcase-metric-card:nth-child(3) {
  animation-delay: .3s
}

.testimonial-hub .statistics-showcase-metric-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 36px 1px #b7d06124
}

@keyframes reveal-metric-card {
  to {
    opacity: 1
  }
}

.testimonial-hub .statistics-showcase-metric-number {
  font-size: 54px;
  line-height: 1.15;
  color: #281C8E;
  margin: 0 0 8px;
  font-weight: 700
}

.testimonial-hub .statistics-showcase-metric-label {
  font-size: 17px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0
}

.testimonial-hub .statistics-showcase-divider-lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 80px
}

.testimonial-hub .statistics-showcase-divider-thick {
  height: 4px;
  background: #281C8E;
  border-radius: 1px
}

.testimonial-hub .statistics-showcase-divider-thin {
  height: 1px;
  background: #B7D061;
  border-radius: 1px
}

.testimonial-hub .statistics-showcase-intro-paragraph-container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  margin: 0 0 40px
}

.testimonial-hub .statistics-showcase-intro-left-column {
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  margin: 0
}

.testimonial-hub .statistics-showcase-intro-right-column {
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  margin: 0
}

.testimonial-hub .experiences-collection-section {
  padding: 80px 20px;
  background: linear-gradient(212deg, #fff 0%, #FAD7E5 100%);
  position: relative
}

.testimonial-hub .experiences-collection-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #B7D061
}

.testimonial-hub .experiences-collection-section::after {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  height: 4px;
  background: #281C8E
}

.testimonial-hub .experiences-collection-inner-wrapper {
  max-width: 1500px;
  margin: 0 auto
}

.testimonial-hub .experiences-collection-section-heading {
  font-size: 38px;
  line-height: 1.4;
  color: #281C8E;
  text-align: left;
  margin: 0 0 40px;
  font-weight: 400
}

.testimonial-hub .experiences-collection-grid-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 40px
}

.testimonial-hub .experiences-collection-sidebar-grid {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 20px
}

.testimonial-hub .experiences-collection-sidebar-stat-box {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 1px 6px 1px #281c8e14;
  border: 2px solid #B7D061;
  transition: border-color .27s ease-in-out
}

.testimonial-hub .experiences-collection-sidebar-stat-box:hover {
  border-color: #281C8E
}

.testimonial-hub .experiences-collection-sidebar-stat-value {
  font-size: 28px;
  line-height: 1.15;
  color: #281C8E;
  margin: 0 0 4px;
  font-weight: 700
}

.testimonial-hub .experiences-collection-sidebar-stat-description {
  font-size: 14px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0
}

.testimonial-hub .experiences-collection-main-content-area {
  display: grid;
  gap: 40px
}

.testimonial-hub .experiences-collection-testimonial-card {
  background: #fff;
  padding: 40px;
  border-radius: 14px;
  box-shadow: 0 6px 28px 1px #b7d06114;
  position: relative;
  opacity: 0;
  animation: reveal-testimonial-entry .38s ease-in-out forwards
}

.testimonial-hub .experiences-collection-testimonial-card:nth-child(1) {
  animation-delay: .15s
}

.testimonial-hub .experiences-collection-testimonial-card:nth-child(2) {
  animation-delay: .25s
}

.testimonial-hub .experiences-collection-testimonial-card:nth-child(3) {
  animation-delay: .35s
}

.testimonial-hub .experiences-collection-testimonial-card:nth-child(4) {
  animation-delay: .45s
}

@keyframes reveal-testimonial-entry {
  to {
    opacity: 1
  }
}

.testimonial-hub .experiences-collection-testimonial-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: #B7D061;
  border-radius: 14px 0 0 14px;
  opacity: 0;
  transition: opacity .3s cubic-bezier(0.4, 0, 0.2, 1)
}

.testimonial-hub .experiences-collection-testimonial-card:hover::before {
  opacity: 1
}

.testimonial-hub .experiences-collection-quote-text {
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  margin: 0 0 20px
}

.testimonial-hub .experiences-collection-quote-text::before {
  content: '"';
  color: #B7D061;
  font-size: 28px;
  margin-right: 4px
}

.testimonial-hub .experiences-collection-quote-text::after {
  content: '"';
  color: #B7D061;
  font-size: 28px;
  margin-left: 4px
}

.testimonial-hub .experiences-collection-author-details-row {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.testimonial-hub .experiences-collection-author-name {
  font-size: 17px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0;
  font-weight: 600
}

.testimonial-hub .experiences-collection-rating-stars {
  display: flex;
  gap: 4px
}

.testimonial-hub .experiences-collection-star-icon {
  width: 18px;
  height: 18px;
  fill: #B7D061
}

.testimonial-hub .detailed-feedback-section {
  padding: 80px 20px;
  background: #fff
}

.testimonial-hub .detailed-feedback-inner-container {
  max-width: 1500px;
  margin: 0 auto
}

.testimonial-hub .detailed-feedback-section-title {
  font-size: 38px;
  line-height: 1.4;
  color: #281C8E;
  text-align: center;
  margin: 0 0 80px;
  font-weight: 300;
  letter-spacing: .08em;
  text-transform: uppercase
}

.testimonial-hub .detailed-feedback-entries-container {
  display: grid;
  gap: 80px
}

.testimonial-hub .detailed-feedback-single-entry {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.testimonial-hub .detailed-feedback-single-entry:nth-child(even) {
  grid-template-columns: 1fr 1fr;
  direction: rtl
}

.testimonial-hub .detailed-feedback-single-entry:nth-child(even)>* {
  direction: ltr
}

.testimonial-hub .detailed-feedback-text-content-block {
  background: linear-gradient(165deg, #FAD7E5 0%, #fff 100%);
  padding: 40px;
  border-radius: 22px;
  box-shadow: 0 1px 6px 1px #281c8e14;
  position: relative
}

.testimonial-hub .detailed-feedback-text-content-block::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(135deg, #B7D061 0%, #281C8E 100%);
  border-radius: 22px;
  z-index: -1;
  opacity: 0;
  transition: opacity .32s ease-in-out
}

.testimonial-hub .detailed-feedback-text-content-block:hover::before {
  opacity: 1
}

.testimonial-hub .detailed-feedback-participant-name-heading {
  font-size: 28px;
  line-height: 1.15;
  color: #281C8E;
  margin: 0 0 8px;
  font-weight: 600
}

.testimonial-hub .detailed-feedback-participant-context {
  font-size: 14px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0 0 20px;
  opacity: .7
}

.testimonial-hub .detailed-feedback-full-story-text {
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  margin: 0
}

.testimonial-hub .detailed-feedback-visual-accent-block {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.testimonial-hub .detailed-feedback-metric-highlight-box {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: inset 0 2px 4px #281c8e0f inset 0 -2px 4px #b7d0610f;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.testimonial-hub .detailed-feedback-metric-highlight-box:hover {
  transform: translateX(8px)
}

.testimonial-hub .detailed-feedback-metric-dot-indicator {
  width: 12px;
  height: 12px;
  background: #B7D061;
  border-radius: 22px;
  flex-shrink: 0
}

.testimonial-hub .detailed-feedback-metric-text-label {
  font-size: 17px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0
}

@media (max-width: 1280px) {
  .testimonial-hub .opening-visual-main-heading {
    font-size: 54px
  }

  .testimonial-hub .statistics-showcase-intro-paragraph-container {
    grid-template-columns: 1fr
  }

  .testimonial-hub .experiences-collection-grid-layout {
    grid-template-columns: 1fr
  }

  .testimonial-hub .experiences-collection-sidebar-grid {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto
  }

  .testimonial-hub .detailed-feedback-single-entry,
  .testimonial-hub .detailed-feedback-single-entry:nth-child(even) {
    grid-template-columns: 1fr;
    direction: ltr
  }
}

@media (max-width: 768px) {
  .testimonial-hub .opening-visual-block {
    padding: 40px 16px
  }

  .testimonial-hub .opening-visual-main-heading {
    font-size: 38px
  }

  .testimonial-hub .opening-visual-descriptive-text {
    font-size: 17px
  }

  .testimonial-hub .opening-visual-lower-image-container {
    height: 280px
  }

  .testimonial-hub .statistics-showcase-section {
    padding: 40px 16px
  }

  .testimonial-hub .statistics-showcase-header-text {
    font-size: 28px
  }

  .testimonial-hub .statistics-showcase-metrics-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 0 0 40px
  }

  .testimonial-hub .statistics-showcase-divider-lines {
    margin: 0 0 40px
  }

  .testimonial-hub .experiences-collection-section {
    padding: 40px 16px
  }

  .testimonial-hub .experiences-collection-section-heading {
    font-size: 28px
  }

  .testimonial-hub .experiences-collection-sidebar-grid {
    grid-template-columns: 1fr
  }

  .testimonial-hub .experiences-collection-testimonial-card {
    padding: 20px
  }

  .testimonial-hub .detailed-feedback-section {
    padding: 40px 16px
  }

  .testimonial-hub .detailed-feedback-section-title {
    font-size: 28px;
    margin: 0 0 40px
  }

  .testimonial-hub .detailed-feedback-entries-container {
    gap: 40px
  }

  .testimonial-hub .detailed-feedback-text-content-block {
    padding: 20px
  }
}

.testimonial-hub ::selection {
  background: #000;
  color: #fff
}

.testimonial-hub input::placeholder,
.testimonial-hub textarea::placeholder {
  color: #281c8e66
}

.abt-page {
  background: linear-gradient(162deg, #fefefe 0%, #f4f9fb 100%);
  overflow-x: clip
}

.abt-page .pg-intro-outer {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 20px;
  position: relative
}

.abt-page .pg-intro-layout {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  position: relative
}

.abt-page .pg-intro-text-zone {
  flex: 1 1 55%;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.abt-page .pg-intro-visual-zone {
  flex: 1 1 45%;
  position: relative;
  display: flex;
  justify-content: flex-end
}

.abt-page .pg-intro-primary-heading {
  font-size: 54px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 700;
  margin: 0
}

.abt-page .pg-intro-primary-heading .gradient-word {
  background: linear-gradient(162deg, #B7D061 0%, #281C8E 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

.abt-page .pg-intro-subtext {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0;
  max-width: 520px
}

.abt-page .pg-intro-img-holder {
  position: relative;
  width: 480px;
  height: 360px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 28px 1px #281c8e14
}

.abt-page .pg-intro-img-holder::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fad7e51f;
  z-index: 1;
  pointer-events: none
}

.abt-page .pg-intro-img-holder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.7) brightness(1.05)
}

.abt-page .corner-line-top {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 60px;
  height: 60px;
  border-top: 2px solid #B7D061;
  border-right: 2px solid #B7D061;
  pointer-events: none;
  z-index: 2
}

.abt-page .corner-line-bottom {
  position: absolute;
  bottom: -8px;
  right: -8px;
  width: 40px;
  height: 40px;
  border-bottom: 2px solid #281C8E;
  border-right: 2px solid #281C8E;
  pointer-events: none;
  z-index: 2
}

.abt-page .story-outer {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 20px;
  position: relative
}

.abt-page .story-bg-mesh {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(at 20% 30%, #b7d06126 0%, transparent 50%), radial-gradient(at 80% 70%, #fad7e52e 0%, transparent 50%), radial-gradient(at 50% 50%, #281c8e14 0%, transparent 50%);
  pointer-events: none;
  z-index: 0
}

.abt-page .story-content-wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abt-page .story-heading-row {
  text-align: center
}

.abt-page .story-main-heading {
  font-size: 38px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 700;
  margin: 0 0 16px
}

.abt-page .story-intro-text {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0 auto;
  max-width: 680px
}

.abt-page .split-divider-container {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 0;
  min-height: 520px
}

.abt-page .split-left-zone {
  flex: 1 1 50%;
  background: #fff;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%)
}

.abt-page .split-right-zone {
  flex: 1 1 50%;
  background: linear-gradient(162deg, #fafbfd 0%, #f0f4f7 100%);
  padding: 40px 40px 40px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  position: relative
}

.abt-page .split-zone-heading {
  font-size: 28px;
  line-height: 1.4;
  color: #281C8E;
  font-weight: 300;
  letter-spacing: .02em;
  margin: 0
}

.abt-page .split-zone-body {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0
}

.abt-page .vertical-divider-line {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, #B7D061 20%, #281C8E 80%, transparent 100%);
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none
}

.abt-page .team-showcase-outer {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 20px
}

.abt-page .team-heading-wrapper {
  margin-bottom: 40px
}

.abt-page .team-section-title {
  font-size: 38px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 700;
  margin: 0 0 16px;
  text-align: center
}

.abt-page .team-section-subtitle {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0 auto;
  max-width: 640px;
  text-align: left
}

.abt-page .team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px
}

.abt-page .team-member-card {
  background: #fff;
  border-radius: 14px;
  overflow: visible;
  box-shadow: 0 1px 6px 1px #281c8e14;
  position: relative;
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column
}

.abt-page .team-member-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 36px 1px #281c8e24
}

.abt-page .team-member-card:active {
  transform: translateY(-2px)
}

.abt-page .team-card-img-wrapper {
  width: 100%;
  height: 240px;
  overflow: hidden;
  border-radius: 14px 14px 0 0;
  position: relative
}

.abt-page .team-card-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.abt-page .team-card-tag {
  position: absolute;
  top: 16px;
  right: 16px;
  background: #b7d061f2;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  padding: 4px 16px;
  border-radius: 22px;
  font-weight: 600;
  z-index: 2
}

.abt-page .team-card-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.abt-page .team-member-name {
  font-size: 21px;
  line-height: 1.4;
  color: #281C8E;
  font-weight: 700;
  margin: 0
}

.abt-page .team-member-role {
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  margin: 0;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em
}

.abt-page .team-member-bio {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 8px 0 0
}

.abt-page .approach-outer {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 20px;
  position: relative
}

.abt-page .approach-bg-panorama {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 100%;
  background-image: url(./picture_assets/layer-rev-lower.jpg);
  background-size: cover;
  background-position: center;
  opacity: .06;
  pointer-events: none;
  z-index: 0;
  animation: panorama-drift 60s linear infinite
}

@keyframes panorama-drift {
  0% {
    transform: translateX(0)
  }

  100% {
    transform: translateX(-50%)
  }
}

.abt-page .approach-content-wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abt-page .approach-heading-section {
  text-align: left
}

.abt-page .approach-title {
  font-size: 38px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 700;
  margin: 0 0 16px
}

.abt-page .approach-description {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0;
  max-width: 720px
}

.abt-page .pyramid-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  margin: 40px 0
}

.abt-page .pyramid-layer {
  background: linear-gradient(162deg, #fff 0%, #f7f9fb 100%);
  border: 2px solid #B7D061;
  border-radius: 8px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), background .32s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  box-shadow: 0 1px 6px 1px #281c8e14
}

.abt-page .pyramid-layer:hover {
  background: linear-gradient(162deg, #fefefe 0%, #fff 100%);
  box-shadow: 0 6px 28px 1px #281c8e14;
  transform: scale(1.02)
}

.abt-page .pyramid-layer-1 {
  width: 90%;
  max-width: 800px
}

.abt-page .pyramid-layer-2 {
  width: 75%;
  max-width: 660px
}

.abt-page .pyramid-layer-3 {
  width: 60%;
  max-width: 520px
}

.abt-page .pyramid-layer-4 {
  width: 45%;
  max-width: 380px
}

.abt-page .pyramid-layer-text {
  font-size: 17px;
  line-height: 1.4;
  color: #281C8E;
  font-weight: 600;
  margin: 0
}

.abt-page .two-column-content-outer {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.abt-page .narrow-intro-column {
  flex: 1 1 35%;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt-page .wide-main-column {
  flex: 1 1 65%;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt-page .column-heading {
  font-size: 28px;
  line-height: 1.4;
  color: #281C8E;
  font-weight: 300;
  letter-spacing: .02em;
  margin: 0;
  text-align: center
}

.abt-page .column-subheading {
  font-size: 21px;
  line-height: 1.4;
  color: #281C8E;
  font-weight: 700;
  margin: 0;
  text-align: left
}

.abt-page .column-paragraph {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0;
  text-align: left
}

.abt-page .column-paragraph .accent-quote {
  color: #B7D061
}

.abt-page .column-paragraph .accent-quote::before {
  content: '"';
  color: #B7D061
}

.abt-page .column-paragraph .accent-quote::after {
  content: '"';
  color: #B7D061
}

.abt-page .column-link {
  color: #281C8E;
  text-decoration: none !important;
  font-weight: 600;
  transition: color .26s ease-in-out;
  position: relative;
  display: inline
}

.abt-page .column-link::after {
  content: '→';
  margin-left: 4px;
  display: inline-block;
  transition: transform .26s ease-in-out
}

.abt-page .column-link:hover {
  color: #B7D061
}

.abt-page .column-link:hover::after {
  transform: translateX(4px)
}

.abt-page .svg-divider-wrapper {
  width: 100%;
  overflow: hidden;
  margin: 80px 0
}

.abt-page .svg-divider-line {
  width: 100%;
  height: 4px
}

.abt-page .dot-border-container {
  position: relative;
  padding: 40px;
  margin: 40px 0
}

.abt-page .dot-border-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle, #B7D061 1px, transparent 1px), radial-gradient(circle, #281C8E 2px, transparent 2px), radial-gradient(circle, #FAD7E5 1.5px, transparent 1.5px);
  background-size: 20px 20px, 40px 40px, 30px 30px;
  background-position: 0 0, 10px 10px, 20px 20px;
  opacity: .3;
  pointer-events: none;
  z-index: 0
}

.abt-page .dot-border-content {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: 40px;
  border-radius: 14px;
  box-shadow: 0 6px 28px 1px #281c8e14
}

.abt-page .values-outer {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 20px
}

.abt-page .values-heading-container {
  margin-bottom: 40px;
  text-align: left
}

.abt-page .values-title {
  font-size: 38px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 700;
  margin: 0
}

.abt-page .values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px
}

.abt-page .value-card {
  background: #fff;
  border-radius: 14px;
  padding: 40px;
  box-shadow: 0 1px 6px 1px #281c8e14;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  overflow: hidden;
  transition: box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-page .value-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(162deg, #b7d06114 0%, #fad7e514 100%);
  transition: right .35s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: 0
}

.abt-page .value-card:hover::before {
  right: 0
}

.abt-page .value-card:hover {
  box-shadow: 0 6px 28px 1px #281c8e14
}

.abt-page .value-card-content {
  position: relative;
  z-index: 1
}

.abt-page .value-icon-wrapper {
  width: 56px;
  height: 56px;
  background: linear-gradient(162deg, #B7D061 0%, #281C8E 100%);
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px
}

.abt-page .value-icon-svg {
  width: 28px;
  height: 28px;
  fill: #fff
}

.abt-page .value-card-title {
  font-size: 21px;
  line-height: 1.4;
  color: #281C8E;
  font-weight: 700;
  margin: 0
}

.abt-page .value-card-description {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0
}

.abt-page ::selection {
  background: #000;
  color: #fff
}

.abt-page ::-moz-selection {
  background: #000;
  color: #fff
}

.abt-page input::placeholder,
.abt-page textarea::placeholder {
  color: #281c8e66
}

@media (max-width: 1280px) {
  .abt-page .pg-intro-layout {
    flex-direction: column;
    gap: 40px
  }

  .abt-page .pg-intro-text-zone {
    flex: 1 1 100%
  }

  .abt-page .pg-intro-visual-zone {
    flex: 1 1 100%;
    justify-content: center
  }

  .abt-page .pg-intro-img-holder {
    width: 100%;
    max-width: 600px;
    height: 400px
  }

  .abt-page .team-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt-page .split-divider-container {
    flex-direction: column;
    min-height: auto
  }

  .abt-page .split-left-zone {
    clip-path: none;
    padding: 40px
  }

  .abt-page .split-right-zone {
    padding: 40px
  }

  .abt-page .vertical-divider-line {
    display: none
  }

  .abt-page .two-column-content-outer {
    flex-direction: column;
    gap: 40px
  }

  .abt-page .narrow-intro-column,
  .abt-page .wide-main-column {
    flex: 1 1 100%
  }

  .abt-page .values-grid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .abt-page .pg-intro-outer {
    padding: 40px 16px
  }

  .abt-page .pg-intro-primary-heading {
    font-size: 38px
  }

  .abt-page .pg-intro-img-holder {
    height: 280px
  }

  .abt-page .story-outer {
    padding: 40px 16px
  }

  .abt-page .story-main-heading {
    font-size: 28px
  }

  .abt-page .split-left-zone,
  .abt-page .split-right-zone {
    padding: 20px
  }

  .abt-page .split-zone-heading {
    font-size: 21px
  }

  .abt-page .team-showcase-outer {
    padding: 40px 16px
  }

  .abt-page .team-section-title {
    font-size: 28px
  }

  .abt-page .team-grid {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .abt-page .team-card-img-wrapper {
    height: 200px
  }

  .abt-page .approach-outer {
    padding: 40px 16px
  }

  .abt-page .approach-title {
    font-size: 28px
  }

  .abt-page .pyramid-layer-1,
  .abt-page .pyramid-layer-2,
  .abt-page .pyramid-layer-3,
  .abt-page .pyramid-layer-4 {
    width: 100%
  }

  .abt-page .values-outer {
    padding: 40px 16px
  }

  .abt-page .values-title {
    font-size: 28px
  }

  .abt-page .value-card {
    padding: 20px
  }

  .abt-page .column-heading {
    font-size: 21px
  }

  .abt-page .svg-divider-wrapper {
    margin: 40px 0
  }

  .abt-page .dot-border-container {
    padding: 20px;
    margin: 20px 0
  }

  .abt-page .dot-border-content {
    padding: 20px
  }
}

.svc-page {
  background: linear-gradient(168deg, #fff 0%, #fefefe 100%);
  position: relative;
  overflow-x: clip
}

.svc-page::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle at 15% 25%, #b7d0610a 0%, transparent 50%), radial-gradient(circle at 85% 75%, #fad7e50d 0%, transparent 50%), radial-gradient(circle at 50% 50%, #281c8e08 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
  animation: desaturate-cycle 12s ease-in-out infinite
}

@keyframes desaturate-cycle {

  0%,
  100% {
    filter: saturate(1)
  }

  50% {
    filter: saturate(0.7)
  }
}

.svc-page .hero-intro {
  background: linear-gradient(152deg, #B7D061 0%, #FAD7E5 100%);
  padding-top: 80px;
  padding-bottom: 140px;
  position: relative;
  overflow: visible
}

.svc-page .hero-intro::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40px;
  background: #fff;
  clip-path: polygon(0 100%, 50% 0, 100% 100%)
}

.svc-page .hero-intro-content {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px
}

.svc-page .hero-intro h1 {
  font-size: 70px;
  line-height: 1.15;
  letter-spacing: .02em;
  color: #281C8E;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 300
}

.svc-page .hero-intro-description {
  font-size: 21px;
  line-height: 1.6;
  color: #281C8E;
  text-align: center;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0
}

.svc-page .offerings-grid {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  padding: 80px 20px
}

.svc-page .offerings-grid-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px
}

.svc-page .offering-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 36px 1px #281c8e24;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.svc-page .offering-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #b7d061e6 0%, #fad7e5e6 100%);
  opacity: 0;
  transition: opacity .35s ease-in-out;
  pointer-events: none;
  z-index: 1
}

.svc-page .offering-card:hover::before {
  opacity: 1
}

.svc-page .offering-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 36px 1px #281c8e38
}

.svc-page .offering-card-image-wrapper {
  width: 100%;
  height: 280px;
  overflow: hidden;
  position: relative
}

.svc-page .offering-card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-page .offering-card:hover .offering-card-image {
  transform: scale(1.08)
}

.svc-page .offering-card-body {
  padding: 40px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
  z-index: 2
}

.svc-page .offering-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px
}

.svc-page .offering-card-meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.4;
  color: #555
}

.svc-page .offering-card-meta-icon {
  width: 18px;
  height: 18px;
  fill: #B7D061
}

.svc-page .offering-card h3 {
  font-size: 28px;
  line-height: 1.4;
  color: #281C8E;
  margin-top: 0;
  margin-bottom: 16px;
  font-weight: 600
}

.svc-page .offering-card-description {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin-top: 0;
  margin-bottom: 20px;
  flex-grow: 1
}

.svc-page .offering-card-details {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px
}

.svc-page .offering-card-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  line-height: 1.4
}

.svc-page .offering-card-detail-label {
  color: #666
}

.svc-page .offering-card-detail-value {
  color: #281C8E;
  font-weight: 600
}

.svc-page .offering-card-price-section {
  margin-bottom: 20px;
  padding-top: 20px;
  border-top: 1px solid #e8e8e8
}

.svc-page .offering-card-price {
  font-size: 38px;
  line-height: 1.15;
  color: #B7D061;
  font-weight: 700;
  margin-bottom: 8px
}

.svc-page .offering-card-price-description {
  font-size: 14px;
  line-height: 1.4;
  color: #666;
  margin-bottom: 4px
}

.svc-page .offering-card-price-note {
  font-size: 14px;
  line-height: 1.4;
  color: #999;
  font-style: italic
}

.svc-page .offering-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 40px;
  background: #281C8E;
  color: #fff;
  text-decoration: none;
  border-radius: 22px;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  transition: background .28s ease-in-out;
  position: relative;
  overflow: hidden;
  z-index: 2
}

.svc-page .offering-card-link::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  left: 0;
  background: #B7D061;
  transition: right .35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.svc-page .offering-card-link:hover::before {
  right: 0
}

.svc-page .offering-card-link:focus {
  outline: 2px solid #B7D061;
  outline-offset: 4px
}

.svc-page .split-layout {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 30fr 70fr;
  gap: 40px;
  align-items: center;
  position: relative;
  z-index: 1;
  padding: 80px 20px
}

.svc-page .split-layout-left {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-page .split-layout h2 {
  font-size: 54px;
  line-height: 1.15;
  color: #281C8E;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 300;
  letter-spacing: .04em;
  text-transform: uppercase
}

.svc-page .split-layout-accent {
  font-size: 17px;
  line-height: 1.6;
  color: #666
}

.svc-page .split-layout-right {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.svc-page .split-layout-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin-top: 0;
  margin-bottom: 0
}

.svc-page .process-steps-section {
  background: #281C8E;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  z-index: 1
}

.svc-page .process-steps-content {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px
}

.svc-page .process-steps-header {
  text-align: center;
  margin-bottom: 80px
}

.svc-page .process-steps-section h2 {
  font-size: 54px;
  line-height: 1.15;
  color: #B7D061;
  margin-top: 0;
  margin-bottom: 16px;
  font-weight: 300;
  letter-spacing: .03em
}

.svc-page .process-steps-subtitle {
  font-size: 21px;
  line-height: 1.6;
  color: #FAD7E5;
  margin-top: 0;
  margin-bottom: 0
}

.svc-page .process-steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px
}

.svc-page .process-step-card {
  background: #ffffff0d;
  border-radius: 14px;
  padding: 40px;
  position: relative;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid #b7d06133;
  transition: background .3s cubic-bezier(0.4, 0, 0.2, 1), transform .3s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-page .process-step-card::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -20px;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 16px solid #B7D061;
  transform: translateY(-50%);
  opacity: .6;
  z-index: 2
}

.svc-page .process-step-card:last-child::after {
  display: none
}

.svc-page .process-step-card:hover {
  background: #b7d0611f;
  transform: translateY(-4px)
}

.svc-page .process-step-number {
  font-size: 54px;
  line-height: 1.15;
  color: #B7D061;
  font-weight: 700;
  margin-bottom: 16px
}

.svc-page .process-step-card h3 {
  font-size: 21px;
  line-height: 1.4;
  color: #FAD7E5;
  margin-top: 0;
  margin-bottom: 16px;
  font-weight: 600
}

.svc-page .process-step-description {
  font-size: 17px;
  line-height: 1.6;
  color: #fff;
  margin-top: 0;
  margin-bottom: 0
}

.svc-page .narrow-centered-section {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  padding: 80px 20px
}

.svc-page .narrow-centered-section h2 {
  font-size: 38px;
  line-height: 1.4;
  color: #281C8E;
  text-align: center;
  margin-top: 0;
  margin-bottom: 40px;
  font-weight: 300;
  letter-spacing: .03em
}

.svc-page .narrow-centered-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin-top: 0;
  margin-bottom: 20px
}

.svc-page .narrow-centered-quote {
  position: relative;
  padding-left: 40px;
  margin-top: 40px;
  margin-bottom: 40px
}

.svc-page .narrow-centered-quote::before {
  content: '"';
  position: absolute;
  left: 0;
  top: -8px;
  font-size: 54px;
  line-height: 1;
  color: #B7D061;
  font-weight: 700
}

.svc-page .narrow-centered-quote-text {
  font-size: 21px;
  line-height: 1.6;
  color: #281C8E;
  font-style: italic;
  margin-top: 0;
  margin-bottom: 0
}

.svc-page .two-column-asymmetric {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  position: relative;
  z-index: 1;
  padding: 80px 20px
}

.svc-page .two-column-intro {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-page .two-column-intro h2 {
  font-size: 28px;
  line-height: 1.4;
  color: #B7D061;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em
}

.svc-page .two-column-intro-text {
  font-size: 17px;
  line-height: 1.6;
  color: #666;
  margin-top: 0;
  margin-bottom: 0
}

.svc-page .two-column-main {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.svc-page .two-column-main h3 {
  font-size: 38px;
  line-height: 1.4;
  color: #281C8E;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 300;
  text-align: left
}

.svc-page .two-column-main-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin-top: 0;
  margin-bottom: 0;
  text-align: left
}

.svc-page .two-column-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #281C8E;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 600;
  transition: color .27s ease-in-out
}

.svc-page .two-column-link::after {
  content: '→';
  font-size: 21px;
  transition: transform .27s ease-in-out
}

.svc-page .two-column-link:hover {
  color: #B7D061
}

.svc-page .two-column-link:hover::after {
  transform: translateX(4px)
}

.svc-page .two-column-link:focus {
  outline: 2px solid #B7D061;
  outline-offset: 4px;
  border-radius: 4px
}

.svc-page .image-showcase-section {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  padding: 80px 20px
}

.svc-page .image-showcase-header {
  text-align: center;
  margin-bottom: 40px
}

.svc-page .image-showcase-section h2 {
  font-size: 38px;
  line-height: 1.4;
  color: #281C8E;
  margin-top: 0;
  margin-bottom: 16px;
  font-weight: 600
}

.svc-page .image-showcase-subtitle {
  font-size: 17px;
  line-height: 1.6;
  color: #666;
  margin-top: 0;
  margin-bottom: 0
}

.svc-page .image-showcase-wrapper {
  display: flex;
  justify-content: center;
  align-items: center
}

.svc-page .image-showcase-container {
  position: relative;
  max-width: 900px;
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 36px 1px #281c8e24
}

.svc-page .image-showcase-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover
}

@media (max-width: 1280px) {
  .svc-page .hero-intro h1 {
    font-size: 54px
  }

  .svc-page .split-layout {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .svc-page .split-layout h2 {
    font-size: 38px
  }

  .svc-page .two-column-asymmetric {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .svc-page .process-steps-grid {
    grid-template-columns: 1fr
  }

  .svc-page .process-step-card::after {
    display: none
  }
}

@media (max-width: 768px) {
  .svc-page .hero-intro {
    padding-top: 40px;
    padding-bottom: 80px
  }

  .svc-page .hero-intro h1 {
    font-size: 38px
  }

  .svc-page .hero-intro-description {
    font-size: 17px
  }

  .svc-page .offerings-grid {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .svc-page .offerings-grid-container {
    gap: 20px
  }

  .svc-page .offering-card-body {
    padding: 20px
  }

  .svc-page .offering-card h3 {
    font-size: 21px
  }

  .svc-page .offering-card-price {
    font-size: 28px
  }

  .svc-page .split-layout {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .svc-page .split-layout h2 {
    font-size: 28px
  }

  .svc-page .process-steps-section {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .svc-page .process-steps-section h2 {
    font-size: 38px
  }

  .svc-page .process-steps-header {
    margin-bottom: 40px
  }

  .svc-page .process-step-number {
    font-size: 38px
  }

  .svc-page .narrow-centered-section {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .svc-page .narrow-centered-section h2 {
    font-size: 28px
  }

  .svc-page .narrow-centered-quote-text {
    font-size: 17px
  }

  .svc-page .two-column-asymmetric {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .svc-page .two-column-main h3 {
    font-size: 28px
  }

  .svc-page .image-showcase-section {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .svc-page .image-showcase-section h2 {
    font-size: 28px
  }
}

.nourish-start {
  max-width: 1500px;
  margin: 0 auto;
  background: #FFF
}

.nourish-start .opening-zone {
  position: relative;
  background: linear-gradient(128deg, #FAD7E5 0%, #FFF 100%);
  padding: 80px 40px;
  overflow: hidden
}

.nourish-start .opening-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(./picture_assets/12-DISPLAY.jpg);
  background-size: cover;
  background-position: center;
  opacity: .12;
  z-index: 1
}

.nourish-start .opening-zone::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(128deg, #b7d0614d 0%, #281c8e33 100%);
  z-index: 2
}

.nourish-start .opening-inner {
  position: relative;
  z-index: 3;
  max-width: 1100px;
  margin: 0 auto
}

.nourish-start .opening-text-container {
  padding: 40px 80px 40px 40px
}

.nourish-start .opening-main-title {
  font-size: 70px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: .02em;
  color: #281C8E;
  margin: 0 0 40px;
  text-transform: uppercase;
  animation: letter-cascade 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes letter-cascade {
  0% {
    opacity: 0;
    transform: translateY(-40px)
  }

  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

.nourish-start .opening-main-title span {
  display: inline-block;
  animation: letter-drop .6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  opacity: 0
}

.nourish-start .opening-main-title span:nth-child(1) {
  animation-delay: .05s
}

.nourish-start .opening-main-title span:nth-child(2) {
  animation-delay: .1s
}

.nourish-start .opening-main-title span:nth-child(3) {
  animation-delay: .15s
}

.nourish-start .opening-main-title span:nth-child(4) {
  animation-delay: .2s
}

.nourish-start .opening-main-title span:nth-child(5) {
  animation-delay: .25s
}

.nourish-start .opening-main-title span:nth-child(6) {
  animation-delay: .3s
}

.nourish-start .opening-main-title span:nth-child(7) {
  animation-delay: .35s
}

.nourish-start .opening-main-title span:nth-child(8) {
  animation-delay: .4s
}

@keyframes letter-drop {
  0% {
    opacity: 0;
    transform: translateY(-80px) rotate(-12deg)
  }

  60% {
    transform: translateY(8px) rotate(2deg)
  }

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

.nourish-start .opening-subtitle {
  font-size: 21px;
  line-height: 1.6;
  color: #281C8E;
  margin: 0;
  max-width: 680px
}

.nourish-start .problem-identification {
  padding: 80px 40px;
  background: #FFF;
  position: relative
}

.nourish-start .problem-identification::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 40px;
  width: 1px;
  height: 280px;
  background: linear-gradient(180deg, #b7d06100 0%, #b7d06166 50%, #b7d06100 100%);
  transform: translateY(-50%)
}

.nourish-start .problem-identification::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 40px;
  width: 1px;
  height: 280px;
  background: linear-gradient(180deg, #281c8e00 0%, #281c8e4d 50%, #281c8e00 100%);
  transform: translateY(-50%)
}

.nourish-start .problem-container {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start
}

.nourish-start .problem-intro-col {
  padding: 20px 0
}

.nourish-start .problem-heading {
  font-size: 38px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0 0 20px;
  text-align: center
}

.nourish-start .problem-intro-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.nourish-start .problem-content-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.nourish-start .problem-item {
  display: flex;
  gap: 20px;
  align-items: start
}

.nourish-start .problem-number-wrapper {
  flex-shrink: 0;
  width: 60px
}

.nourish-start .problem-number {
  font-size: 38px;
  line-height: 1.15;
  color: #B7D061;
  font-weight: 300;
  margin: 0 0 8px
}

.nourish-start .problem-bar {
  width: 100%;
  height: 2px;
  background: #F0F0F0;
  position: relative;
  overflow: hidden
}

.nourish-start .problem-bar-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #B7D061;
  transition: width .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.nourish-start .problem-item:nth-child(1) .problem-bar-fill {
  width: 78%
}

.nourish-start .problem-item:nth-child(2) .problem-bar-fill {
  width: 62%
}

.nourish-start .problem-item:nth-child(3) .problem-bar-fill {
  width: 85%
}

.nourish-start .problem-text-wrapper {
  flex: 1
}

.nourish-start .problem-item-heading {
  font-size: 21px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0 0 8px;
  text-align: left
}

.nourish-start .problem-item-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin: 0;
  text-align: left
}

.nourish-start .commitment-required {
  padding: 80px 40px;
  background: linear-gradient(217deg, #FFF 0%, #FAD7E5 100%);
  position: relative
}

.nourish-start .commitment-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #b7d06100 0%, #b7d06199 50%, #b7d06100 100%);
  margin: 0 0 80px
}

.nourish-start .commitment-inner {
  max-width: 1100px;
  margin: 0 auto
}

.nourish-start .commitment-header {
  text-align: center;
  margin: 0 0 80px
}

.nourish-start .commitment-heading {
  font-size: 54px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 300;
  letter-spacing: .04em;
  margin: 0 0 20px
}

.nourish-start .commitment-subheading {
  font-size: 21px;
  line-height: 1.6;
  color: #333;
  margin: 0;
  text-align: left;
  max-width: 780px;
  margin: 0 auto
}

.nourish-start .commitment-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px
}

.nourish-start .commitment-card {
  background: #FFF;
  padding: 40px;
  border-radius: 14px;
  box-shadow: 0 6px 28px 1px #281c8e14;
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden
}

.nourish-start .commitment-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #B7D061 0%, #281C8E 100%);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.nourish-start .commitment-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 36px 1px #281c8e24
}

.nourish-start .commitment-card:hover::before {
  transform: scaleY(1)
}

.nourish-start .commitment-card-title {
  font-size: 28px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0 0 16px
}

.nourish-start .commitment-card-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.nourish-start .commitment-visual-wrapper {
  margin: 80px 0 0;
  position: relative
}

.nourish-start .commitment-image {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 22px;
  box-shadow: 0 10px 36px 1px #b7d06124;
  transition: box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1), border .3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 0 solid transparent
}

.nourish-start .commitment-image:hover {
  box-shadow: 0 10px 36px 1px #b7d06138;
  border: 4px solid #B7D061
}

.nourish-start .exclusions-clarity {
  padding: 80px 40px;
  background: #FFF;
  position: relative
}

.nourish-start .exclusions-bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(./picture_assets/13_section.jpg);
  background-size: cover;
  background-position: center;
  opacity: .06;
  z-index: 1
}

.nourish-start .exclusions-bg-color {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(312deg, #fad7e566 0%, #b7d06133 100%);
  z-index: 2
}

.nourish-start .exclusions-inner {
  position: relative;
  z-index: 3;
  max-width: 1100px;
  margin: 0 auto
}

.nourish-start .exclusions-header {
  margin: 0 0 80px
}

.nourish-start .exclusions-heading {
  font-size: 54px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 300;
  letter-spacing: .04em;
  margin: 0 0 20px;
  text-align: center
}

.nourish-start .exclusions-intro {
  font-size: 21px;
  line-height: 1.6;
  color: #333;
  margin: 0;
  text-align: left;
  max-width: 820px;
  margin: 0 auto
}

.nourish-start .exclusions-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center
}

.nourish-start .exclusions-list-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.nourish-start .exclusion-item {
  background: #FFF;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 1px 6px 1px #281c8e14;
  transition: transform .26s ease-in-out, box-shadow .26s ease-in-out;
  cursor: pointer;
  position: relative
}

.nourish-start .exclusion-item:active {
  transform: translateY(2px) scale(0.99);
  box-shadow: 0 1px 6px 1px #281c8e0a
}

.nourish-start .exclusion-item-heading {
  font-size: 21px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0 0 8px
}

.nourish-start .exclusion-item-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.nourish-start .exclusions-visual-col {
  position: relative
}

.nourish-start .exclusions-image {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 10px 36px 1px #281c8e24;
  transition: box-shadow .34s cubic-bezier(0.4, 0, 0.2, 1), border .34s cubic-bezier(0.4, 0, 0.2, 1);
  border: 0 solid transparent
}

.nourish-start .exclusions-image:hover {
  box-shadow: 0 10px 36px 1px #281c8e38;
  border: 4px solid #281C8E
}

.nourish-start .recognition-standing {
  padding: 80px 40px;
  background: linear-gradient(154deg, #FAD7E5 0%, #FFF 100%);
  position: relative
}

.nourish-start .recognition-divider-top {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #281c8e00 0%, #281c8e80 50%, #281c8e00 100%);
  margin: 0 0 80px
}

.nourish-start .recognition-inner {
  max-width: 1100px;
  margin: 0 auto
}

.nourish-start .recognition-heading {
  font-size: 54px;
  line-height: 1.15;
  color: #281C8E;
  font-weight: 300;
  letter-spacing: .04em;
  margin: 0 0 40px;
  text-align: center
}

.nourish-start .recognition-content-layout {
  display: flex;
  flex-direction: column;
  gap: 80px
}

.nourish-start .recognition-text-section {
  display: flex;
  gap: 40px
}

.nourish-start .recognition-quote-col {
  flex: 1;
  padding: 40px;
  background: #FFF;
  border-radius: 22px;
  box-shadow: 0 6px 28px 1px #b7d06114;
  position: relative
}

.nourish-start .recognition-quote-col::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, transparent 0%, #b7d0610a 100%);
  border-radius: 22px;
  pointer-events: none
}

.nourish-start .recognition-quote-mark {
  font-size: 70px;
  line-height: 1;
  color: #B7D061;
  margin: 0 0 20px
}

.nourish-start .recognition-quote-text {
  font-size: 21px;
  line-height: 1.6;
  color: #333;
  margin: 0 0 20px
}

.nourish-start .recognition-quote-text::before {
  content: '"';
  color: #B7D061
}

.nourish-start .recognition-quote-text::after {
  content: '"';
  color: #B7D061
}

.nourish-start .recognition-quote-author {
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  margin: 0;
  font-weight: 600
}

.nourish-start .recognition-stats-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.nourish-start .recognition-stat-item {
  background: #FFF;
  padding: 40px;
  border-radius: 14px;
  box-shadow: 0 6px 28px 1px #281c8e14;
  transition: transform .3s ease-in-out
}

.nourish-start .recognition-stat-item:hover {
  transform: translateX(8px)
}

.nourish-start .recognition-stat-number {
  font-size: 54px;
  line-height: 1.15;
  color: #281C8E;
  margin: 0 0 8px;
  font-weight: 300
}

.nourish-start .recognition-stat-label {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.nourish-start .recognition-link-wrapper {
  text-align: center;
  margin: 40px 0 0
}

.nourish-start .recognition-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 17px;
  line-height: 1.6;
  color: #281C8E;
  text-decoration: none;
  padding: 16px 40px;
  background: #FFF;
  border-radius: 8px;
  box-shadow: 0 1px 6px 1px #281c8e14;
  transition: background .3s cubic-bezier(0.4, 0, 0.2, 1), transform .3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden
}

.nourish-start .recognition-link::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #B7D061 0%, #FAD7E5 100%);
  transition: right .35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1
}

.nourish-start .recognition-link:hover::before {
  right: 0
}

.nourish-start .recognition-link:hover {
  transform: translateY(-2px)
}

.nourish-start .recognition-link-text {
  position: relative;
  z-index: 2;
  transition: color .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.nourish-start .recognition-link:hover .recognition-link-text {
  color: #281C8E
}

.nourish-start .recognition-link-arrow {
  position: relative;
  z-index: 2;
  transition: transform .3s cubic-bezier(0.4, 0, 0.2, 1)
}

.nourish-start .recognition-link:hover .recognition-link-arrow {
  transform: translateX(4px)
}

@media (max-width: 1280px) {
  .nourish-start .opening-main-title {
    font-size: 54px
  }

  .nourish-start .problem-container {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .nourish-start .commitment-grid {
    grid-template-columns: 1fr
  }

  .nourish-start .exclusions-layout {
    grid-template-columns: 1fr
  }

  .nourish-start .recognition-text-section {
    flex-direction: column
  }
}

@media (max-width: 768px) {
  .nourish-start .opening-zone {
    padding: 40px 20px
  }

  .nourish-start .opening-text-container {
    padding: 20px
  }

  .nourish-start .opening-main-title {
    font-size: 38px
  }

  .nourish-start .opening-subtitle {
    font-size: 17px
  }

  .nourish-start .problem-identification {
    padding: 40px 20px
  }

  .nourish-start .problem-identification::before,
  .nourish-start .problem-identification::after {
    display: none !important
  }

  .nourish-start .problem-container {
    gap: 40px
  }

  .nourish-start .problem-heading {
    font-size: 28px
  }

  .nourish-start .problem-item {
    flex-direction: column;
    gap: 16px
  }

  .nourish-start .commitment-required {
    padding: 40px 20px
  }

  .nourish-start .commitment-header {
    margin: 0 0 40px
  }

  .nourish-start .commitment-heading {
    font-size: 38px
  }

  .nourish-start .commitment-subheading {
    font-size: 17px
  }

  .nourish-start .commitment-grid {
    gap: 20px
  }

  .nourish-start .commitment-card {
    padding: 20px
  }

  .nourish-start .commitment-visual-wrapper {
    margin: 40px 0 0
  }

  .nourish-start .commitment-image {
    height: 240px
  }

  .nourish-start .exclusions-clarity {
    padding: 40px 20px
  }

  .nourish-start .exclusions-header {
    margin: 0 0 40px
  }

  .nourish-start .exclusions-heading {
    font-size: 38px
  }

  .nourish-start .exclusions-intro {
    font-size: 17px
  }

  .nourish-start .exclusions-layout {
    gap: 40px
  }

  .nourish-start .exclusions-list-col {
    gap: 20px
  }

  .nourish-start .exclusion-item {
    padding: 20px
  }

  .nourish-start .exclusions-image {
    height: 320px
  }

  .nourish-start .recognition-standing {
    padding: 40px 20px
  }

  .nourish-start .recognition-divider-top {
    margin: 0 0 40px
  }

  .nourish-start .recognition-heading {
    font-size: 38px
  }

  .nourish-start .recognition-content-layout {
    gap: 40px
  }

  .nourish-start .recognition-text-section {
    gap: 20px
  }

  .nourish-start .recognition-quote-col {
    padding: 20px
  }

  .nourish-start .recognition-quote-text {
    font-size: 17px
  }

  .nourish-start .recognition-stats-col {
    gap: 20px
  }

  .nourish-start .recognition-stat-item {
    padding: 20px
  }

  .nourish-start .recognition-stat-number {
    font-size: 38px
  }
}

.contact-reach {
  background: linear-gradient(127deg, #fff 0%, #FAD7E5 58%, #fff 100%);
  overflow-x: clip
}

.contact-reach .top-banner {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 1500px;
  margin: 0 auto;
  min-height: 520px;
  padding-top: 80px;
  padding-bottom: 40px
}

.contact-reach .visual-half {
  flex: 0 0 52%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px
}

.contact-reach .visual-half::before {
  content: '';
  position: absolute;
  top: 16%;
  left: 12%;
  width: 180px;
  height: 180px;
  background: #b7d06126;
  border-radius: 50%;
  z-index: 1
}

.contact-reach .visual-half::after {
  content: '';
  position: absolute;
  bottom: 22%;
  right: 18%;
  width: 140px;
  height: 140px;
  background: #281c8e14;
  border-radius: 50%;
  z-index: 1
}

.contact-reach .decorative-circle-one {
  position: absolute;
  top: 38%;
  left: 28%;
  width: 95px;
  height: 95px;
  background: #fad7e538;
  border-radius: 50%;
  z-index: 1
}

.contact-reach .decorative-circle-two {
  position: absolute;
  bottom: 14%;
  left: 22%;
  width: 115px;
  height: 115px;
  background: #b7d0611c;
  border-radius: 50%;
  z-index: 1
}

.contact-reach .image-shape-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 480px;
  opacity: 0;
  transform: translateY(40px);
  animation: reveal-from-below-hero .35s ease-in-out .15s forwards
}

@keyframes reveal-from-below-hero {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.contact-reach .clipped-image {
  width: 100%;
  height: auto;
  display: block;
  clip-path: polygon(18% 0%, 100% 0%, 100% 82%, 82% 100%, 0% 100%, 0% 18%);
  filter: drop-shadow(0 10px 36px 1px #281c8e24);
  transition: filter .32s ease-in-out
}

.contact-reach .clipped-image:hover {
  filter: drop-shadow(0 10px 36px 1px #281c8e24) drop-shadow(0 0 0 2000px #b7d0612e)
}

.contact-reach .text-half {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 80px 40px 40px
}

.contact-reach .pattern-dots {
  position: absolute;
  top: 20px;
  right: 40px;
  display: grid;
  grid-template-columns: repeat(4, 8px);
  gap: 16px;
  opacity: .4
}

.contact-reach .pattern-dots span {
  width: 8px;
  height: 8px;
  background: #281C8E;
  border-radius: 50%
}

.contact-reach .banner-heading {
  font-size: 70px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: .02em;
  color: #281C8E;
  margin: 0 0 20px;
  opacity: 0;
  transform: translateY(40px);
  animation: reveal-from-below-hero .38s cubic-bezier(0.4, 0, 0.2, 1) .25s forwards
}

.contact-reach .thin-caption {
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #281C8E;
  opacity: .65;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #281c8e33;
  display: inline-block;
  opacity: 0;
  transform: translateY(40px);
  animation: reveal-from-below-hero .3s cubic-bezier(0.4, 0, 0.2, 1) .35s forwards
}

.contact-reach .form-conversation-wrapper {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 40px;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start
}

.contact-reach .intro-column {
  flex: 0 0 340px;
  opacity: 0;
  transform: translateY(40px);
  animation: reveal-from-below-section-one .36s ease-in-out .2s forwards
}

@keyframes reveal-from-below-section-one {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.contact-reach .intro-heading {
  font-size: 38px;
  line-height: 1.4;
  font-weight: 400;
  color: #281C8E;
  margin: 0 0 20px
}

.contact-reach .intro-text {
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.contact-reach .form-main-column {
  flex: 1;
  opacity: 0;
  transform: translateY(40px);
  animation: reveal-from-below-section-one .36s ease-in-out .3s forwards
}

.contact-reach .form-container {
  background: #fff;
  border-radius: 22px;
  padding: 40px;
  box-shadow: 0 6px 28px 1px #281c8e14
}

.contact-reach .form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px
}

.contact-reach .field-wrapper {
  display: flex;
  flex-direction: column
}

.contact-reach .field-label {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  color: #281C8E;
  margin: 0 0 8px;
  letter-spacing: .01em
}

.contact-reach .field-input {
  font-size: 17px;
  line-height: 1.4;
  padding: 16px 20px;
  border: 1px solid #281c8e2e;
  border-radius: 8px;
  background: #fff;
  color: #333;
  transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out;
  outline: none
}

.contact-reach .field-input::placeholder {
  color: #b7d06173
}

.contact-reach .field-input:focus {
  border-color: #B7D061;
  box-shadow: 0 0 0 3px #b7d0611f
}

.contact-reach .field-textarea {
  font-size: 17px;
  line-height: 1.6;
  padding: 16px 20px;
  border: 1px solid #281c8e2e;
  border-radius: 8px;
  background: #fff;
  color: #333;
  min-height: 140px;
  resize: vertical;
  transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out;
  outline: none
}

.contact-reach .field-textarea::placeholder {
  color: #b7d06173
}

.contact-reach .field-textarea:focus {
  border-color: #B7D061;
  box-shadow: 0 0 0 3px #b7d0611f
}

.contact-reach .method-choice-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.contact-reach .radio-option {
  position: relative
}

.contact-reach .radio-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.contact-reach .radio-label {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border: 1px solid #281c8e2e;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color .28s ease-in-out, background-color .28s ease-in-out;
  font-size: 17px;
  line-height: 1.4;
  color: #333
}

.contact-reach .radio-label::before {
  content: '';
  width: 20px;
  height: 20px;
  border: 2px solid #281c8e4d;
  border-radius: 50%;
  margin-right: 16px;
  flex-shrink: 0;
  transition: border-color .28s ease-in-out, background-color .28s ease-in-out
}

.contact-reach .radio-input:checked+.radio-label {
  border-color: #B7D061;
  background: #b7d0610d
}

.contact-reach .radio-input:checked+.radio-label::before {
  border-color: #B7D061;
  background: #B7D061;
  box-shadow: inset 0 0 0 4px #fff
}

.contact-reach .radio-input:focus+.radio-label {
  box-shadow: 0 0 0 3px #b7d0611f
}

.contact-reach .conditional-phone-field {
  display: none;
  margin-top: 20px
}

.contact-reach #method-phone:checked~.conditional-phone-field {
  display: block
}

.contact-reach .conditional-video-field {
  display: none;
  margin-top: 20px
}

.contact-reach #method-video:checked~.conditional-video-field {
  display: block
}

.contact-reach .privacy-consent {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 20px
}

.contact-reach .checkbox-input {
  width: 20px;
  height: 20px;
  margin-top: 4px;
  flex-shrink: 0;
  accent-color: #B7D061;
  cursor: pointer
}

.contact-reach .consent-text {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin: 0
}

.contact-reach .consent-text a {
  color: #281C8E;
  text-decoration: underline;
  transition: color .28s ease-in-out
}

.contact-reach .consent-text a:hover {
  color: #B7D061
}

.contact-reach .submit-button {
  margin-top: 20px;
  padding: 16px 40px;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 500;
  color: #fff;
  background: #281C8E;
  border: none;
  border-radius: 22px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none
}

.contact-reach .submit-button::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #B7D061;
  transition: right .35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.contact-reach .submit-button:hover::before {
  right: 0
}

.contact-reach .submit-button:hover {
  transform: translateY(-2px)
}

.contact-reach .submit-button:focus {
  box-shadow: 0 0 0 3px #b7d06166
}

.contact-reach .submit-button:active {
  transform: translateY(0)
}

.contact-reach .details-location-section {
  position: relative;
  background: linear-gradient(217deg, #FAD7E5 0%, #fff 52%);
  padding: 80px 40px;
  overflow: hidden
}

.contact-reach .details-location-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(217deg, transparent 0%, #b7d06114 100%);
  pointer-events: none
}

.contact-reach .details-container {
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.contact-reach .details-heading-centered {
  font-size: 54px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: .04em;
  text-align: center;
  color: #281C8E;
  margin: 0 0 80px;
  opacity: 0;
  transform: translateY(40px);
  animation: reveal-from-below-section-two .34s ease-in-out .18s forwards
}

@keyframes reveal-from-below-section-two {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.contact-reach .info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px
}

.contact-reach .info-card {
  background: #fff;
  border-radius: 14px;
  padding: 40px;
  box-shadow: 0 1px 6px 1px #281c8e14;
  text-align: left;
  position: relative;
  transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .32s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  transform: translateY(40px)
}

.contact-reach .info-card:nth-child(1) {
  animation: reveal-from-below-section-two .34s ease-in-out .28s forwards
}

.contact-reach .info-card:nth-child(2) {
  animation: reveal-from-below-section-two .34s ease-in-out .38s forwards
}

.contact-reach .info-card:nth-child(3) {
  animation: reveal-from-below-section-two .34s ease-in-out .48s forwards
}

.contact-reach .info-card:nth-child(4) {
  animation: reveal-from-below-section-two .34s ease-in-out .58s forwards
}

.contact-reach .info-card:hover {
  box-shadow: 0 10px 36px 1px #281c8e24;
  transform: translateY(-4px)
}

.contact-reach .info-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(45deg, transparent, transparent 10px, #b7d06108 10px, #b7d06108 20px);
  border-radius: 14px;
  opacity: 0;
  transition: opacity .35s ease-in-out;
  pointer-events: none
}

.contact-reach .info-card:hover::before {
  opacity: 1
}

.contact-reach .icon-shape {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #B7D061 0%, #FAD7E5 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px
}

.contact-reach .icon-shape svg {
  width: 24px;
  height: 24px;
  fill: #281C8E
}

.contact-reach .card-label {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #281C8E;
  opacity: .7;
  margin: 0 0 8px
}

.contact-reach .card-value {
  font-size: 21px;
  line-height: 1.6;
  color: #333;
  margin: 0
}

.contact-reach .card-value a {
  color: #281C8E;
  text-decoration: none;
  transition: color .28s ease-in-out;
  position: relative
}

.contact-reach .card-value a::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #B7D061;
  transition: width .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact-reach .card-value a:hover {
  color: #B7D061
}

.contact-reach .card-value a:hover::after {
  width: 100%
}

@media (max-width: 1280px) {
  .contact-reach .top-banner {
    padding-top: 40px
  }

  .contact-reach .text-half {
    padding: 40px
  }

  .contact-reach .banner-heading {
    font-size: 54px
  }

  .contact-reach .form-conversation-wrapper {
    gap: 40px
  }

  .contact-reach .intro-column {
    flex: 0 0 280px
  }

  .contact-reach .details-heading-centered {
    font-size: 38px;
    margin-bottom: 40px
  }
}

@media (max-width: 768px) {
  .contact-reach .top-banner {
    flex-direction: column;
    min-height: auto;
    padding-top: 40px;
    padding-bottom: 20px
  }

  .contact-reach .visual-half {
    flex: 1;
    padding: 20px
  }

  .contact-reach .text-half {
    padding: 20px
  }

  .contact-reach .banner-heading {
    font-size: 38px
  }

  .contact-reach .thin-caption {
    font-size: 12px
  }

  .contact-reach .pattern-dots {
    right: 20px;
    top: 10px;
    grid-template-columns: repeat(3, 6px);
    gap: 12px
  }

  .contact-reach .pattern-dots span {
    width: 6px;
    height: 6px
  }

  .contact-reach .form-conversation-wrapper {
    flex-direction: column;
    padding: 40px 20px;
    gap: 40px
  }

  .contact-reach .intro-column {
    flex: 1
  }

  .contact-reach .intro-heading {
    font-size: 28px
  }

  .contact-reach .form-container {
    padding: 20px
  }

  .contact-reach .details-location-section {
    padding: 40px 20px
  }

  .contact-reach .details-heading-centered {
    font-size: 28px;
    margin-bottom: 40px
  }

  .contact-reach .info-grid {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .contact-reach .info-card {
    padding: 20px
  }
}

.success-page-wrapper {
  background: linear-gradient(127deg, #fef9fb 0%, #f8fef9 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px
}

.success-page-wrapper .success-content-container {
  max-width: 720px;
  width: 100%;
  background: #fff;
  border-radius: 22px;
  padding: 80px 40px;
  text-align: center;
  box-shadow: 0 6px 28px 1px #b7d06114
}

.success-page-wrapper .success-icon-circle {
  width: 120px;
  height: 120px;
  margin: 0 auto 40px;
  background: linear-gradient(142deg, #B7D061 0%, #a0c04d 100%);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.success-page-wrapper .success-icon-circle::before {
  content: '';
  position: absolute;
  width: 140px;
  height: 140px;
  border: 2px solid #B7D061;
  border-radius: 999px;
  opacity: .3;
  animation: pulse-ring 2.8s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes pulse-ring {
  0% {
    transform: scale(0.85);
    opacity: .3
  }

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

  100% {
    transform: scale(0.85);
    opacity: .3
  }
}

.success-page-wrapper .checkmark-svg {
  width: 56px;
  height: 56px
}

.success-page-wrapper .checkmark-svg path {
  stroke: #fff;
  stroke-width: 3;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: draw-check .35s cubic-bezier(0.4, 0, 0.2, 1) .28s forwards
}

@keyframes draw-check {
  to {
    stroke-dashoffset: 0
  }
}

.success-page-wrapper .success-main-heading {
  font-size: 38px;
  line-height: 1.15;
  color: #281C8E;
  margin: 0 0 16px;
  font-weight: 600
}

.success-page-wrapper .success-description-text {
  font-size: 17px;
  line-height: 1.6;
  color: #4a4a4a;
  margin: 0 0 40px
}

.success-page-wrapper .success-info-box {
  background: linear-gradient(135deg, #fef9fb 0%, #f5f9ff 100%);
  border-radius: 14px;
  padding: 20px;
  margin: 0 0 40px;
  border: 1px solid #b7d06133
}

.success-page-wrapper .success-info-box p {
  font-size: 14px;
  line-height: 1.6;
  color: #5a5a5a;
  margin: 0
}

.success-page-wrapper .success-info-box strong {
  color: #281C8E;
  font-weight: 600
}

.success-page-wrapper .success-actions-wrapper {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap
}

.success-page-wrapper .btn-primary-home {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: #281C8E;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 500;
  transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden
}

.success-page-wrapper .btn-primary-home::before {
  content: '';
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: #b7d06133;
  transition: right .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page-wrapper .btn-primary-home:hover::before {
  right: 0
}

.success-page-wrapper .btn-primary-home:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 36px 1px #281c8e24
}

.success-page-wrapper .btn-primary-home span {
  position: relative;
  z-index: 1
}

.success-page-wrapper .btn-secondary-contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: transparent;
  color: #281C8E;
  text-decoration: none;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 500;
  border: 2px solid #281C8E;
  transition: background .28s ease-in-out, color .28s ease-in-out
}

.success-page-wrapper .btn-secondary-contact:hover {
  background: #281C8E;
  color: #fff
}

.success-page-wrapper .success-contact-details {
  margin: 40px 0 0;
  padding: 40px 0 0;
  border-top: 1px solid #b7d0614d
}

.success-page-wrapper .success-contact-details h3 {
  font-size: 21px;
  line-height: 1.4;
  color: #281C8E;
  margin: 0 0 20px;
  font-weight: 500
}

.success-page-wrapper .contact-items-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px
}

.success-page-wrapper .contact-item-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #5a5a5a
}

.success-page-wrapper .contact-item-row svg {
  width: 20px;
  height: 20px;
  fill: #B7D061;
  flex-shrink: 0
}

.success-page-wrapper .contact-item-row a {
  color: #281C8E;
  text-decoration: none;
  transition: color .25s ease-in-out
}

.success-page-wrapper .contact-item-row a:hover {
  color: #B7D061
}

@media (max-width: 768px) {
  .success-page-wrapper .success-content-container {
    padding: 40px 20px
  }

  .success-page-wrapper .success-icon-circle {
    width: 90px;
    height: 90px;
    margin: 0 auto 20px
  }

  .success-page-wrapper .success-icon-circle::before {
    width: 110px;
    height: 110px
  }

  .success-page-wrapper .checkmark-svg {
    width: 42px;
    height: 42px
  }

  .success-page-wrapper .success-main-heading {
    font-size: 28px
  }

  .success-page-wrapper .success-actions-wrapper {
    flex-direction: column
  }

  .success-page-wrapper .btn-primary-home,
  .success-page-wrapper .btn-secondary-contact {
    width: 100%;
    justify-content: center
  }
}