@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;1,400;0,700;1,700&display=swap');

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

body {
  margin: 0;
  min-height: 100svh;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

.pg-hd {
  position: relative;
  background: #ffffff;
  font-family: 'Roboto', sans-serif;
  overflow: hidden;
}

.pg-hd::before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #88B645 0%, #ABCBA1 60%, #EFF6EE 100%);
  z-index: 2;
}

.hd-top {
  background: linear-gradient(135deg, #EFF6EE 0%, #ffffff 55%, #f4f9f0 100%);
  border-bottom: 1px solid #ABCBA1;
  padding: 24px 48px;
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand-box {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  text-decoration: none;
  border-bottom: 2px solid #88B645;
  padding-bottom: 4px;
}

.brand-box img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08), 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  padding: 4px;
}

.brand-nm {
  font-family: 'Roboto', sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  color: #1b2a0a;
  letter-spacing: 0;
}

.brand-tag {
  font-size: 15px;
  color: #3a5c10;
  line-height: 1.4;
  font-style: italic;
  margin-top: 4px;
}

.hd-contact-strip {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.hd-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #2e4a0d;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.hd-contact-item:hover,
.hd-contact-item:focus {
  color: #88B645;
  outline: none;
}

.hd-contact-item:focus-visible {
  outline: 2px solid #88B645;
  outline-offset: 3px;
  border-radius: 6px;
}

.hd-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.hd-nav-row {
  background: #2e4a0d;
  padding: 0 48px;
}

.hd-nav-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

.hd-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #EFF6EE;
  text-decoration: none;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 3px solid transparent;
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), background 0.45s ease-in-out;
  position: relative;
}

.hd-nav-link:hover,
.hd-nav-link:focus {
  color: #88B645;
  border-bottom-color: #88B645;
  background: rgba(136, 182, 69, 0.08);
  outline: none;
}

.hd-nav-link:focus-visible {
  outline: 2px solid #ABCBA1;
  outline-offset: -2px;
}

.hd-nav-link.active {
  color: #88B645;
  border-bottom-color: #88B645;
}

@media (max-width: 992px) {
  .hd-top {
    padding: 24px;
    flex-wrap: wrap;
    gap: 12px;
  }

  .hd-contact-strip {
    flex-wrap: wrap;
    gap: 12px;
  }

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

  .hd-nav-link {
    padding: 12px 12px;
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  .hd-top {
    padding: 12px;
    flex-direction: column;
    align-items: flex-start;
  }

  .hd-contact-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .hd-nav-row {
    padding: 0 12px;
  }

  .hd-nav-inner {
    flex-wrap: wrap;
  }

  .hd-nav-link {
    padding: 12px 8px;
    font-size: 15px;
  }
}

.pg-ft {
  background: linear-gradient(180deg, #2e4a0d 0%, #1b2a0a 100%);
  font-family: 'Roboto', sans-serif;
  color: #EFF6EE;
  padding-top: 48px;
}

.ft-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px 48px;
  display: flex;
  align-items: flex-start;
  gap: 48px;
  border-bottom: 1px solid rgba(171, 203, 161, 0.25);
}

.ft-brand-col {
  flex: 0 0 auto;
  width: 260px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ft-logo-wrap {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(136, 182, 69, 0.4);
}

.ft-logo-wrap img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: contain;
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08), 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  padding: 4px;
}

.ft-brand-nm {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  color: #EFF6EEe;
}

.ft-deco-text {
  font-size: 28px;
  line-height: 1.1;
  color: rgba(171, 203, 161, 0.3);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
  pointer-events: none;
  user-select: none;
}

.ft-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #ABCBA1;
  margin-top: 4px;
}

.ft-addr {
  font-size: 15px;
  line-height: 1.7;
  color: #ABCBA1;
  font-style: normal;
}

.ft-nav-cols {
  flex: 1 1 auto;
  display: flex;
  gap: 48px;
  justify-content: flex-end;
}

.ft-nav-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ft-col-lbl {
  font-size: 15px;
  font-weight: 700;
  color: #88B645;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.4;
  margin-bottom: 4px;
}

.ft-nav-lnk {
  font-size: 15px;
  color: #ABCBA1;
  text-decoration: none;
  line-height: 1.7;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ft-nav-lnk:hover,
.ft-nav-lnk:focus {
  color: #88B645;
  outline: none;
}

.ft-nav-lnk:focus-visible {
  outline: 2px solid #88B645;
  outline-offset: 3px;
  border-radius: 6px;
}

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

.ft-contact-lnk {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #ABCBA1;
  text-decoration: none;
  line-height: 1.7;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ft-contact-lnk:hover,
.ft-contact-lnk:focus {
  color: #88B645;
  outline: none;
}

.ft-contact-lnk:focus-visible {
  outline: 2px solid #88B645;
  outline-offset: 3px;
  border-radius: 6px;
}

.ft-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  opacity: 0.75;
}

.ft-bottom {
  background: #111d06;
  padding: 24px 48px;
}

.ft-bottom-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.ft-logo-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ft-logo-bottom img {
  display: block;
  width: 44px;
  height: 44px;
  object-fit: contain;
  background: #ffffff;
  border-radius: 6px;
  padding: 4px;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
}

.ft-copy {
  font-size: 15px;
  color: rgba(171, 203, 161, 0.6);
  line-height: 1.4;
}

.ft-legal-links {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.ft-legal-lnk {
  font-size: 15px;
  color: rgba(171, 203, 161, 0.6);
  text-decoration: none;
  line-height: 1.4;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ft-legal-lnk:hover,
.ft-legal-lnk:focus {
  color: #88B645;
  outline: none;
}

.ft-legal-lnk:focus-visible {
  outline: 2px solid #88B645;
  outline-offset: 3px;
  border-radius: 6px;
}

@media (max-width: 992px) {
  .ft-main {
    padding: 0 24px 48px;
    flex-wrap: wrap;
    gap: 48px;
  }

  .ft-brand-col {
    width: 100%;
  }

  .ft-nav-cols {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 48px;
  }

  .ft-bottom {
    padding: 24px;
  }
}

@media (max-width: 576px) {
  .ft-main {
    padding: 0 12px 48px;
  }

  .ft-nav-cols {
    flex-direction: column;
    gap: 24px;
  }

  .ft-bottom {
    padding: 24px 12px;
  }

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

  .ft-legal-links {
    gap: 12px;
  }
}

.ck-toast {
  display: none;
  position: fixed;
  bottom: 24px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 90%;
  max-width: 540px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11), 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  border: 1px solid #ABCBA1;
  padding: 24px;
  z-index: 2000;
  font-family: 'Roboto', sans-serif;
  transform: translateY(80px);
  opacity: 0;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.ck-toast.shown {
  transform: translateY(0);
  opacity: 1;
}

.ck-msg {
  font-size: 15px;
  line-height: 1.7;
  color: #1b2a0a;
  margin-bottom: 12px;
}

.ck-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.ck-btn {
  flex: 1 1 auto;
  min-height: 44px;
  padding: 8px 24px;
  border-radius: 6px;
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1), color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), outline-offset 0.45s ease-in-out;
  outline: 2px solid transparent;
  outline-offset: 0px;
}

.ck-btn:focus-visible {
  outline: 2px solid #88B645;
  outline-offset: 3px;
}

.ck-btn-accept {
  background: linear-gradient(135deg, #88B645 0%, #ABCBA1 100%);
  color: #1b2a0a;
  border: 2px solid #88B645;
}

.ck-btn-accept:hover {
  background: linear-gradient(135deg, #7aa83c 0%, #96bb8c 100%);
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08), 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  outline: 2px solid #88B645;
  outline-offset: 3px;
}

.ck-btn-decline {
  background: transparent;
  color: #2e4a0d;
  border: 2px solid #ABCBA1;
}

.ck-btn-decline:hover {
  background: #EFF6EE;
  border-color: #88B645;
  outline: 2px solid #88B645;
  outline-offset: 3px;
}

.rules-text {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 24px;
  color: #2d2d2d;
  line-height: 1.7;
  font-size: 15px;
}

.rules-text ul,
.rules-text ol {
  padding-left: 24px;
  margin-top: 12px;
  margin-bottom: 24px;
}

.rules-text ul {
  list-style: none;
  padding-left: 12px;
}

.rules-text ul li {
  padding-left: 24px;
  position: relative;
}

.rules-text ul li::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #88B645;
  position: absolute;
  left: 4px;
  top: 8px;
}

.rules-text ol {
  list-style: decimal;
}

.rules-text ol li::marker {
  color: #88B645;
  font-size: 15px;
}

.rules-text li {
  margin-bottom: 8px;
  line-height: 1.7;
  font-size: 15px;
  color: #2d2d2d;
}

.rules-text ul ul,
.rules-text ol ol,
.rules-text ul ol,
.rules-text ol ul {
  margin-top: 8px;
  margin-bottom: 8px;
}

.rules-text strong,
.rules-text b {
  font-weight: 700;
  color: #1e3a08;
}

.rules-text em,
.rules-text i {
  font-style: italic;
  color: #3a4a2d;
}

.rules-text a {
  color: #88B645;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), text-decoration-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.rules-text a:hover {
  color: #5a7a25;
  text-decoration-color: #ABCBA1;
}

.rules-text a:visited {
  color: #6a9435;
}

.rules-text table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 24px;
  margin-bottom: 24px;
  font-size: 15px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
}

.rules-text thead {
  background: #88B645;
}

.rules-text thead th {
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 24px;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.rules-text tbody tr {
  border-bottom: 1px solid #ABCBA1;
  transition: background 0.45s ease-in-out;
}

.rules-text tbody tr:last-child {
  border-bottom: none;
}

.rules-text tbody tr:nth-child(even) {
  background: #EFF6EE;
}

.rules-text tbody tr:hover {
  background: #dff0d5;
}

.rules-text td {
  padding: 12px 24px;
  color: #2d2d2d;
  line-height: 1.7;
  font-size: 15px;
  vertical-align: top;
}

.rules-text th {
  padding: 12px 24px;
  vertical-align: middle;
}

.rules-text hr {
  border: none;
  border-top: 2px solid #ABCBA1;
  margin: 48px 0;
  border-radius: 6px;
  opacity: 0.6;
}

.rules-text div {
  margin-bottom: 12px;
}

.rules-text div+div {
  margin-top: 4px;
}

@media (max-width: 576px) {
  .rules-text {
    padding: 24px 12px;
    font-size: 15px;
  }

  .rules-text table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 6px;
  }

  .rules-text thead th,
  .rules-text td {
    padding: 12px;
    min-width: 120px;
  }

  .rules-text ul,
  .rules-text ol {
    padding-left: 8px;
  }

  .rules-text hr {
    margin: 24px 0;
  }
}

@media (min-width: 577px) and (max-width: 992px) {
  .rules-text {
    padding: 48px 24px;
  }

  .rules-text table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 993px) and (max-width: 1200px) {
  .rules-text {
    padding: 48px 48px;
  }
}

@media (min-width: 1201px) {
  .rules-text {
    padding: 96px 48px;
  }
}

.spd {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  overflow: hidden;
}

.spd .ttl-blk {
  padding: 48px 0 96px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: start;
  position: relative;
}

.spd .ttl-blk .txt-side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.spd .ttl-blk .meta-row {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.spd .ttl-blk .meta-row .badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.4;
  background: #EFF6EE;
  color: #2d4a1a;
  border: 1.5px solid #ABCBA1;
  font-weight: 600;
}

.spd .ttl-blk .meta-row .views-ct {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #4a6630;
}

.spd .ttl-blk .meta-row .views-ct svg {
  flex-shrink: 0;
}

.spd .ttl-blk .pg-h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #1e3a0f;
  margin: 0;
  font-weight: 700;
}

.spd .ttl-blk .pg-h1 .acc {
  color: #88B645;
}

.spd .ttl-blk .lead-p {
  font-size: 22px;
  line-height: 1.4;
  color: #2d4a1a;
  margin: 0;
  padding: 12px 24px;
  border-left: 4px solid #88B645;
  border-bottom: 1.5px solid #ABCBA1;
  border-radius: 0 6px 6px 0;
  background: #EFF6EE;
}

.spd .ttl-blk .act-row {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.spd .ttl-blk .act-row .price-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.spd .ttl-blk .act-row .price-box .price-num {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 800;
  color: #1e3a0f;
}

.spd .ttl-blk .act-row .price-box .price-desc {
  font-size: 15px;
  line-height: 1.4;
  color: #4a6630;
}

.spd .ttl-blk .act-row .btn-enroll {
  display: inline-block;
  padding: 12px 48px;
  border-radius: 12px;
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  border: 2.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s ease-in-out, box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  position: relative;
  outline: 2.5px solid transparent;
  outline-offset: 0px;
}

.spd .ttl-blk .act-row .btn-enroll:hover {
  background: linear-gradient(180deg, #ABCBA1 0%, #88B645 100%);
  outline-color: #88B645;
  outline-offset: 4px;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
}

.spd .ttl-blk .act-row .btn-enroll:active {
  transform: scale(0.97);
}

.spd .ttl-blk .img-side {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.spd .ttl-blk .img-side .img-deco {
  position: absolute;
  top: -24px;
  right: -24px;
  width: 160px;
  height: 160px;
  border-radius: 20px;
  background: #EFF6EE;
  z-index: 0;
  border: 2px solid #ABCBA1;
  pointer-events: none;
}

.spd .ttl-blk .img-side .img-deco::before {
  content: '';
  display: block;
  position: absolute;
  inset: 12px;
  border-radius: 12px;
  border: 1.5px solid #ABCBA1;
  pointer-events: none;
}

.spd .ttl-blk .img-card {
  position: relative;
  z-index: 1;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11), 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  width: 100%;
  max-width: 380px;
}

.spd .ttl-blk .img-card img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
  filter: sepia(0.35) contrast(1.08) brightness(0.95) saturate(0.85);
  transition: filter 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.spd .ttl-blk .img-card:hover img {
  filter: sepia(0.15) contrast(1.04) brightness(1.0) saturate(1.0);
}

.spd .ttl-blk .img-card .rt-tag {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(30, 58, 15, 0.82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: #EFF6EE;
  font-size: 15px;
  line-height: 1.4;
  padding: 4px 12px;
  border-radius: 6px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.spd .desc-blk {
  padding: 48px 0;
  background: #EFF6EE;
  border-radius: 20px;
  margin-bottom: 48px;
  box-shadow: 0 3px 5px -2px rgba(171, 203, 161, 0.08);
}

.spd .desc-blk .desc-inner {
  padding: 0 48px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
}

.spd .desc-blk .desc-text h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1e3a0f;
  margin: 0 0 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.spd .desc-blk .desc-text h2 .acc {
  color: #88B645;
}

.spd .desc-blk .desc-text .first-p {
  background: #fff;
  border: 1.5px solid #ABCBA1;
  border-radius: 12px;
  padding: 12px 24px;
  margin-bottom: 12px;
  box-shadow: inset 0 2px 8px -2px rgba(171, 203, 161, 0.18);
}

.spd .desc-blk .desc-text .first-p p,
.spd .desc-blk .desc-text .first-p {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a1a;
  margin: 0;
}

.spd .desc-blk .desc-text>p,
.spd .desc-blk .desc-text>ul,
.spd .desc-blk .desc-text>dl,
.spd .desc-blk .desc-text>details {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a1a;
  margin: 0 0 12px;
}

.spd .desc-blk .desc-text>h3 {
  font-size: 22px;
  line-height: 1.4;
  color: #1e3a0f;
  margin: 24px 0 8px;
  font-weight: 600;
}

.spd .desc-blk .desc-text ul {
  padding-left: 24px;
}

.spd .desc-blk .desc-text ul li {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a1a;
  margin-bottom: 4px;
}

.spd .desc-blk .desc-text cite {
  font-size: 15px;
  line-height: 1.4;
  color: #4a6630;
  font-style: italic;
}

.spd .desc-blk .desc-text details {
  border: 1.5px solid #ABCBA1;
  border-radius: 6px;
  padding: 8px 12px;
  background: #fff;
}

.spd .desc-blk .desc-text details summary {
  font-size: 15px;
  line-height: 1.4;
  color: #2d4a1a;
  font-weight: 600;
  cursor: pointer;
}

.spd .desc-blk .stat-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.spd .desc-blk .stat-col .stat-shape {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  border-radius: 20px;
  border: 3px solid #88B645;
  background: #fff;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  align-self: center;
}

.spd .desc-blk .stat-col .stat-shape .stat-num {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 800;
  color: #88B645;
}

.spd .desc-blk .stat-col .stat-shape .stat-lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #2d4a1a;
  text-align: center;
  padding: 0 8px;
}

.spd .desc-blk .stat-col .info-tile {
  background: #fff;
  border-radius: 12px;
  padding: 12px 24px;
  border: 1.5px solid #ABCBA1;
  box-shadow: inset 0 2px 6px -2px rgba(171, 203, 161, 0.15);
}

.spd .desc-blk .stat-col .info-tile .tile-lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #4a6630;
  font-weight: 600;
  margin-bottom: 4px;
}

.spd .desc-blk .stat-col .info-tile .tile-val {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #1e3a0f;
}

.spd .prog-blk {
  padding: 48px 0;
  margin-bottom: 48px;
}

.spd .prog-blk .prog-hd {
  font-size: 38px;
  line-height: 1.1;
  color: #1e3a0f;
  font-weight: 700;
  margin: 0 0 48px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.spd .prog-blk .prog-hd .acc {
  color: #88B645;
}

.spd .prog-blk .prog-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.spd .prog-blk .prog-body h2 {
  font-size: 28px;
  line-height: 1.4;
  color: #1e3a0f;
  margin: 0 0 12px;
  font-weight: 700;
  grid-column: 1 / -1;
}

.spd .prog-blk .prog-body h3 {
  font-size: 22px;
  line-height: 1.4;
  color: #2d4a1a;
  margin: 0 0 8px;
  font-weight: 600;
}

.spd .prog-blk .prog-body p {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a1a;
  margin: 0 0 8px;
}

.spd .prog-blk .prog-body small {
  font-size: 15px;
  line-height: 1.4;
  color: #4a6630;
}

.spd .prog-blk .prog-body abbr {
  text-decoration: underline dotted;
  color: #4a6630;
}

.spd .prog-blk .prog-body ul {
  padding-left: 24px;
  margin: 0 0 8px;
}

.spd .prog-blk .prog-body ul li {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a1a;
  margin-bottom: 4px;
}

.spd .prog-blk .prog-body dl {
  margin: 0 0 8px;
}

.spd .prog-blk .prog-body dt {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #1e3a0f;
}

.spd .prog-blk .prog-body dd {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a1a;
  margin-left: 24px;
  margin-bottom: 4px;
}

.spd .prog-blk .prog-body figure {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
}

.spd .prog-blk .prog-body figcaption {
  font-size: 15px;
  line-height: 1.4;
  color: #4a6630;
  padding: 8px 12px;
  background: #EFF6EE;
}

.spd .prog-blk .prog-body details {
  border: 1.5px solid #ABCBA1;
  border-radius: 6px;
  padding: 8px 12px;
  background: #fff;
  grid-column: 1 / -1;
}

.spd .prog-blk .prog-body details summary {
  font-size: 15px;
  line-height: 1.4;
  color: #2d4a1a;
  font-weight: 600;
  cursor: pointer;
}

.spd .prog-blk .stage-item {
  background: #EFF6EE;
  border-radius: 20px;
  padding: 24px;
  border: 1.5px solid #ABCBA1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.spd .prog-blk .stage-item:hover {
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  transform: translateY(-2px);
}

.spd .prog-blk .stage-item:active {
  transform: scale(1.03);
  transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

.spd .prog-blk .stage-item .sn {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 800;
  color: #88B645;
  display: block;
}

.spd .prog-blk .stage-item .sh {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #1e3a0f;
}

.spd .prog-blk .stage-item .sd {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a1a;
}

.spd .prog-blk .prog-raw {
  grid-column: 1 / -1;
}

.spd .enroll-blk {
  padding: 48px;
  border-radius: 36px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  margin-bottom: 96px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  position: relative;
  overflow: hidden;
}

.spd .enroll-blk .bg-zoom {
  position: absolute;
  inset: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><rect x="0" y="0" width="60" height="60" fill="none" stroke="%23ffffff22" stroke-width="1"/></svg>') repeat;
  background-size: 60px 60px;
  animation: bgzoom 8s ease-in-out infinite alternate;
  pointer-events: none;
  border-radius: 36px;
}

@keyframes bgzoom {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(1.12);
  }
}

.spd .enroll-blk .enroll-txt {
  position: relative;
  z-index: 1;
}

.spd .enroll-blk .enroll-txt h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #fff;
  font-weight: 800;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.spd .enroll-blk .enroll-txt p {
  font-size: 22px;
  line-height: 1.4;
  color: #EFF6EE;
  margin: 0;
}

.spd .enroll-blk .enroll-act {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

.spd .enroll-blk .enroll-act .eprice {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 900;
  color: #fff;
}

.spd .enroll-blk .enroll-act .epricedes {
  font-size: 15px;
  line-height: 1.4;
  color: #EFF6EE;
  text-align: right;
}

.spd .enroll-blk .enroll-act .btn-go {
  display: inline-block;
  padding: 12px 48px;
  border-radius: 12px;
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #88B645;
  background: #fff;
  border: 2.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.55s cubic-bezier(0.22, 1, 0.36, 1), color 0.45s ease-in-out, outline-offset 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  outline: 2.5px solid transparent;
  outline-offset: 0px;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
}

.spd .enroll-blk .enroll-act .btn-go:hover {
  background: #EFF6EE;
  color: #1e3a0f;
  outline-color: #fff;
  outline-offset: 4px;
}

.spd .enroll-blk .enroll-act .btn-go:active {
  transform: scale(0.97);
}

@media (max-width: 992px) {
  .spd .ttl-blk {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-bottom: 48px;
  }

  .spd .ttl-blk .img-side {
    align-items: flex-start;
  }

  .spd .ttl-blk .img-card {
    max-width: 100%;
  }

  .spd .ttl-blk .img-card img {
    height: 220px;
  }

  .spd .ttl-blk .img-side .img-deco {
    display: none;
  }

  .spd .desc-blk .desc-inner {
    grid-template-columns: 1fr;
    padding: 0 24px;
  }

  .spd .desc-blk .stat-col {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .spd .prog-blk .prog-body {
    grid-template-columns: 1fr;
  }

  .spd .prog-blk .prog-body h2 {
    grid-column: 1;
  }

  .spd .prog-blk .prog-body details {
    grid-column: 1;
  }

  .spd .enroll-blk {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 48px 24px;
  }

  .spd .enroll-blk .enroll-act {
    align-items: flex-start;
  }

  .spd .enroll-blk .enroll-act .epricedes {
    text-align: left;
  }
}

@media (max-width: 576px) {
  .spd .ttl-blk .pg-h1 {
    font-size: 38px;
  }

  .spd .ttl-blk .lead-p {
    font-size: 15px;
  }

  .spd .ttl-blk .act-row .price-num {
    font-size: 28px;
  }

  .spd .ttl-blk .act-row .btn-enroll {
    font-size: 15px;
    padding: 12px 24px;
  }

  .spd .desc-blk {
    padding: 24px 0;
  }

  .spd .desc-blk .desc-inner {
    padding: 0 12px;
  }

  .spd .desc-blk .desc-text h2 {
    font-size: 28px;
  }

  .spd .prog-blk .prog-hd {
    font-size: 28px;
  }

  .spd .enroll-blk {
    padding: 24px 12px;
    border-radius: 20px;
  }

  .spd .enroll-blk .enroll-txt h2 {
    font-size: 28px;
  }

  .spd .enroll-blk .enroll-txt p {
    font-size: 15px;
  }

  .spd .enroll-blk .enroll-act .eprice {
    font-size: 38px;
  }

  .spd .enroll-blk .enroll-act .btn-go {
    font-size: 15px;
    padding: 12px 24px;
  }
}

.prm {
  max-width: 1280px;
  margin: 0 auto;
  overflow-x: clip;
}

.prm .div-line {
  height: 2px;
  background: linear-gradient(to right, #88B645, #ABCBA1, #EFF6EE);
  border: none;
  margin: 0;
}

.prm .t-blk {
  padding: 96px 48px;
  position: relative;
  background: #EFF6EE;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 48px;
}

.prm .t-blk .circ-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0;
}

.prm .t-blk .circ-bg span {
  position: absolute;
  border-radius: 50%;
  background: rgba(136, 182, 69, 0.07);
  display: block;
}

.prm .t-blk .circ-bg span:nth-child(1) {
  width: 340px;
  height: 340px;
  top: -80px;
  right: 120px;
}

.prm .t-blk .circ-bg span:nth-child(2) {
  width: 180px;
  height: 180px;
  bottom: 24px;
  right: 48px;
  background: rgba(171, 203, 161, 0.09);
}

.prm .t-blk .circ-bg span:nth-child(3) {
  width: 90px;
  height: 90px;
  top: 48px;
  left: 24px;
  background: rgba(136, 182, 69, 0.05);
}

.prm .img-frame {
  flex: 0 0 auto;
  position: relative;
  border-radius: 12px;
  border: 3px solid #88B645;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11), inset 0 0 0 4px rgba(171, 203, 161, 0.18);
  overflow: hidden;
  z-index: 1;
}

.prm .img-frame img {
  display: block;
  width: 420px;
  height: 320px;
  object-fit: cover;
  filter: sepia(0.28) contrast(1.08) brightness(0.96) saturate(0.85);
  transition: filter 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.prm .img-frame img:hover {
  filter: sepia(0.08) contrast(1.04) brightness(1.0) saturate(1.0);
}

.prm .img-frame::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(136, 182, 69, 0.22);
  border-radius: 8px;
  z-index: 2;
  pointer-events: none;
}

.prm .t-txt {
  flex: 1 1 0;
  z-index: 1;
}

.prm .t-txt .lbl {
  display: inline-block;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #88B645;
  font-weight: 600;
  margin-bottom: 12px;
  border-bottom: 2px solid #ABCBA1;
  padding-bottom: 4px;
}

.prm .t-txt h1 {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 800;
  color: #1a2e05;
  margin: 0 0 24px 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.prm .t-txt h1 .acc {
  color: #88B645;
}

.prm .t-txt .desc {
  font-size: 22px;
  line-height: 1.7;
  color: #2d3a1e;
  max-width: 520px;
  margin: 0;
  padding: 12px 16px;
  background: rgba(171, 203, 161, 0.18);
  border-left: 4px solid #88B645;
  border-radius: 6px;
}

.prm .gap-sec {
  padding: 96px 48px;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.prm .gap-sec .g-left h2 {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 700;
  color: #1a2e05;
  margin: 0 0 24px 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.prm .gap-sec .g-left h2 .acc {
  color: #88B645;
}

.prm .gap-sec .g-left .open-p {
  font-size: 15px;
  line-height: 1.7;
  color: #2d3a1e;
  background: #EFF6EE;
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 12px;
  border: 1px solid #ABCBA1;
}

.prm .gap-sec .g-left p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a4a2a;
  margin: 0 0 12px 0;
}

.prm .gap-sec .g-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.prm .gap-sec .g-right .img-frame2 {
  border-radius: 12px;
  border: 2px solid #ABCBA1;
  overflow: hidden;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
}

.prm .gap-sec .g-right .img-frame2 img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  filter: sepia(0.18) contrast(1.05) brightness(0.97) saturate(0.9);
}

.prm .gap-sec .g-right .chart-wrap {
  background: #EFF6EE;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid #ABCBA1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.prm .gap-sec .g-right .chart-wrap .chart-lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #2d3a1e;
  font-weight: 600;
  text-align: center;
}

.prm .gap-sec .g-right .chart-wrap svg text {
  font-weight: 700;
}

.prm .gap-sec .g-right .chart-legend {
  display: flex;
  flex-direction: row;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}

.prm .gap-sec .g-right .chart-legend .leg-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #2d3a1e;
}

.prm .gap-sec .g-right .chart-legend .leg-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

.prm .hes-sec {
  padding: 96px 48px;
  background: linear-gradient(to bottom, #EFF6EE, #d8eccc);
  position: relative;
  overflow: hidden;
}

.prm .hes-sec .mesh-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(136, 182, 69, 0.13) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 70%, rgba(171, 203, 161, 0.18) 0%, transparent 50%),
    radial-gradient(ellipse at 55% 10%, rgba(136, 182, 69, 0.08) 0%, transparent 45%);
}

.prm .hes-sec .dia-acc {
  position: absolute;
  top: 48px;
  right: 48px;
  width: 64px;
  height: 64px;
  background: #88B645;
  transform: rotate(45deg);
  border-radius: 6px;
  opacity: 0.18;
  pointer-events: none;
}

.prm .hes-sec h2 {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 700;
  color: #1a2e05;
  margin: 0 0 24px 0;
  position: relative;
  z-index: 1;
}

.prm .hes-sec h2 .acc {
  color: #88B645;
}

.prm .hes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  position: relative;
  z-index: 1;
}

.prm .hes-grid .hes-card {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  border: 1px solid #ABCBA1;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.prm .hes-grid .hes-card:hover {
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  transform: translateY(-3px);
}

.prm .hes-grid .hes-card .num {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 800;
  color: #88B645;
  display: block;
  margin-bottom: 8px;
}

.prm .hes-grid .hes-card h4 {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #1a2e05;
  margin: 0 0 8px 0;
}

.prm .hes-grid .hes-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a4a2a;
  margin: 0;
}

.prm .hes-grid .hes-card.wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}

.prm .hes-grid .hes-card.wide .img-frame3 {
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid #88B645;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11), inset 0 0 0 3px rgba(171, 203, 161, 0.15);
}

.prm .hes-grid .hes-card.wide .img-frame3 img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  filter: sepia(0.22) contrast(1.06) brightness(0.97) saturate(0.88);
}

.prm .hes-grid .hes-card.wide .card-txt .open-p {
  font-size: 15px;
  line-height: 1.7;
  color: #2d3a1e;
  background: #EFF6EE;
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 12px;
  border: 1px solid #ABCBA1;
}

.prm .hes-grid .hes-card.wide .card-txt p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a4a2a;
  margin: 0;
}

.prm .hes-grid .hes-card.wide .card-txt h3 {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 700;
  color: #1a2e05;
  margin: 0 0 12px 0;
}

.prm .hes-grid .hes-card.wide .card-txt h3 .acc {
  color: #88B645;
}

.prm .sup-sec {
  padding: 96px 48px;
  background: #fff;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: stretch;
}

.prm .sup-sec .sup-side {
  flex: 0 0 300px;
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 12px;
}

.prm .sup-sec .sup-side .side-card {
  background: #EFF6EE;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid #ABCBA1;
  box-shadow: 0 3px 5px -2px rgba(171, 203, 161, 0.08);
}

.prm .sup-sec .sup-side .side-card h5 {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #88B645;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 8px 0;
}

.prm .sup-sec .sup-side .side-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a4a2a;
  margin: 0;
}

.prm .sup-sec .sup-main {
  flex: 1 1 0;
}

.prm .sup-sec .sup-main h2 {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 700;
  color: #1a2e05;
  margin: 0 0 24px 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.prm .sup-sec .sup-main h2 .acc {
  color: #88B645;
}

.prm .sup-sec .sup-main .open-p {
  font-size: 15px;
  line-height: 1.7;
  color: #2d3a1e;
  background: #EFF6EE;
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 12px;
  border: 1px solid #ABCBA1;
}

.prm .sup-sec .sup-main .faq-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.prm .sup-sec .sup-main .faq-list li {
  counter-increment: faq-count;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #ABCBA1;
  padding: 24px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
}

.prm .sup-sec .sup-main .faq-list li .q-num {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 800;
  color: #88B645;
  flex-shrink: 0;
  min-width: 48px;
}

.prm .sup-sec .sup-main .faq-list li .q-body h5 {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #1a2e05;
  margin: 0 0 8px 0;
}

.prm .sup-sec .sup-main .faq-list li .q-body p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a4a2a;
  margin: 0;
}

.prm .team-sec {
  padding: 96px 48px;
  background: linear-gradient(to bottom, #d8eccc, #EFF6EE);
  position: relative;
}

.prm .team-sec .mesh-layer2 {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 75% 20%, rgba(136, 182, 69, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 25% 80%, rgba(171, 203, 161, 0.14) 0%, transparent 55%);
}

.prm .team-sec h2 {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 700;
  color: #1a2e05;
  margin: 0 0 24px 0;
  position: relative;
  z-index: 1;
}

.prm .team-sec h2 .acc {
  color: #88B645;
}

.prm .team-sec .team-intro {
  font-size: 15px;
  line-height: 1.7;
  color: #2d3a1e;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 24px;
  border: 1px solid #ABCBA1;
  position: relative;
  z-index: 1;
  max-width: 680px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.prm .team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
}

.prm .team-grid .t-card {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  border: 1px solid #ABCBA1;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  transition: box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.prm .team-grid .t-card:hover {
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  transform: translateY(-4px);
}

.prm .team-grid .t-card .t-name {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #1a2e05;
  margin: 0;
}

.prm .team-grid .t-card .t-role {
  font-size: 15px;
  line-height: 1.4;
  color: #88B645;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
}

.prm .team-grid .t-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a4a2a;
  margin: 0;
}

.prm .team-grid .t-card.featured {
  grid-column: span 2;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
}

.prm .team-grid .t-card.featured .img-frame4 {
  flex: 0 0 auto;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid #88B645;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11), inset 0 0 0 3px rgba(171, 203, 161, 0.15);
}

.prm .team-grid .t-card.featured .img-frame4 img {
  display: block;
  width: 180px;
  height: 180px;
  object-fit: cover;
  filter: sepia(0.20) contrast(1.07) brightness(0.97) saturate(0.88);
}

.prm .team-grid .t-card.featured .feat-txt {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.prm .team-grid .t-card.featured .feat-txt .t-name {
  font-size: 28px;
}

.prm .flicker-outline {
  animation: flk 3.5s ease-in-out infinite;
  outline-offset: 4px;
  border-radius: 12px;
}

@keyframes flk {

  0%,
  100% {
    outline: 2px solid transparent;
  }

  48% {
    outline: 2px solid transparent;
  }

  50% {
    outline: 2px solid rgba(136, 182, 69, 0.55);
  }

  52% {
    outline: 2px solid transparent;
  }

  54% {
    outline: 2px solid rgba(136, 182, 69, 0.30);
  }

  56% {
    outline: 2px solid transparent;
  }
}

.prm .zoom-reveal {
  animation: zout 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes zout {
  from {
    transform: scale(1.08);
    opacity: 0.7;
  }

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

@media (max-width: 992px) {
  .prm .t-blk {
    flex-direction: column;
    padding: 48px 24px;
    gap: 24px;
  }

  .prm .img-frame img {
    width: 100%;
    height: 240px;
  }

  .prm .img-frame {
    width: 100%;
  }

  .prm .t-txt h1 {
    font-size: 38px;
  }

  .prm .gap-sec {
    grid-template-columns: 1fr;
    padding: 48px 24px;
    gap: 24px;
  }

  .prm .hes-sec {
    padding: 48px 24px;
  }

  .prm .hes-grid {
    grid-template-columns: 1fr;
  }

  .prm .hes-grid .hes-card.wide {
    grid-template-columns: 1fr;
  }

  .prm .sup-sec {
    flex-direction: column;
    padding: 48px 24px;
    gap: 24px;
  }

  .prm .sup-sec .sup-side {
    flex: none;
    width: 100%;
  }

  .prm .team-sec {
    padding: 48px 24px;
  }

  .prm .team-grid {
    grid-template-columns: 1fr;
  }

  .prm .team-grid .t-card.featured {
    grid-column: span 1;
    flex-direction: column;
  }

  .prm .team-grid .t-card.featured .img-frame4 img {
    width: 100%;
    height: 200px;
  }
}

@media (max-width: 576px) {
  .prm .t-txt h1 {
    font-size: 28px;
  }

  .prm .t-txt .desc {
    font-size: 15px;
  }

  .prm .gap-sec .g-left h2,
  .prm .hes-sec h2,
  .prm .sup-sec .sup-main h2,
  .prm .team-sec h2 {
    font-size: 28px;
  }

  .prm .hes-grid .hes-card .num {
    font-size: 38px;
  }
}

.st_proj {
  max-width: 1280px;
  margin: 0 auto;
  overflow-x: clip;
}

.st_proj .reveal {
  animation: lift_in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes lift_in {
  from {
    opacity: 0;
    transform: translateY(32px);
  }

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

.st_proj .reveal:nth-child(1) {
  animation-delay: 0.05s;
}

.st_proj .reveal:nth-child(2) {
  animation-delay: 0.15s;
}

.st_proj .reveal:nth-child(3) {
  animation-delay: 0.25s;
}

.st_proj .reveal:nth-child(4) {
  animation-delay: 0.35s;
}

.st_proj .pg_top {
  background: #EFF6EE;
  border-bottom: 3px solid #88B645;
  padding: 96px 48px 48px;
  position: relative;
}

.st_proj .pg_top::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 16' preserveAspectRatio='none'%3E%3Cpath d='M0 8 Q160 0 320 8 Q480 16 640 8 Q800 0 960 8 Q1120 16 1280 8 L1280 16 L0 16Z' fill='%23ABCBA1' opacity='0.5'/%3E%3Cpath d='M0 12 Q160 4 320 12 Q480 20 640 12 Q800 4 960 12 Q1120 20 1280 12 L1280 16 L0 16Z' fill='%2388B645' opacity='0.35'/%3E%3C/svg%3E") no-repeat center/cover;
  pointer-events: none;
}

.st_proj .pg_top_in {
  max-width: 1280px;
  margin: 0 auto;
}

.st_proj .pg_lbl {
  display: inline-block;
  background: #88B645;
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 24px;
  border-radius: 6px;
  margin-bottom: 24px;
}

.st_proj .pg_h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #1a2e0a;
  margin: 0 0 24px;
  font-weight: 700;
}

.st_proj .pg_h1 span {
  color: #88B645;
}

.st_proj .pg_sub {
  font-size: 22px;
  line-height: 1.7;
  color: #2d4a10;
  max-width: 640px;
  margin: 0;
  padding: 12px 24px;
  background: rgba(136, 182, 69, 0.08);
  border-left: 4px solid #88B645;
  border-right: 4px solid #ABCBA1;
  border-radius: 6px;
}

.st_proj .cards_area {
  padding: 96px 48px 48px;
  background: #fff;
}

.st_proj .cards_area_in {
  max-width: 1280px;
  margin: 0 auto;
}

.st_proj .cards_hd {
  font-size: 38px;
  line-height: 1.1;
  color: #1a2e0a;
  font-weight: 700;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.st_proj .cards_hd span {
  color: #88B645;
}

.st_proj .cards_desc {
  font-size: 15px;
  line-height: 1.7;
  color: #3a5a18;
  margin: 0 0 48px;
  max-width: 560px;
}

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

.st_proj .proj_card {
  background: #EFF6EE;
  border-radius: 12px;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  border-right: 4px solid #88B645;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.st_proj .proj_card:hover {
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  transform: translateY(-4px);
  border-right-style: dashed;
}

.st_proj .card_img_wrap {
  width: 100%;
  height: 200px;
  overflow: hidden;
  flex-shrink: 0;
}

.st_proj .card_img_wrap img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.st_proj .proj_card:hover .card_img_wrap img {
  transform: scale(1.04);
}

.st_proj .card_body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 12px;
}

.st_proj .card_tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.st_proj .tag_fmt {
  font-size: 15px;
  line-height: 1.4;
  background: #88B645;
  color: #fff;
  border-radius: 6px;
  padding: 4px 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.st_proj .tag_rt {
  font-size: 15px;
  line-height: 1.4;
  background: #ABCBA1;
  color: #1a2e0a;
  border-radius: 6px;
  padding: 4px 12px;
}

.st_proj .tag_views {
  font-size: 15px;
  line-height: 1.4;
  color: #3a5a18;
  margin-left: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}

.st_proj .tag_views svg {
  width: 16px;
  height: 16px;
  fill: #88B645;
  flex-shrink: 0;
}

.st_proj .card_ttl {
  font-size: 22px;
  line-height: 1.4;
  color: #1a2e0a;
  font-weight: 700;
  margin: 0;
}

.st_proj .card_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #3a5a18;
  margin: 0;
  flex: 1;
}

.st_proj .card_price_row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.st_proj .card_price {
  font-size: 28px;
  line-height: 1.1;
  font-weight: 700;
  color: #88B645;
}

.st_proj .card_priced {
  font-size: 15px;
  line-height: 1.4;
  color: #3a5a18;
  padding-bottom: 4px;
}

.st_proj .card_btn {
  display: block;
  text-align: center;
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  color: #fff;
  border: 2px solid transparent;
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s ease-in-out, outline-offset 0.45s ease-in-out;
  outline: 2px solid transparent;
  outline-offset: 0px;
  margin-top: 4px;
}

.st_proj .card_btn:hover {
  background: linear-gradient(180deg, #ABCBA1 0%, #88B645 100%);
  border-color: #88B645;
  outline: 2px solid #88B645;
  outline-offset: 4px;
}

.st_proj .card_btn:focus-visible {
  outline: 3px solid #1a2e0a;
  outline-offset: 4px;
}

.st_proj .why_area {
  background: #88B645;
  padding: 96px 48px;
  position: relative;
}

.st_proj .why_area::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 18' preserveAspectRatio='none'%3E%3Cpath d='M0 10 Q160 2 320 10 Q480 18 640 10 Q800 2 960 10 Q1120 18 1280 10 L1280 0 L0 0Z' fill='%23fff'/%3E%3Cpath d='M0 14 Q160 6 320 14 Q480 22 640 14 Q800 6 960 14 Q1120 22 1280 14 L1280 0 L0 0Z' fill='%23ABCBA1' opacity='0.5'/%3E%3C/svg%3E") no-repeat center/cover;
  pointer-events: none;
}

.st_proj .why_area::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 18' preserveAspectRatio='none'%3E%3Cpath d='M0 8 Q160 16 320 8 Q480 0 640 8 Q800 16 960 8 Q1120 0 1280 8 L1280 18 L0 18Z' fill='%23EFF6EE'/%3E%3Cpath d='M0 12 Q160 20 320 12 Q480 4 640 12 Q800 20 960 12 Q1120 4 1280 12 L1280 18 L0 18Z' fill='%23ABCBA1' opacity='0.4'/%3E%3C/svg%3E") no-repeat center/cover;
  pointer-events: none;
}

.st_proj .why_in {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.st_proj .why_left {}

.st_proj .why_h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700;
  margin: 0 0 24px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.st_proj .why_h2 span {
  color: #EFF6EE;
}

.st_proj .why_p {
  font-size: 15px;
  line-height: 1.7;
  color: #EFF6EE;
  margin: 0 0 12px;
  padding: 12px 24px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  border-left: 3px solid #EFF6EE;
  border-right: 3px solid rgba(255, 255, 255, 0.3);
  box-shadow: inset 0 2px 8px rgba(171, 203, 161, 0.15);
}

.st_proj .why_p+.why_p {
  background: rgba(255, 255, 255, 0.07);
}

.st_proj .why_right {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.st_proj .why_num_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 24px;
  border-right: 4px solid #EFF6EE;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.st_proj .why_num_item:hover {
  background: rgba(255, 255, 255, 0.18);
  border-right-style: dashed;
}

.st_proj .why_num {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 700;
  color: #EFF6EE;
  flex-shrink: 0;
  min-width: 56px;
}

.st_proj .why_item_txt {}

.st_proj .why_item_h {
  font-size: 22px;
  line-height: 1.4;
  color: #fff;
  font-weight: 700;
  margin: 0 0 8px;
}

.st_proj .why_item_p {
  font-size: 15px;
  line-height: 1.7;
  color: #EFF6EE;
  margin: 0;
}

.st_proj .img_area {
  background: #EFF6EE;
  padding: 96px 48px;
}

.st_proj .img_in {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.st_proj .img_txt_col {}

.st_proj .img_lbl {
  display: inline-block;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #88B645;
  font-weight: 700;
  margin-bottom: 12px;
}

.st_proj .img_h3 {
  font-size: 38px;
  line-height: 1.1;
  color: #1a2e0a;
  font-weight: 700;
  margin: 0 0 24px;
}

.st_proj .img_h3 span {
  color: #88B645;
}

.st_proj .img_body_p {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a10;
  margin: 0 0 12px;
  padding: 12px 24px;
  background: rgba(136, 182, 69, 0.08);
  border-left: 4px solid #88B645;
  border-right: 4px solid #ABCBA1;
  border-radius: 6px;
}

.st_proj .img_body_p+.img_body_p {
  background: transparent;
  border-left-color: #ABCBA1;
  border-right-color: transparent;
}

.st_proj .img_col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.st_proj .img_frame {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  width: 100%;
  max-width: 520px;
}

.st_proj .img_frame img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
}

.st_proj .sched_area {
  background: #fff;
  padding: 96px 48px;
  position: relative;
}

.st_proj .sched_bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.st_proj .sched_bg svg {
  position: absolute;
  top: 0;
  right: 0;
  width: 420px;
  height: 420px;
  opacity: 0.04;
}

.st_proj .sched_in {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.st_proj .sched_h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1a2e0a;
  font-weight: 700;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.st_proj .sched_h2 span {
  color: #88B645;
}

.st_proj .sched_sub {
  font-size: 15px;
  line-height: 1.7;
  color: #3a5a18;
  margin: 0 0 48px;
}

.st_proj .sched_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.st_proj .sched_cell {
  background: #EFF6EE;
  border-radius: 12px;
  padding: 24px;
  border-right: 4px solid #88B645;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-right-style 0.45s ease-in-out;
}

.st_proj .sched_cell:hover {
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  border-right-style: dashed;
}

.st_proj .sched_day {
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #88B645;
  font-weight: 700;
  margin-bottom: 8px;
}

.st_proj .sched_time {
  font-size: 22px;
  line-height: 1.4;
  color: #1a2e0a;
  font-weight: 700;
  margin-bottom: 8px;
}

.st_proj .sched_topic {
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a10;
  margin: 0;
}

.st_proj .sched_dot {
  width: 8px;
  height: 8px;
  border-radius: 48px;
  background: #88B645;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
}

.st_proj .img2_area {
  background: #EFF6EE;
  padding: 96px 48px;
}

.st_proj .img2_in {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.st_proj .img2_col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.st_proj .img2_frame {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  width: 100%;
  max-width: 520px;
}

.st_proj .img2_frame img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
}

.st_proj .img2_txt_col {}

.st_proj .img2_lbl {
  display: inline-block;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #88B645;
  font-weight: 700;
  margin-bottom: 12px;
}

.st_proj .img2_h3 {
  font-size: 38px;
  line-height: 1.1;
  color: #1a2e0a;
  font-weight: 700;
  margin: 0 0 24px;
}

.st_proj .img2_h3 span {
  color: #88B645;
}

.st_proj .img2_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.st_proj .img2_list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
  font-size: 15px;
  line-height: 1.7;
  color: #2d4a10;
}

.st_proj .li_num {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 700;
  color: #88B645;
  flex-shrink: 0;
  min-width: 40px;
}

.st_proj .concentric_deco {
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 80px;
  height: 80px;
  pointer-events: none;
}

.st_proj .concentric_deco span {
  display: block;
  position: absolute;
  border: 1.5px solid #88B645;
  border-radius: 6px;
  opacity: 0.18;
}

.st_proj .concentric_deco span:nth-child(1) {
  inset: 0;
}

.st_proj .concentric_deco span:nth-child(2) {
  inset: 10px;
  opacity: 0.22;
}

.st_proj .concentric_deco span:nth-child(3) {
  inset: 20px;
  opacity: 0.28;
}

.st_proj .concentric_deco span:nth-child(4) {
  inset: 30px;
  opacity: 0.34;
}

@media (max-width: 1200px) {
  .st_proj .card_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .st_proj .sched_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .st_proj .pg_h1 {
    font-size: 38px;
  }
}

@media (max-width: 992px) {
  .st_proj .why_in {
    grid-template-columns: 1fr;
  }

  .st_proj .img_in {
    grid-template-columns: 1fr;
  }

  .st_proj .img2_in {
    grid-template-columns: 1fr;
  }

  .st_proj .img2_col {
    order: -1;
  }

  .st_proj .pg_h1 {
    font-size: 38px;
  }

  .st_proj .why_h2 {
    font-size: 28px;
  }

  .st_proj .img_h3,
  .st_proj .img2_h3 {
    font-size: 28px;
  }

  .st_proj .sched_h2 {
    font-size: 28px;
  }

  .st_proj .cards_hd {
    font-size: 28px;
  }
}

@media (max-width: 576px) {
  .st_proj .pg_top {
    padding: 48px 24px 48px;
  }

  .st_proj .pg_h1 {
    font-size: 28px;
  }

  .st_proj .pg_sub {
    font-size: 15px;
  }

  .st_proj .cards_area {
    padding: 48px 24px;
  }

  .st_proj .card_grid {
    grid-template-columns: 1fr;
  }

  .st_proj .why_area {
    padding: 48px 24px;
  }

  .st_proj .img_area {
    padding: 48px 24px;
  }

  .st_proj .sched_area {
    padding: 48px 24px;
  }

  .st_proj .sched_grid {
    grid-template-columns: 1fr;
  }

  .st_proj .img2_area {
    padding: 48px 24px;
  }

  .st_proj .why_num {
    font-size: 38px;
  }
}

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

.ab_us .pg_wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Schema */
/* ===================== SECTION 1 - TITLE BLOCK ===================== */
.ab_us .t_blk {
  position: relative;
  padding: 96px 24px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  overflow: hidden;
}

.ab_us .t_blk .dot_bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.ab_us .t_blk .dot_bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.18) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
}

.ab_us .t_blk .dot_bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, transparent 40%, rgba(136, 182, 69, 0.22) 100%);
}

.ab_us .t_blk .t_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 48px;
  position: relative;
  z-index: 1;
}

.ab_us .t_blk .t_txt {
  flex: 1 1 0;
  min-width: 0;
}

.ab_us .t_blk .pill {
  display: inline-block;
  background: rgba(255, 255, 255, 0.32);
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  border-radius: 36px;
  padding: 4px 24px;
  font-size: 15px;
  line-height: 1.4;
  color: #2a4a08;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.ab_us .t_blk .t_h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 24px;
  font-weight: 800;
}

.ab_us .t_blk .t_h1 .accent {
  color: #2a4a08;
}

.ab_us .t_blk .t_sub {
  font-size: 22px;
  line-height: 1.4;
  color: #f4f8ee;
  margin: 0 0 24px;
  max-width: 520px;
}

.ab_us .t_blk .t_desc {
  font-size: 15px;
  line-height: 1.7;
  color: #f4f8ee;
  margin: 0;
  max-width: 480px;
}

.ab_us .t_blk .t_img_col {
  flex: 0 0 360px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ab_us .t_blk .img_clip_wrap {
  width: 340px;
  height: 380px;
  clip-path: polygon(0 8%, 88% 0, 100% 92%, 12% 100%);
  overflow: hidden;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
}

.ab_us .t_blk .img_clip_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Load animation */
.ab_us .reveal_load {
  opacity: 0;
  transform: scale(0.9);
  animation: rev_scale 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.ab_us .reveal_left {
  opacity: 0;
  transform: translateX(-36px);
  animation: rev_left 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.ab_us .reveal_right {
  opacity: 0;
  transform: translateX(36px);
  animation: rev_right 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.ab_us .reveal_up {
  opacity: 0;
  transform: translateY(28px);
  animation: rev_up 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.ab_us .d1 {
  animation-delay: 0.08s;
}

.ab_us .d2 {
  animation-delay: 0.18s;
}

.ab_us .d3 {
  animation-delay: 0.28s;
}

.ab_us .d4 {
  animation-delay: 0.38s;
}

.ab_us .d5 {
  animation-delay: 0.48s;
}

@keyframes rev_scale {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes rev_left {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes rev_right {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

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

/* ===================== DIVIDER 1 - inverted SVG curve ===================== */
.ab_us .div_curve {
  display: block;
  width: 100%;
  line-height: 0;
  overflow: hidden;
}

.ab_us .div_curve svg {
  display: block;
  width: 100%;
}

/* ===================== SECTION 2 - DUAL NARRATIVE ===================== */
.ab_us .dual {
  background: #fff;
  padding: 96px 24px;
  position: relative;
}

.ab_us .dual .d_frame {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

.ab_us .dual .d_frame::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -12px;
  right: -12px;
  bottom: -12px;
  border: 1.5px solid #ABCBA1;
  border-radius: 20px;
  pointer-events: none;
}

.ab_us .dual .d_frame::after {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border: 1px solid #EFF6EE;
  border-radius: 20px;
  pointer-events: none;
}

.ab_us .dual .d_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  padding: 48px;
}

.ab_us .dual .d_side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ab_us .dual .d_side_label {
  display: inline-block;
  background: #EFF6EE;
  border: 1.5px solid #ABCBA1;
  border-radius: 36px;
  padding: 4px 24px;
  font-size: 15px;
  line-height: 1.4;
  color: #2a4a08;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  align-self: flex-start;
}

.ab_us .dual .d_h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1a3200;
  margin: 0;
  font-weight: 700;
  text-transform: uppercase;
}

.ab_us .dual .d_h2 .acc {
  color: #88B645;
}

.ab_us .dual .d_body {
  font-size: 15px;
  line-height: 1.7;
  color: #2e3d1e;
  margin: 0;
}

.ab_us .dual .d_body.first_p {
  background: #EFF6EE;
  border-left: 3px solid #88B645;
  border-radius: 6px;
  padding: 12px 24px;
  box-shadow: inset 0 2px 8px -2px rgba(136, 182, 69, 0.08);
}

.ab_us .dual .d_img_wrap {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 28px -2px rgba(171, 203, 161, 0.11);
  border: 2px solid #ABCBA1;
}

.ab_us .dual .d_img_wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.ab_us .dual .d_img_wrap:hover img {
  transform: scale(1.04);
}

.ab_us .dual .d_sep {
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, #ABCBA1 30%, #88B645 60%, transparent 100%);
  align-self: stretch;
  display: none;
}

/* ===================== DIVIDER 2 ===================== */
.ab_us .div_line {
  width: 100%;
  height: 48px;
  background: #EFF6EE;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ab_us .div_line .d_dots_row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.ab_us .div_line .d_dot {
  width: 8px;
  height: 8px;
  border-radius: 48px;
  background: #88B645;
  opacity: 0.5;
}

.ab_us .div_line .d_dot.big {
  width: 12px;
  height: 12px;
  opacity: 1;
}

/* ===================== SECTION 3 - PROCESS + TEAM + METRICS ===================== */
.ab_us .detail {
  background: #EFF6EE;
  padding: 96px 24px 48px;
  position: relative;
}

.ab_us .detail .vgn {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 90% 80% at 50% 50%, transparent 55%, rgba(136, 182, 69, 0.09) 100%);
  pointer-events: none;
}

.ab_us .detail .d3_wrap {
  max-width: 1280px;
  margin: 0 auto;
}

.ab_us .detail .d3_head {
  text-align: center;
  margin-bottom: 48px;
}

.ab_us .detail .d3_h2 {
  font-size: 38px;
  line-height: 1.1;
  color: #1a3200;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.ab_us .detail .d3_h2 .acc {
  color: #88B645;
}

.ab_us .detail .d3_sub {
  font-size: 15px;
  line-height: 1.7;
  color: #2e3d1e;
  max-width: 560px;
  margin: 0 auto;
}

/* Process flow */
.ab_us .detail .proc_flow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 48px;
  position: relative;
}

.ab_us .detail .proc_step {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  padding: 0 8px;
}

.ab_us .detail .proc_step::after {
  content: "";
  position: absolute;
  top: 24px;
  right: -24px;
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #88B645, #ABCBA1);
}

.ab_us .detail .proc_step:last-child::after {
  display: none;
}

.ab_us .detail .proc_num {
  width: 48px;
  height: 48px;
  border-radius: 48px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  flex-shrink: 0;
}

.ab_us .detail .proc_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #1a3200;
  font-weight: 600;
  margin-bottom: 8px;
}

.ab_us .detail .proc_desc {
  font-size: 15px;
  line-height: 1.7;
  color: #2e3d1e;
}

/* Four-column featured block: center two wider */
.ab_us .detail .feat_grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1.6fr 1fr;
  gap: 24px;
  margin-bottom: 48px;
}

.ab_us .detail .feat_card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  border: 1.5px solid #ABCBA1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s ease-in-out;
}

.ab_us .detail .feat_card:hover {
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  border-color: #88B645;
}

.ab_us .detail .feat_card .fc_icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.ab_us .detail .feat_card .fc_h {
  font-size: 22px;
  line-height: 1.1;
  color: #1a3200;
  font-weight: 700;
  margin: 0;
}

.ab_us .detail .feat_card .fc_p {
  font-size: 15px;
  line-height: 1.7;
  color: #2e3d1e;
  margin: 0;
}

.ab_us .detail .feat_card.center_card {
  padding: 24px;
}

.ab_us .detail .feat_card .fc_img_wrap {
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
}

.ab_us .detail .feat_card .fc_img_wrap img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}

/* Metrics row */
.ab_us .detail .metrics_row {
  display: flex;
  flex-direction: row;
  gap: 24px;
  margin-bottom: 48px;
}

.ab_us .detail .met_item {
  flex: 1 1 0;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
}

.ab_us .detail .met_num {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 800;
  color: #fff;
}

.ab_us .detail .met_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #f4f8ee;
}

/* Team row */
.ab_us .detail .team_row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.ab_us .detail .tm_card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 28px -2px rgba(171, 203, 161, 0.11);
  border: 1.5px solid #EFF6EE;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  padding: 24px;
  transition: border-color 0.5s ease-in-out, box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ab_us .detail .tm_card:hover {
  border-color: #88B645;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
}

.ab_us .detail .tm_av {
  width: 64px;
  height: 64px;
  border-radius: 48px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
}

.ab_us .detail .tm_info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ab_us .detail .tm_name {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #1a3200;
}

.ab_us .detail .tm_role {
  font-size: 15px;
  line-height: 1.4;
  color: #88B645;
}

.ab_us .detail .tm_quote {
  font-size: 15px;
  line-height: 1.7;
  color: #2e3d1e;
  font-style: italic;
}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 1200px) {
  .ab_us .t_blk .t_h1 {
    font-size: 38px;
  }

  .ab_us .dual .d_grid {
    padding: 24px;
    gap: 24px;
  }

  .ab_us .detail .feat_grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 992px) {
  .ab_us .t_blk .t_inner {
    flex-direction: column;
    gap: 24px;
  }

  .ab_us .t_blk .t_img_col {
    flex: 0 0 auto;
  }

  .ab_us .t_blk .img_clip_wrap {
    width: 260px;
    height: 280px;
  }

  .ab_us .dual .d_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ab_us .detail .feat_grid {
    grid-template-columns: 1fr 1fr;
  }

  .ab_us .detail .proc_flow {
    flex-direction: column;
    gap: 24px;
  }

  .ab_us .detail .proc_step::after {
    display: none;
  }

  .ab_us .detail .metrics_row {
    flex-direction: column;
  }

  .ab_us .detail .team_row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .ab_us .t_blk {
    padding: 48px 24px;
  }

  .ab_us .t_blk .t_h1 {
    font-size: 28px;
  }

  .ab_us .t_blk .t_sub {
    font-size: 15px;
  }

  .ab_us .dual {
    padding: 48px 24px;
  }

  .ab_us .dual .d_grid {
    padding: 12px;
  }

  .ab_us .dual .d_h2 {
    font-size: 28px;
  }

  .ab_us .detail {
    padding: 48px 24px 24px;
  }

  .ab_us .detail .d3_h2 {
    font-size: 28px;
  }

  .ab_us .detail .feat_grid {
    grid-template-columns: 1fr;
  }

  .ab_us .detail .tm_card {
    flex-direction: column;
    align-items: flex-start;
  }
}

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

.ct_us .pg_wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.ct_us .strip_img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}

.ct_us .strip_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  filter: saturate(0.7) brightness(0.88) contrast(1.08);
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  animation: sharpIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes sharpIn {
  from {
    filter: blur(10px) saturate(0.7) brightness(0.88) contrast(1.08);
    opacity: 0.6;
  }

  to {
    filter: blur(0px) saturate(0.7) brightness(0.88) contrast(1.08);
    opacity: 1;
  }
}

.ct_us .strip_bar {
  height: 4px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  width: 100%;
}

.ct_us .hd_zone {
  background: #EFF6EE;
  padding: 48px 0 24px;
  border-bottom: 1px solid #ABCBA1;
}

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

.ct_us .pg_label {
  font-size: 15px;
  line-height: 1.4;
  color: #88B645;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
}

.ct_us .pg_h1 {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 800;
  color: #1a2a05;
  margin: 0;
}

.ct_us .pg_h1 .h1_a {
  color: #2d3a1a;
}

.ct_us .pg_h1 .h1_b {
  color: #88B645;
}

.ct_us .hd_sub {
  font-size: 22px;
  line-height: 1.4;
  color: #3a4a2a;
  margin: 8px 0 0;
  max-width: 640px;
}

.ct_us .two_col {
  background: #fff;
  padding: 96px 0;
}

.ct_us .two_col .pg_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.ct_us .inf_side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ct_us .inf_h {
  font-size: 28px;
  line-height: 1.1;
  font-weight: 700;
  color: #2d3a1a;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ct_us .inf_body {
  font-size: 15px;
  line-height: 1.7;
  color: #3a4a2a;
}

.ct_us .inf_body .first_p {
  background: #EFF6EE;
  border-left: 3px solid #88B645;
  border-radius: 6px;
  padding: 12px;
  margin: 0 0 12px;
  box-shadow: inset 0 2px 8px -2px rgba(136, 182, 69, 0.08);
}

.ct_us .inf_body p {
  margin: 0 0 8px;
}

.ct_us .stats_row {
  display: flex;
  flex-direction: row;
  gap: 24px;
}

.ct_us .stat_c {
  flex: 1;
  background: linear-gradient(180deg, #EFF6EE 0%, #fff 100%);
  border: 1px solid #ABCBA1;
  border-radius: 12px;
  padding: 24px 12px;
  text-align: center;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s ease-in-out;
}

.ct_us .stat_c:hover {
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  border-color: #88B645;
}

.ct_us .stat_num {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 800;
  color: #88B645;
  display: block;
}

.ct_us .stat_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #3a4a2a;
  display: block;
  margin-top: 4px;
}

.ct_us .contact_items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ct_us .c_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid #EFF6EE;
  background: #fff;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s ease-in-out;
}

.ct_us .c_item:hover {
  border-color: #ABCBA1;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
}

.ct_us .c_icon {
  width: 36px;
  height: 36px;
  border-radius: 20px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ct_us .c_icon svg {
  width: 18px;
  height: 18px;
  fill: #fff;
}

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

.ct_us .c_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #88B645;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ct_us .c_val {
  font-size: 15px;
  line-height: 1.4;
  color: #2d3a1a;
}

.ct_us .c_val a {
  color: #2d3a1a;
  text-decoration: none;
  border-bottom: 1px solid #ABCBA1;
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s ease-in-out;
}

.ct_us .c_val a:hover {
  color: #88B645;
  border-color: #88B645;
}

.ct_us .frm_side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ct_us .frm_card {
  background: #EFF6EE;
  border-radius: 20px;
  padding: 48px;
  border: 1px solid #ABCBA1;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
}

.ct_us .frm_h {
  font-size: 22px;
  line-height: 1.1;
  font-weight: 700;
  color: #2d3a1a;
  margin: 0 0 24px;
}

.ct_us .frm_main {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ct_us .field_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

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

.ct_us .fld label {
  font-size: 15px;
  line-height: 1.4;
  color: #3a4a2a;
  font-weight: 600;
}

.ct_us .fld input[type="text"],
.ct_us .fld input[type="tel"],
.ct_us .fld input[type="email"],
.ct_us .fld select,
.ct_us .fld textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ABCBA1;
  border-radius: 6px;
  background: #fff;
  font-size: 15px;
  line-height: 1.4;
  color: #2d3a1a;
  outline: none;
  box-shadow: inset 0 2px 4px -1px rgba(136, 182, 69, 0.08);
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s ease-in-out;
}

.ct_us .fld input::placeholder,
.ct_us .fld textarea::placeholder {
  color: #8a9a7a;
  font-size: 13px;
}

.ct_us .fld input:focus,
.ct_us .fld select:focus,
.ct_us .fld textarea:focus {
  border-color: #88B645;
  box-shadow: inset 0 2px 4px -1px rgba(136, 182, 69, 0.08), 0 0 0 3px rgba(136, 182, 69, 0.13);
}

.ct_us .fld select {
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2388B645' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

.ct_us .fld textarea {
  resize: vertical;
  min-height: 80px;
}

.ct_us .toggle_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #ABCBA1;
}

.ct_us .toggle_row label {
  font-size: 15px;
  line-height: 1.4;
  color: #3a4a2a;
  cursor: pointer;
  font-weight: 500;
}

.ct_us .toggle_row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #88B645;
  cursor: pointer;
  flex-shrink: 0;
}

.ct_us .cond_wrap {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.55s ease-in-out;
}

.ct_us .cond_trigger:checked~.cond_wrap {
  max-height: 200px;
  opacity: 1;
}

.ct_us .privacy_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 12px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #ABCBA1;
}

.ct_us .privacy_row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #88B645;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
}

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

.ct_us .privacy_row label a {
  color: #88B645;
  text-decoration: none;
  border-bottom: 1px solid #ABCBA1;
  transition: border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.ct_us .privacy_row label a:hover {
  border-color: #88B645;
}

.ct_us .btn_submit {
  position: relative;
  display: inline-block;
  padding: 12px 48px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), outline-offset 0.45s ease-in-out, outline-width 0.45s ease-in-out;
  outline: 0px solid rgba(136, 182, 69, 0.3);
  outline-offset: 0px;
}

.ct_us .btn_submit:hover {
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  outline: 3px solid rgba(136, 182, 69, 0.3);
  outline-offset: 4px;
}

.ct_us .btn_submit:focus {
  outline: 3px solid rgba(136, 182, 69, 0.5);
  outline-offset: 4px;
}

.ct_us .btn_submit:active {
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  outline-offset: 1px;
}

.ct_us .cond_trigger {
  display: none;
}

.ct_us .geom_row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  padding: 12px 0;
}

.ct_us .geom_dot {
  width: 8px;
  height: 8px;
  border-radius: 48px;
  background: #88B645;
  flex-shrink: 0;
}

.ct_us .geom_line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #88B645 0%, #EFF6EE 100%);
}

.ct_us .geom_sq {
  width: 8px;
  height: 8px;
  border-radius: 6px;
  background: #ABCBA1;
  flex-shrink: 0;
}

@media (max-width: 992px) {
  .ct_us .two_col .pg_wrap {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .ct_us .pg_h1 {
    font-size: 38px;
  }

  .ct_us .frm_card {
    padding: 24px;
  }

  .ct_us .stats_row {
    gap: 12px;
  }
}

@media (max-width: 576px) {
  .ct_us .pg_h1 {
    font-size: 28px;
  }

  .ct_us .hd_sub {
    font-size: 15px;
  }

  .ct_us .field_row {
    grid-template-columns: 1fr;
  }

  .ct_us .stats_row {
    flex-direction: column;
  }

  .ct_us .strip_img {
    height: 110px;
  }

  .ct_us .two_col {
    padding: 48px 0;
  }

  .ct_us .hd_zone {
    padding: 24px 0 24px;
  }
}

.hiw {
  max-width: 100%;
  overflow-x: clip;
}

.hiw .pg-wrap {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.hiw .reveal {
  animation: scaleIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

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

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

.hiw .reveal-delay {
  animation: scaleIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.18s both;
}

.hiw .reveal-delay-2 {
  animation: scaleIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.32s both;
}

/* ── TITLE BLOCK ── */
.hiw .t-block {
  position: relative;
  background: #f4f8f0;
  padding-bottom: 0;
}

.hiw .t-img-zone {
  position: relative;
  width: 100%;
  height: 420px;
  overflow: hidden;
  border-radius: 0 0 20px 20px;
}

.hiw .t-img-zone img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  filter: grayscale(30%);
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
  transition: filter 0.55s ease-in-out;
}

.hiw .t-img-zone:hover img {
  filter: grayscale(0%);
}

.hiw .t-img-grad {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 70%;
  background: linear-gradient(to bottom, rgba(244, 248, 240, 0) 0%, rgba(244, 248, 240, 0.97) 100%);
  pointer-events: none;
}

.hiw .t-stripe {
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(to bottom, #88B645, #ABCBA1);
  border-radius: 0 6px 6px 0;
}

.hiw .t-dots {
  position: absolute;
  top: 24px;
  right: 48px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-end;
  pointer-events: none;
}

.hiw .t-dots span {
  display: block;
  border-radius: 48px;
  background: #88B645;
  opacity: 0.18;
}

.hiw .t-dots span:nth-child(1) {
  width: 8px;
  height: 8px;
}

.hiw .t-dots span:nth-child(2) {
  width: 14px;
  height: 14px;
  opacity: 0.13;
}

.hiw .t-dots span:nth-child(3) {
  width: 22px;
  height: 22px;
  opacity: 0.09;
}

.hiw .t-text-zone {
  padding: 48px 48px 48px 96px;
  max-width: 820px;
}

.hiw .t-label {
  display: inline-block;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #88B645;
  background: #EFF6EE;
  border: 1.5px solid #ABCBA1;
  border-radius: 6px;
  padding: 4px 12px;
  margin-bottom: 12px;
  font-weight: 600;
}

.hiw .t-heading {
  font-size: 52px;
  line-height: 1.1;
  color: #1d2a12;
  margin: 0 0 24px 0;
  font-weight: 700;
}

.hiw .t-heading .acc {
  color: #88B645;
}

.hiw .t-desc {
  font-size: 22px;
  line-height: 1.7;
  color: #3a4a2c;
  max-width: 600px;
  margin: 0;
}

/* ── SECTION 1: STEPS ── */
.hiw .steps-sec {
  background: #fff;
  padding-top: 96px;
  padding-bottom: 96px;
  position: relative;
}

.hiw .steps-sec::before {
  content: '';
  display: block;
  height: 1px;
  border-top: 2px dashed #ABCBA1;
  margin-bottom: 96px;
  opacity: 0.6;
}

.hiw .steps-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 48px;
  align-items: start;
}

.hiw .steps-aside {
  position: sticky;
  top: 24px;
}

.hiw .aside-tag {
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #88B645;
  font-weight: 600;
  margin-bottom: 12px;
}

.hiw .aside-heading {
  font-size: 38px;
  line-height: 1.1;
  color: #1d2a12;
  font-weight: 700;
  margin: 0 0 24px 0;
}

.hiw .aside-heading .acc {
  color: #88B645;
}

.hiw .aside-note {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5a38;
  border-left: 3px solid #88B645;
  border-top: 1px solid #ABCBA1;
  border-bottom: 1px solid #ABCBA1;
  padding: 12px 12px 12px 24px;
  border-radius: 0 6px 6px 0;
  background: #EFF6EE;
  box-shadow: inset 0 3px 5px -2px rgba(136, 182, 69, 0.08);
}

.hiw .steps-list {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.hiw .step-item {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  align-items: start;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.hiw .step-item:hover {
  transform: translateX(6px);
}

.hiw .step-num {
  font-size: 52px;
  line-height: 1.1;
  color: #88B645;
  font-weight: 700;
  opacity: 0.22;
  transition: opacity 0.45s ease-in-out;
  user-select: none;
}

.hiw .step-item:hover .step-num {
  opacity: 1;
}

.hiw .step-body {
  padding-top: 8px;
}

.hiw .step-name {
  font-size: 22px;
  line-height: 1.4;
  color: #1d2a12;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.hiw .step-text {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5a38;
  margin: 0;
}

.hiw .step-text.first-p {
  background: #EFF6EE;
  border-radius: 6px;
  padding: 8px 12px;
  margin-bottom: 8px;
}

.hiw .step-divider {
  height: 1px;
  border-top: 2px dashed rgba(171, 203, 161, 0.4);
  margin-top: 48px;
}

/* ── SECTION 2: FEATURE GRID + CONTRAST CARD ── */
.hiw .feat-sec {
  background: #EFF6EE;
  padding-top: 96px;
  padding-bottom: 96px;
  position: relative;
}

.hiw .feat-sec::before {
  content: '';
  display: block;
  height: 1px;
  border-top: 2px dashed #ABCBA1;
  margin-bottom: 96px;
  opacity: 0.5;
}

.hiw .feat-top {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: start;
  margin-bottom: 48px;
}

.hiw .feat-head {
  font-size: 38px;
  line-height: 1.1;
  color: #1d2a12;
  font-weight: 700;
  margin: 0 0 12px 0;
}

.hiw .feat-head .acc {
  color: #88B645;
}

.hiw .feat-sub {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5a38;
  margin: 0;
  max-width: 480px;
}

.hiw .contrast-card {
  background: #1d2a12;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hiw .contrast-card .cc-label {
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ABCBA1;
  font-weight: 600;
}

.hiw .contrast-card .cc-stat {
  font-size: 38px;
  line-height: 1.1;
  color: #88B645;
  font-weight: 700;
}

.hiw .contrast-card .cc-text {
  font-size: 15px;
  line-height: 1.7;
  color: #c8dfc0;
}

.hiw .contrast-card .cc-divider {
  height: 1px;
  background: rgba(171, 203, 161, 0.2);
  border-radius: 6px;
}

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

.hiw .ig-item {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  border: 1.5px solid transparent;
}

.hiw .ig-item:hover {
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  transform: translateY(-4px);
  border-color: #ABCBA1;
}

.hiw .ig-icon {
  width: 44px;
  height: 44px;
  background: #EFF6EE;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.hiw .ig-icon svg {
  width: 24px;
  height: 24px;
}

.hiw .ig-label {
  font-size: 15px;
  line-height: 1.4;
  color: #1d2a12;
  font-weight: 700;
  margin: 0;
}

.hiw .ig-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5a38;
  margin: 0;
}

/* ── STEPPED COLUMNS ── */
.hiw .stepped-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: end;
  margin-top: 48px;
}

.hiw .sc-col {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  border-top: 4px solid #88B645;
}

.hiw .sc-col:nth-child(2) {
  padding-top: 48px;
  border-top-color: #ABCBA1;
}

.hiw .sc-col:nth-child(3) {
  padding-top: 96px;
}

.hiw .sc-num {
  font-size: 68px;
  line-height: 1.1;
  color: #88B645;
  font-weight: 700;
  opacity: 0.15;
  display: block;
  margin-bottom: 8px;
}

.hiw .sc-title {
  font-size: 22px;
  line-height: 1.4;
  color: #1d2a12;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.hiw .sc-body {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5a38;
  margin: 0;
}

/* ── IMAGE BLOCK INSIDE FEAT ── */
.hiw .feat-img-wrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  margin-top: 48px;
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.11);
}

.hiw .feat-img-wrap img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  object-position: center 40%;
  display: block;
  filter: grayscale(20%) saturate(0.9);
  transition: filter 0.6s ease-in-out;
}

.hiw .feat-img-wrap:hover img {
  filter: grayscale(0%) saturate(1.1);
}

.hiw .feat-img-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(136, 182, 69, 0.18) 0%, rgba(171, 203, 161, 0.08) 100%);
  pointer-events: none;
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .hiw .steps-layout {
    grid-template-columns: 260px 1fr;
  }

  .hiw .feat-top {
    grid-template-columns: 1fr 300px;
  }
}

@media (max-width: 992px) {
  .hiw .t-text-zone {
    padding: 48px 24px 48px 48px;
  }

  .hiw .t-heading {
    font-size: 38px;
  }

  .hiw .steps-layout {
    grid-template-columns: 1fr;
  }

  .hiw .steps-aside {
    position: static;
  }

  .hiw .feat-top {
    grid-template-columns: 1fr;
  }

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

  .hiw .stepped-row {
    grid-template-columns: 1fr;
  }

  .hiw .sc-col:nth-child(2),
  .hiw .sc-col:nth-child(3) {
    padding-top: 24px;
  }
}

@media (max-width: 576px) {
  .hiw .t-img-zone {
    height: 260px;
  }

  .hiw .t-text-zone {
    padding: 24px 24px 24px 24px;
  }

  .hiw .t-heading {
    font-size: 28px;
  }

  .hiw .t-desc {
    font-size: 15px;
  }

  .hiw .aside-heading {
    font-size: 28px;
  }

  .hiw .icon-grid {
    grid-template-columns: 1fr;
  }

  .hiw .feat-head {
    font-size: 28px;
  }

  .hiw .steps-sec,
  .hiw .feat-sec {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .hiw .steps-sec::before,
  .hiw .feat-sec::before {
    margin-bottom: 48px;
  }
}

.suc_pg {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 24px;
  background: #ffffff;
}

.suc_pg .suc_wrap {
  max-width: 1280px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 48px;
}

.suc_pg .suc_icon_ring {
  width: 96px;
  height: 96px;
  border-radius: 48px;
  background: #EFF6EE;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  flex-shrink: 0;
}

.suc_pg .suc_icon_ring svg {
  display: block;
}

.suc_pg .suc_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  max-width: 560px;
}

.suc_pg .suc_label {
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #88B645;
  font-weight: 600;
}

.suc_pg .suc_head {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 700;
  color: #1b2a0f;
  margin: 0;
}

.suc_pg .suc_head .suc_accent {
  color: #88B645;
}

.suc_pg .suc_desc {
  font-size: 22px;
  line-height: 1.7;
  color: #3d4f2e;
  margin: 0;
}

.suc_pg .suc_note {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6e4a;
  margin: 0;
  padding: 12px 24px;
  background: #EFF6EE;
  border-radius: 12px;
  border-top: 2px solid #ABCBA1;
  border-bottom: 2px solid #ABCBA1;
}

.suc_pg .suc_actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.suc_pg .btn_pri {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 48px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  border: 2px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none;
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), outline-offset 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  outline: 2px solid transparent;
  outline-offset: 0px;
}

.suc_pg .btn_pri:hover {
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  outline: 2px solid #88B645;
  outline-offset: 4px;
}

.suc_pg .btn_pri:focus-visible {
  outline: 2px solid #88B645;
  outline-offset: 4px;
}

.suc_pg .btn_pri:active {
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
  outline-offset: 1px;
}

.suc_pg .btn_sec {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 48px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  color: #3d4f2e;
  background: #ffffff;
  border: 2px solid #ABCBA1;
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none;
  transition: border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), outline-offset 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  outline: 2px solid transparent;
  outline-offset: 0px;
}

.suc_pg .btn_sec:hover {
  border-color: #88B645;
  outline: 2px solid #88B645;
  outline-offset: 4px;
}

.suc_pg .btn_sec:focus-visible {
  outline: 2px solid #88B645;
  outline-offset: 4px;
}

.suc_pg .btn_sec:active {
  outline-offset: 1px;
}

.suc_pg .suc_divider {
  width: 64px;
  height: 3px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  border-radius: 6px;
}

@media (max-width: 576px) {
  .suc_pg {
    padding: 48px 24px;
  }

  .suc_pg .suc_head {
    font-size: 38px;
  }

  .suc_pg .suc_desc {
    font-size: 15px;
  }

  .suc_pg .suc_actions {
    flex-direction: column;
    align-items: stretch;
  }

  .suc_pg .btn_pri,
  .suc_pg .btn_sec {
    justify-content: center;
  }
}

.pg_404 {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 24px;
  background: #EFF6EE;
  position: relative;
  overflow: hidden;
}

.pg_404 .deco_arc {
  position: absolute;
  top: -48px;
  right: -48px;
  width: 320px;
  height: 320px;
  border-radius: 48px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
  opacity: 0.13;
  pointer-events: none;
}

.pg_404 .deco_dot {
  position: absolute;
  bottom: 48px;
  left: 24px;
  width: 96px;
  height: 96px;
  border-radius: 36px;
  background: linear-gradient(180deg, #ABCBA1 0%, #88B645 100%);
  opacity: 0.10;
  pointer-events: none;
}

.pg_404 .inner {
  max-width: 1280px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}

.pg_404 .num_block {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.pg_404 .num_block .n_left,
.pg_404 .num_block .n_right {
  font-size: 68px;
  line-height: 1.1;
  font-weight: 800;
  color: #2d3a1e;
  letter-spacing: -2px;
}

.pg_404 .num_block .n_mid {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pg_404 .num_block .n_mid svg {
  filter: drop-shadow(0 7px 28px rgba(136, 182, 69, 0.22));
}

.pg_404 .txt_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  max-width: 560px;
}

.pg_404 .txt_block .hdg {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 700;
  color: #2d3a1e;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0;
}

.pg_404 .txt_block .hdg span {
  color: #88B645;
}

.pg_404 .txt_block .sub {
  font-size: 22px;
  line-height: 1.4;
  color: #3d4f28;
  margin: 0;
}

.pg_404 .txt_block .desc {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5e30;
  margin: 0;
  padding: 12px 24px;
  background: #fff;
  border-radius: 12px;
  border: 1.5px solid #ABCBA1;
  box-shadow: 0 3px 5px -2px rgba(136, 182, 69, 0.08);
}

.pg_404 .act_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}

.pg_404 .btn_home {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 48px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(180deg, #88B645 0%, #6a9433 100%);
  border: 2.5px solid transparent;
  border-radius: 12px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.22);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s ease-in-out, outline-offset 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  outline: 2.5px solid transparent;
  outline-offset: 0px;
}

.pg_404 .btn_home:hover,
.pg_404 .btn_home:focus-visible {
  box-shadow: 0 12px 52px -2px rgba(136, 182, 69, 0.22);
  border-color: #88B645;
  outline-color: #88B645;
  outline-offset: 5px;
}

.pg_404 .btn_contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 48px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  color: #2d3a1e;
  background: #fff;
  border: 2px solid #ABCBA1;
  border-radius: 12px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 3px 5px -2px rgba(171, 203, 161, 0.08);
  transition: border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease-in-out, outline-offset 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  outline: 2px solid transparent;
  outline-offset: 0px;
}

.pg_404 .btn_contact:hover,
.pg_404 .btn_contact:focus-visible {
  border-color: #88B645;
  box-shadow: 0 7px 28px -2px rgba(136, 182, 69, 0.11);
  outline-color: #88B645;
  outline-offset: 5px;
}

.pg_404 .link_list {
  display: flex;
  flex-direction: row;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pg_404 .link_list li {
  font-size: 15px;
  line-height: 1.4;
}

.pg_404 .link_list li a {
  color: #88B645;
  text-decoration: none;
  border-bottom: 1.5px solid #ABCBA1;
  padding-bottom: 2px;
  transition: border-color 0.45s ease-in-out, color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.pg_404 .link_list li a:hover,
.pg_404 .link_list li a:focus-visible {
  color: #5a7a20;
  border-color: #88B645;
}

.pg_404 .divider {
  width: 64px;
  height: 3px;
  border-radius: 6px;
  background: linear-gradient(180deg, #88B645 0%, #ABCBA1 100%);
}

@media (max-width: 576px) {
  .pg_404 {
    padding: 48px 12px;
  }

  .pg_404 .num_block .n_left,
  .pg_404 .num_block .n_right {
    font-size: 52px;
  }

  .pg_404 .txt_block .hdg {
    font-size: 28px;
  }

  .pg_404 .txt_block .sub {
    font-size: 15px;
  }

  .pg_404 .act_row {
    flex-direction: column;
    gap: 12px;
  }

  .pg_404 .btn_home,
  .pg_404 .btn_contact {
    padding: 12px 24px;
  }

  .pg_404 .link_list {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}

@media (min-width: 577px) and (max-width: 992px) {

  .pg_404 .num_block .n_left,
  .pg_404 .num_block .n_right {
    font-size: 52px;
  }

  .pg_404 .txt_block .hdg {
    font-size: 28px;
  }
}