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

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

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
  font-family: 'Fira Sans', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .015em;
  background-color: #FCFDFA;
  color: #1e2820
}

.brand_bar {
  background: linear-gradient(135deg, #91C35B 0%, #6fa83d 100%);
  min-width: 160px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 24px;
  gap: 8px;
  flex-shrink: 0
}

.brand_bar a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.logo_box {
  background-color: #fff;
  border-radius: 4px;
  padding: 4px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 1px 3px 0 #91c35b14 -1px 6px 25px 0 #91c35b14;
  flex-shrink: 0
}

.logo_box img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block
}

.brand_name {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .02em;
  line-height: 1.2;
  white-space: nowrap
}

.hd_outer {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 1320px;
  margin: 0 auto;
  min-height: 110px
}

.hd_right {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 40px;
  gap: 8px;
  background-color: #FCFDFA;
  border-bottom: 2px solid #91C35B
}

.hd_tagline {
  font-size: 16px;
  color: #4a5c3a;
  letter-spacing: .01em;
  line-height: 1.2;
  font-weight: 400
}

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

.hd_menu li {
  flex-shrink: 0
}

.hd_menu a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 16px;
  font-weight: 700;
  color: #1e2820;
  text-decoration: none;
  border-radius: 4px;
  border: 1.5px solid transparent;
  transition: color .2s ease-out, border-color .35s ease-out, background-color .25s ease-out;
  line-height: 1.2;
  letter-spacing: .015em;
  min-height: 44px;
  white-space: nowrap
}

.hd_menu a:hover {
  color: #B41A61;
  border-color: #B41A61;
  background-color: #b41a610a
}

.hd_menu a:focus {
  outline: 3px solid;
  outline-color: #91C35B;
  outline-offset: 2px
}

.hd_menu a svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  fill: currentColor
}

header {
  background-color: #FCFDFA;
  box-shadow: -1px 6px 25px 0 #91c35b14;
  position: relative;
  z-index: 10;
  overflow: hidden
}

header::before {
  background: linear-gradient(180deg, #91c35b12 0%, transparent 100%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none
}

.ft_outer {
  background-color: #1e2820;
  color: #FCFDFA
}

.ft_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 40px 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px
}

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

.ft_brand {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0
}

.ft_logo_box {
  background-color: #fff;
  border-radius: 4px;
  padding: 4px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 1px 3px 0 #91c35b14;
  flex-shrink: 0
}

.ft_logo_box img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block
}

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

.ft_brand_name {
  font-size: 18px;
  font-weight: 700;
  color: #FCFDFA;
  letter-spacing: .02em;
  line-height: 1.2
}

.ft_slogan {
  font-size: 16px;
  color: #91C35B;
  letter-spacing: .01em;
  line-height: 1.2
}

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

.ft_links a {
  font-size: 16px;
  color: #c8d8be;
  text-decoration: underline;
  text-underline-offset: 3px;
  letter-spacing: .01em;
  transition: color .2s ease-out;
  min-height: 44px;
  display: inline-flex;
  align-items: center
}

.ft_links a:hover {
  color: #91C35B
}

.ft_links a:focus {
  outline: 3px solid #91C35B;
  outline-offset: 2px
}

.ft_divider {
  height: 1px;
  background-color: #91c35b2e;
  border: none;
  margin: 0
}

.ft_bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  padding-bottom: 8px
}

.ft_copy {
  font-size: 16px;
  color: #7a9470;
  letter-spacing: .01em;
  line-height: 1.5
}

.ft_contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: center
}

.ft_contact a {
  font-size: 16px;
  color: #c8d8be;
  text-decoration: none;
  letter-spacing: .01em;
  transition: color .2s ease-out;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px
}

.ft_contact a:hover {
  color: #91C35B
}

.ft_contact a:focus {
  outline: 3px solid #91C35B;
  outline-offset: 2px
}

.ft_contact svg {
  width: 16px;
  height: 16px;
  fill: #91C35B;
  flex-shrink: 0
}

@media (max-width: 700px) {
  .hd_outer {
    flex-direction: column;
    min-height: unset
  }

  .brand_bar {
    min-width: unset;
    flex-direction: row;
    align-items: center;
    padding: 16px 24px
  }

  .hd_right {
    padding: 16px 24px
  }

  .ft_inner {
    padding: 40px 24px 24px
  }

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

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

  .logo_box img,
  .ft_logo_box img {
    display: none
  }
}

.policy-inner-wyrj {
  max-width: 1320px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2a2a2e;
  line-height: 1.7
}

.policy-inner-wyrj h1 {
  font-size: 62px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1b1b20;
  margin-bottom: 40px;
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #91C35B
}

.policy-inner-wyrj h2 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1b1b20;
  margin-top: 80px;
  margin-bottom: 24px;
  padding-left: 16px;
  border-left: 4px solid #91C35B;
  border-bottom: 1px solid #91c35b2e;
  padding-bottom: 8px
}

.policy-inner-wyrj h3 {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #1b1b20;
  margin-top: 40px;
  margin-bottom: 16px
}

.policy-inner-wyrj h4 {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: .02em;
  color: #2a2a2e;
  margin-top: 24px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .06em
}

.policy-inner-wyrj h5 {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .02em;
  color: #3a3a40;
  margin-top: 24px;
  margin-bottom: 8px
}

.policy-inner-wyrj h6 {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .02em;
  color: #5a5a62;
  margin-top: 16px;
  margin-bottom: 8px;
  font-style: italic
}

.policy-inner-wyrj p {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: .01em;
  color: #2a2a2e;
  margin-top: 0;
  margin-bottom: 16px;
  max-width: 72ch
}

.policy-inner-wyrj strong,
.policy-inner-wyrj b {
  font-weight: 700;
  color: #1b1b20
}

.policy-inner-wyrj div {
  box-sizing: border-box
}

.policy-inner-wyrj table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 24px;
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .01em;
  box-shadow: -1px 6px 25px 0 #91c35b14;
  border-radius: 7px;
  overflow: hidden
}

.policy-inner-wyrj thead {
  background: linear-gradient(135deg, #91C35B 0%, #7aad47 100%)
}

.policy-inner-wyrj thead th {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 16px 24px;
  text-align: left;
  border: none
}

.policy-inner-wyrj tbody tr {
  border-bottom: 1px solid #91c35b24;
  transition: background-color .2s ease-out
}

.policy-inner-wyrj tbody tr:last-child {
  border-bottom: none
}

.policy-inner-wyrj tbody tr:nth-child(even) {
  background-color: #91c35b0a
}

.policy-inner-wyrj tbody tr:hover {
  background-color: #91c35b17
}

.policy-inner-wyrj td {
  padding: 16px 24px;
  color: #2a2a2e;
  font-size: 16px;
  line-height: 1.5;
  vertical-align: top;
  border: none
}

.policy-inner-wyrj th {
  padding: 16px 24px;
  font-size: 16px;
  line-height: 1.5;
  vertical-align: middle
}

@media (max-width: 768px) {
  .policy-inner-wyrj {
    padding: 40px 16px
  }

  .policy-inner-wyrj h1 {
    font-size: 32px
  }

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

  .policy-inner-wyrj h3 {
    font-size: 18px
  }

  .policy-inner-wyrj p {
    font-size: 16px;
    max-width: 100%
  }

  .policy-inner-wyrj table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 4px
  }

  .policy-inner-wyrj thead th,
  .policy-inner-wyrj td {
    padding: 8px 16px;
    white-space: nowrap
  }
}

.ev_det {
  background: #FCFDFA;
  overflow-x: clip
}

.ev_det .top_bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 24px 40px;
  max-width: 1320px;
  margin: 0 auto;
  flex-wrap: wrap
}

.ev_det .tag_pill {
  display: inline-block;
  padding: 4px 16px;
  border-radius: 36px;
  background: #91C35B;
  color: #FCFDFA;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.5
}

.ev_det .meta_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-left: auto
}

.ev_det .meta_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #3a3a3a;
  line-height: 1.5;
  letter-spacing: .01em
}

.ev_det .meta_item svg {
  flex-shrink: 0
}

.ev_det .meta_sep {
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background: #B41A61;
  display: inline-block
}

.ev_det .title_block {
  position: relative;
  padding: 80px 40px;
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1fr 220px;
  gap: 40px;
  align-items: center
}

.ev_det .title_img_wrap {
  position: relative;
  border-radius: 7px;
  overflow: hidden;
  aspect-ratio: 3/4
}

.ev_det .title_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.5) brightness(0.85);
  transition: filter .35s ease-out
}

.ev_det .title_img_wrap:hover img {
  filter: saturate(1) brightness(1)
}

.ev_det .title_img_wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at corner, #91c35b61 0%, transparent 65%);
  pointer-events: none;
  border-radius: 7px
}

.ev_det .title_img_wrap.right_img::after {
  background: radial-gradient(ellipse at corner, #b41a6152 0%, transparent 65%)
}

.ev_det .title_center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
  position: relative
}

.ev_det .bg_num {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 72px;
  font-weight: 900;
  color: #91c35b17;
  line-height: 1.2;
  letter-spacing: -.02em;
  pointer-events: none;
  white-space: nowrap;
  z-index: 0
}

.ev_det .title_center h1 {
  font-size: 32px;
  font-weight: 800;
  color: #1b2a10;
  line-height: 1.2;
  letter-spacing: .01em;
  position: relative;
  z-index: 1;
  margin: 0
}

.ev_det .title_center h1 span {
  color: #91C35B
}

.ev_det .key_pts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 1;
  width: 100%
}

.ev_det .key_pts li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  color: #2e2e2e;
  line-height: 1.5;
  letter-spacing: .01em;
  background: #91c35b12;
  border-radius: 4px;
  padding: 8px 16px;
  border-left: 3px solid #91C35B;
  border-bottom: 1px solid #91c35b26
}

.ev_det .zigzag_div {
  width: 100%;
  height: 20px;
  overflow: hidden;
  line-height: 0
}

.ev_det .zigzag_div svg {
  display: block;
  width: 100%;
  height: 20px
}

.ev_det .body_grid {
  max-width: 1320px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start
}

.ev_det .desc_col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ev_det .desc_col h2 {
  font-size: 24px;
  font-weight: 700;
  color: #1b2a10;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 2px dashed #91C35B
}

.ev_det .desc_col p {
  font-size: 18px;
  color: #2e2e2e;
  line-height: 1.7;
  letter-spacing: .01em;
  margin: 0
}

.ev_det .desc_col mark {
  background: #91c35b2e;
  color: #1b2a10;
  border-radius: 4px;
  padding: 0 4px
}

.ev_det .desc_col cite {
  display: block;
  font-style: italic;
  color: #555;
  font-size: 18px;
  line-height: 1.7;
  border-left: 3px solid #B41A61;
  border-right: 1px solid #b41a6126;
  padding: 8px 16px;
  border-radius: 4px;
  background: #b41a610a
}

.ev_det .desc_col ul {
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none
}

.ev_det .desc_col ul li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 18px;
  color: #2e2e2e;
  line-height: 1.7;
  letter-spacing: .01em
}

.ev_det .desc_col ul li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #91C35B;
  flex-shrink: 0;
  margin-top: 9px
}

.ev_det .desc_col ol {
  padding-left: 24px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ev_det .desc_col ol li {
  font-size: 18px;
  color: #2e2e2e;
  line-height: 1.7;
  letter-spacing: .01em
}

.ev_det .desc_col dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  margin: 0
}

.ev_det .desc_col dt {
  font-weight: 700;
  color: #1b2a10;
  font-size: 18px;
  line-height: 1.5
}

.ev_det .desc_col dd {
  font-size: 18px;
  color: #2e2e2e;
  line-height: 1.5;
  margin: 0
}

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

.ev_det .prog_block h2 {
  font-size: 24px;
  font-weight: 700;
  color: #1b2a10;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0
}

.ev_det .prog_block p {
  font-size: 18px;
  color: #2e2e2e;
  line-height: 1.7;
  letter-spacing: .01em;
  margin: 0
}

.ev_det .prog_block ol {
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  counter-reset: prog_ctr
}

.ev_det .prog_block ol li {
  counter-increment: prog_ctr;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  font-size: 18px;
  color: #2e2e2e;
  line-height: 1.7;
  letter-spacing: .01em;
  padding: 8px 16px;
  border-radius: 7px;
  background: #91c35b0d;
  border: 1px solid #91c35b26;
  transition: background .2s ease-out, box-shadow .2s ease-out
}

.ev_det .prog_block ol li:hover {
  background: #91c35b1f;
  box-shadow: -1px 6px 25px 0 #91c35b14
}

.ev_det .prog_block ol li::before {
  content: counter(prog_ctr);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 4px;
  background: #91C35B;
  color: #FCFDFA;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px
}

.ev_det .prog_block figure {
  margin: 0;
  border-radius: 7px;
  overflow: hidden
}

.ev_det .prog_block figcaption {
  font-size: 16px;
  color: #555;
  line-height: 1.5;
  padding: 8px 0;
  letter-spacing: .01em
}

.ev_det .prog_block cite {
  display: block;
  font-style: italic;
  color: #555;
  font-size: 18px;
  line-height: 1.7;
  border-left: 3px solid #B41A61;
  border-right: 1px solid #b41a6126;
  padding: 8px 16px;
  border-radius: 4px;
  background: #b41a610a
}

.ev_det .side_col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 24px
}

.ev_det .price_card {
  border-radius: 7px;
  background: #1b2a10;
  background-image: linear-gradient(160deg, #1b2a10 0%, #2e4a1a 100%);
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: -1px 10px 60px 0 #91c35b1c;
  position: relative;
  overflow: hidden
}

.ev_det .price_card::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 160px;
  height: 160px;
  border-radius: 36px;
  background: linear-gradient(135deg, #91c35b2e 0%, transparent 70%);
  pointer-events: none;
  transform: rotate(20deg)
}

.ev_det .price_big {
  font-size: 32px;
  font-weight: 900;
  color: #91C35B;
  line-height: 1.2;
  letter-spacing: .01em
}

.ev_det .price_des {
  font-size: 16px;
  color: #fcfdfabf;
  line-height: 1.5;
  letter-spacing: .01em
}

.ev_det .price_note {
  font-size: 16px;
  color: #fcfdfa8c;
  line-height: 1.5;
  letter-spacing: .01em;
  border-top: 1px solid #91c35b33;
  padding-top: 16px
}

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

.ev_det .seats_num {
  font-size: 18px;
  font-weight: 700;
  color: #B41A61
}

.ev_det .seats_lbl {
  font-size: 16px;
  color: #fcfdfaa6;
  line-height: 1.5
}

.ev_det .enroll_btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 7px;
  background: linear-gradient(155deg, #91C35B 0%, #6fa33a 100%);
  color: #FCFDFA;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .01em;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background .25s ease-out, box-shadow .2s ease-out;
  box-shadow: -1px 6px 25px 0 #91c35b14
}

.ev_det .enroll_btn:hover {
  background: linear-gradient(220deg, #91C35B 0%, #6fa33a 100%);
  box-shadow: -1px 10px 60px 0 #91c35b1c
}

.ev_det .enroll_btn:active {
  box-shadow: inset -1px 1px 3px 0 #91c35b2e
}

.ev_det .enroll_btn:focus-visible {
  outline: 2px solid #91C35B;
  outline-offset: 3px
}

.ev_det .dur_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #fcfdfab3;
  line-height: 1.5
}

.ev_det .dur_val {
  font-weight: 700;
  color: #FCFDFA
}

.ev_det .like_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #fcfdfaa6
}

.ev_det .like_num {
  font-weight: 700;
  color: #B41A61;
  font-size: 18px
}

.ev_det .user_badge {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 4px 16px;
  border-radius: 36px;
  border: 1px solid #91c35b66;
  color: #fcfdfacc;
  font-size: 16px;
  letter-spacing: .01em;
  line-height: 1.5;
  align-self: flex-start
}

.ev_det .poll_card {
  border-radius: 7px;
  border: 1px solid #91c35b33;
  background: #FCFDFA;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: -1px 1px 3px 0 #91c35b14
}

.ev_det .poll_card h4 {
  font-size: 18px;
  font-weight: 700;
  color: #1b2a10;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0
}

.ev_det .poll_opts {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ev_det .poll_opts label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 7px;
  border: 2px solid #91c35b33;
  cursor: pointer;
  font-size: 16px;
  color: #2e2e2e;
  line-height: 1.5;
  letter-spacing: .01em;
  transition: border-color .2s ease-out, background .2s ease-out, box-shadow .2s ease-out
}

.ev_det .poll_opts label:hover {
  border-color: #91C35B;
  background: #91c35b0f
}

.ev_det .poll_opts input[type="radio"] {
  accent-color: #91C35B;
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.ev_det .poll_opts input[type="radio"]:checked+span {
  color: #1b2a10;
  font-weight: 700
}

.ev_det .poll_opts label:has(input[type="radio"]:checked) {
  border-color: #91C35B;
  background: #91c35b1a;
  box-shadow: inset -1px 1px 3px 0 #91c35b1f
}

.ev_det .dash_div {
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(to right, #91C35B 0px, #91C35B 8px, transparent 8px, transparent 12px, #91C35B 12px, #91C35B 24px, transparent 24px, transparent 32px);
  margin: 0;
  border: none
}

.ev_det .prog_section {
  background: linear-gradient(180deg, #1b2a10 0%, #FCFDFA 100%);
  padding: 80px 0 40px
}

.ev_det .prog_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.ev_det .prog_left {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ev_det .prog_left h3 {
  font-size: 24px;
  font-weight: 800;
  color: #FCFDFA;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0;
  position: relative
}

.ev_det .prog_left h3 .acc_num {
  color: #91C35B
}

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

.ev_det .prog_right .prog_block {
  background: #fcfdfaf5;
  border-radius: 7px;
  padding: 24px;
  box-shadow: -1px 6px 25px 0 #91c35b14
}

@keyframes el_enter {
  0% {
    opacity: 0;
    transform: translateY(-18px) scaleY(1.06)
  }

  65% {
    opacity: 1;
    transform: translateY(4px) scaleY(0.98)
  }

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

.ev_det .title_center {
  animation: el_enter .45s ease-out both
}

.ev_det .price_card {
  animation: el_enter .38s .1s ease-out both
}

.ev_det .icon_outline_wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 32px;
  height: 32px;
  flex-shrink: 0
}

.ev_det .icon_outline_wrap svg.outline_anim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%
}

.ev_det .icon_outline_wrap svg.outline_anim circle {
  fill: none;
  stroke: #91C35B;
  stroke-width: 1.5;
  stroke-dasharray: 88;
  stroke-dashoffset: 88;
  transition: stroke-dashoffset .45s ease-out
}

.ev_det .icon_outline_wrap:hover svg.outline_anim circle,
.ev_det .price_card:hover .icon_outline_wrap svg.outline_anim circle {
  stroke-dashoffset: 0
}

@media (max-width: 1024px) {
  .ev_det .title_block {
    grid-template-columns: 1fr;
    padding: 40px 24px
  }

  .ev_det .title_img_wrap {
    display: none
  }

  .ev_det .body_grid {
    grid-template-columns: 1fr;
    padding: 40px 24px
  }

  .ev_det .side_col {
    position: static
  }

  .ev_det .prog_inner {
    grid-template-columns: 1fr;
    padding: 0 24px
  }

  .ev_det .prog_left h3 {
    color: #1b2a10
  }

  .ev_det .top_bar {
    padding: 16px 24px
  }
}

@media (max-width: 640px) {
  .ev_det .title_center h1 {
    font-size: 24px
  }

  .ev_det .price_big {
    font-size: 24px
  }

  .ev_det .meta_row {
    margin-left: 0
  }
}

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

.evts_pg .pg_lead {
  background-color: #f4f7f0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.06'/%3E%3C/svg%3E");
  padding: 80px 24px 40px;
  position: relative
}

.evts_pg .pg_lead_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 40px
}

.evts_pg .pg_lead_text {
  flex: 3
}

.evts_pg .pg_lead_text h1 {
  font-size: 62px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1b2a14;
  margin: 0 0 16px;
  animation: revealUp .45s ease-out both
}

.evts_pg .pg_lead_text h1 span {
  color: #91C35B
}

.evts_pg .pg_lead_text .lead_desc {
  font-size: 18px;
  line-height: 1.7;
  color: #2e3d24;
  max-width: 560px;
  margin: 0 0 24px;
  animation: revealUp .38s ease-out .1s both
}

.evts_pg .pg_lead_meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  animation: revealUp .35s ease-out .2s both
}

.evts_pg .pg_lead_meta .meta_stat {
  border-left: 3px solid #91C35B;
  border-top: 1px solid #91c35b33;
  padding: 8px 16px;
  background: #91c35b0f;
  border-radius: 4px
}

.evts_pg .pg_lead_meta .meta_stat strong {
  display: block;
  font-size: 32px;
  line-height: 1.2;
  color: #91C35B;
  letter-spacing: .01em
}

.evts_pg .pg_lead_meta .meta_stat span {
  font-size: 16px;
  color: #2e3d24;
  line-height: 1.5
}

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

.evts_pg .cards_area {
  background: #fff;
  padding: 40px 24px 80px
}

.evts_pg .cards_inner {
  max-width: 1320px;
  margin: 0 auto
}

.evts_pg .cards_inner h2 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1b2a14;
  margin: 0 0 8px;
  text-align: center
}

.evts_pg .cards_inner .area_sub {
  font-size: 16px;
  color: #4a5e38;
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.5
}

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

.evts_pg .ev_card {
  border-radius: 7px;
  border: 1px solid #91c35b2e;
  box-shadow: -1px 1px 3px 0 #91c35b14;
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow .25s ease-out, transform .2s ease-out;
  animation: revealUp .4s ease-out both
}

.evts_pg .ev_card:hover {
  box-shadow: -1px 6px 25px 0 #91c35b14 -1px 10px 60px 0 #91c35b1c;
  transform: translateY(-3px)
}

.evts_pg .ev_card:nth-child(1) {
  animation-delay: .05s
}

.evts_pg .ev_card:nth-child(2) {
  animation-delay: .12s
}

.evts_pg .ev_card:nth-child(3) {
  animation-delay: .19s
}

.evts_pg .ev_card:nth-child(4) {
  animation-delay: .26s
}

.evts_pg .ev_card:nth-child(5) {
  animation-delay: .33s
}

.evts_pg .card_img_wrap {
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden
}

.evts_pg .card_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(60%) brightness(0.9);
  transition: filter .35s ease-out, transform .35s ease-out
}

.evts_pg .ev_card:hover .card_img_wrap img {
  filter: grayscale(0%) brightness(1);
  transform: scale(1.03)
}

.evts_pg .card_img_wrap .img_tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #91c35b47 0%, transparent 100%);
  transition: opacity .35s ease-out;
  pointer-events: none
}

.evts_pg .ev_card:hover .card_img_wrap .img_tint {
  opacity: 0
}

.evts_pg .card_img_wrap .card_tag {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #91C35B;
  color: #fff;
  font-size: 16px;
  padding: 4px 8px;
  border-radius: 4px;
  letter-spacing: .02em
}

.evts_pg .card_body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px
}

.evts_pg .card_body .card_badges {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap
}

.evts_pg .card_body .badge {
  font-size: 16px;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid #91c35b4d;
  color: #4a5e38;
  line-height: 1.2
}

.evts_pg .card_body .badge.usr {
  border-color: #b41a6133;
  color: #B41A61
}

.evts_pg .card_body h3 {
  font-size: 18px;
  line-height: 1.5;
  color: #1b2a14;
  margin: 0;
  letter-spacing: .01em
}

.evts_pg .card_body .card_desc {
  font-size: 16px;
  line-height: 1.7;
  color: #3d4f30;
  margin: 0;
  flex: 1
}

.evts_pg .card_body .card_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap
}

.evts_pg .card_body .card_row .dur_info {
  font-size: 16px;
  color: #4a5e38;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px
}

.evts_pg .card_body .card_row .dur_info svg {
  flex-shrink: 0
}

.evts_pg .card_body .card_row .seats_info {
  font-size: 16px;
  color: #B41A61;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px
}

.evts_pg .card_foot {
  padding: 16px;
  border-top: 1px solid #91c35b26;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px
}

.evts_pg .card_foot .price_blk {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.evts_pg .card_foot .price_blk .price_val {
  font-size: 24px;
  line-height: 1.2;
  color: #1b2a14;
  font-weight: 700;
  letter-spacing: .01em
}

.evts_pg .card_foot .price_blk .price_terms {
  font-size: 16px;
  color: #4a5e38;
  line-height: 1.2
}

.evts_pg .card_foot .price_blk .price_note {
  font-size: 16px;
  color: #B41A61;
  line-height: 1.2
}

.evts_pg .card_foot .card_actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.evts_pg .card_foot .like_ct {
  font-size: 16px;
  color: #4a5e38;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px
}

.evts_pg .card_foot .read_lnk {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #91C35B 0%, transparent 100%);
  background-color: #91C35B;
  color: #fff;
  font-size: 16px;
  padding: 8px 16px;
  border-radius: 36px;
  text-decoration: none !important;
  letter-spacing: .01em;
  transition: background-position .25s ease-out, box-shadow .2s ease-out;
  background-size: 200% 200%;
  background-position: 0 0
}

.evts_pg .card_foot .read_lnk:hover {
  background-position: 100% 100%;
  box-shadow: -1px 6px 25px 0 #91c35b14
}

.evts_pg .card_foot .read_lnk:active {
  box-shadow: inset -1px 2px 8px 0 #91c35b2e
}

.evts_pg .card_foot .read_lnk svg {
  flex-shrink: 0
}

.evts_pg .readtime_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  color: #4a5e38
}

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

.evts_pg .how_area {
  background: #f4f7f0;
  padding: 80px 24px;
  position: relative
}

.evts_pg .how_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 40px;
  align-items: start
}

.evts_pg .how_steps {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.evts_pg .how_steps h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #1b2a14;
  margin: 0 0 8px;
  letter-spacing: .01em
}

.evts_pg .step_item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: #fff;
  border-radius: 7px;
  border: 1px solid #91c35b26;
  box-shadow: -1px 1px 3px 0 #91c35b14;
  position: relative
}

.evts_pg .step_num {
  font-size: 62px;
  line-height: 1;
  color: #91c35b1f;
  font-weight: 900;
  letter-spacing: -.02em;
  flex-shrink: 0;
  width: 64px;
  text-align: center;
  position: relative
}

.evts_pg .step_num span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 24px;
  color: #91C35B;
  font-weight: 700
}

.evts_pg .step_txt h4 {
  font-size: 18px;
  line-height: 1.5;
  color: #1b2a14;
  margin: 0 0 4px;
  letter-spacing: .01em
}

.evts_pg .step_txt p {
  font-size: 16px;
  line-height: 1.7;
  color: #3d4f30;
  margin: 0
}

.evts_pg .how_aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 24px
}

.evts_pg .aside_img_wrap {
  border-radius: 7px;
  overflow: hidden;
  box-shadow: -1px 6px 25px 0 #91c35b14
}

.evts_pg .aside_img_wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  filter: grayscale(40%);
  transition: filter .35s ease-out
}

.evts_pg .aside_img_wrap:hover img {
  filter: grayscale(0%)
}

.evts_pg .aside_note {
  background: #fff;
  border-radius: 7px;
  padding: 16px;
  border: 1px solid #b41a6126;
  border-left: 3px solid #B41A61;
  box-shadow: -1px 1px 3px 0 #b41a6114
}

.evts_pg .aside_note p {
  font-size: 16px;
  line-height: 1.7;
  color: #3d0020;
  margin: 0
}

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

.evts_pg .nums_area {
  background: #1b2a14;
  padding: 80px 24px
}

.evts_pg .nums_inner {
  max-width: 1320px;
  margin: 0 auto;
  text-align: center
}

.evts_pg .nums_inner h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 8px;
  letter-spacing: .01em
}

.evts_pg .nums_inner .nums_sub {
  font-size: 16px;
  color: #ffffffa6;
  margin: 0 0 40px;
  line-height: 1.5
}

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

.evts_pg .num_item {
  padding: 24px 16px;
  border-radius: 7px;
  border: 1px solid #91c35b33;
  background: #91c35b0d;
  text-align: center
}

.evts_pg .num_item .num_val {
  font-size: 62px;
  line-height: 1.2;
  color: #91C35B;
  font-weight: 700;
  letter-spacing: .01em;
  display: block
}

.evts_pg .num_item .num_lbl {
  font-size: 18px;
  line-height: 1.5;
  color: #fff;
  display: block;
  margin: 8px 0 4px
}

.evts_pg .num_item .num_note {
  font-size: 16px;
  line-height: 1.7;
  color: #ffffff8c
}

.evts_pg .wave_div4 {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #1b2a14
}

.evts_pg .cta_area {
  background: #fff;
  padding: 80px 24px
}

.evts_pg .cta_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  border-top: 2px solid #91c35b33;
  border-bottom: 2px solid #91c35b33;
  padding: 40px 0
}

.evts_pg .cta_left h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #1b2a14;
  margin: 0 0 16px;
  letter-spacing: .01em
}

.evts_pg .cta_left p {
  font-size: 18px;
  line-height: 1.7;
  color: #3d4f30;
  margin: 0
}

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

.evts_pg .cta_right .img_wrap2 {
  border-radius: 7px;
  overflow: hidden;
  box-shadow: -1px 10px 60px 0 #91c35b1c;
  width: 100%
}

.evts_pg .cta_right .img_wrap2 img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  filter: grayscale(30%);
  transition: filter .4s ease-out
}

.evts_pg .cta_right .img_wrap2:hover img {
  filter: grayscale(0%)
}

.evts_pg .cta_lnk {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: linear-gradient(120deg, #B41A61 0%, transparent 100%);
  background-color: #B41A61;
  color: #fff;
  font-size: 18px;
  padding: 16px 40px;
  border-radius: 36px;
  text-decoration: none !important;
  letter-spacing: .01em;
  transition: background-position .2s ease-out, box-shadow .22s ease-out;
  background-size: 200% 200%;
  background-position: 0 0
}

.evts_pg .cta_lnk:hover {
  background-position: 100% 100%;
  box-shadow: -1px 6px 25px 0 #b41a6114
}

.evts_pg .cta_lnk:active {
  box-shadow: inset -1px 2px 8px 0 #b41a612e
}

.evts_pg .arrow_dec {
  position: absolute;
  right: 40px;
  bottom: 40px;
  opacity: .18;
  pointer-events: none
}

@keyframes revealUp {
  from {
    opacity: 0;
    transform: translateY(18px)
  }

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

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

  .evts_pg .nums_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .evts_pg .how_inner {
    grid-template-columns: 1fr
  }

  .evts_pg .how_aside {
    position: static
  }
}

@media (max-width: 768px) {
  .evts_pg .pg_lead_inner {
    flex-direction: column;
    align-items: flex-start
  }

  .evts_pg .pg_lead_text h1 {
    font-size: 32px
  }

  .evts_pg .card_grid {
    grid-template-columns: 1fr
  }

  .evts_pg .cta_inner {
    grid-template-columns: 1fr
  }

  .evts_pg .cta_right .img_wrap2 {
    display: none
  }

  .evts_pg .aside_img_wrap {
    display: none
  }

  .evts_pg .nums_grid {
    grid-template-columns: 1fr 1fr
  }

  .evts_pg .num_item .num_val {
    font-size: 32px
  }
}

@media (max-width: 480px) {
  .evts_pg .nums_grid {
    grid-template-columns: 1fr
  }
}

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

.abt_us .pg_wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px
}

.abt_us .divider_dbl {
  width: 100%;
  height: 6px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abt_us .divider_dbl span {
  display: block;
  width: 100%;
  height: 1px;
  background: #91C35B;
  opacity: .35
}

.abt_us .divider_dbl span:last-child {
  opacity: .15
}

.abt_us .ttl_blk {
  position: relative;
  padding: 80px 0 0;
  background: #FCFDFA
}

.abt_us .ttl_blk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 38% 55%, #91c35b21 0%, transparent 70%);
  pointer-events: none
}

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

.abt_us .ttl_text_zone {
  padding: 40px 40px 40px 0;
  position: relative;
  z-index: 1
}

.abt_us .ttl_badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #91c35b1a;
  border: 1px solid #91c35b4d;
  border-radius: 36px;
  padding: 4px 16px;
  font-size: 16px;
  color: #3a5c1a;
  margin-bottom: 24px;
  letter-spacing: .02em
}

.abt_us .ttl_badge .badge_dot {
  width: 7px;
  height: 7px;
  border-radius: 36px;
  background: #91C35B;
  display: inline-block
}

.abt_us .ttl_h1 {
  font-size: 62px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1b2e0a;
  margin: 0 0 24px;
  font-weight: 800
}

.abt_us .ttl_h1 .accent_word {
  color: #B41A61;
  display: block
}

.abt_us .ttl_desc {
  font-size: 18px;
  line-height: 1.7;
  color: #3d4d2c;
  margin: 0 0 40px;
  letter-spacing: .01em
}

.abt_us .ttl_actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.abt_us .btn_prim {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 7px;
  background: linear-gradient(112deg, #91C35B 0%, #91c35bb3 100%);
  color: #1b2e0a;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .01em;
  box-shadow: -1px 6px 25px 0 #91c35b14;
  transition: background .25s ease-out, box-shadow .2s ease-out
}

.abt_us .btn_prim:hover {
  background: linear-gradient(200deg, #91C35B 0%, #91c35bd9 100%);
  box-shadow: -1px 10px 60px 0 #91c35b1c
}

.abt_us .btn_prim:active {
  box-shadow: inset -1px 1px 3px 0 #91c35b2e
}

.abt_us .btn_prim:focus-visible {
  outline: 2px solid #B41A61;
  outline-offset: 3px
}

.abt_us .btn_sec {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 7px;
  background: transparent;
  color: #B41A61;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid #b41a6159;
  letter-spacing: .01em;
  transition: border-color .2s ease-out, background .18s ease-out
}

.abt_us .btn_sec:hover {
  background: #b41a610f;
  border-color: #B41A61
}

.abt_us .btn_sec:active {
  box-shadow: inset -1px 1px 3px 0 #b41a6126
}

.abt_us .btn_sec:focus-visible {
  outline: 2px solid #91C35B;
  outline-offset: 3px
}

.abt_us .ttl_img_zone {
  position: relative;
  padding: 24px 0 0;
  align-self: stretch;
  display: flex;
  align-items: flex-end
}

.abt_us .ttl_img_wrap {
  position: relative;
  width: 100%;
  border-radius: 7px 7px 0 0;
  overflow: hidden
}

.abt_us .ttl_img_wrap img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  border-radius: 7px 7px 0 0;
  transition: transform .45s ease-out
}

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

.abt_us .ttl_img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #91c35b73 0%, transparent 60%);
  border-radius: 7px 7px 0 0;
  transition: opacity .35s ease-out;
  pointer-events: none
}

.abt_us .ttl_img_wrap:hover .ttl_img_overlay {
  opacity: 0
}

.abt_us .ttl_deco {
  position: absolute;
  top: 40px;
  right: -16px;
  width: 120px;
  height: 120px;
  border-radius: 36px;
  background: #91c35b14;
  border: 2px solid #91c35b2e;
  pointer-events: none;
  z-index: 0
}

@keyframes letter_fall {
  from {
    opacity: 0;
    transform: translateY(-28px)
  }

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

.abt_us .ttl_h1 .drop_letter {
  display: inline-block;
  opacity: 0;
  animation: letter_fall .35s ease-out forwards
}

.abt_us .story_sec {
  position: relative;
  padding: 80px 0;
  overflow: hidden
}

.abt_us .story_bg {
  position: absolute;
  inset: 0;
  z-index: 0
}

.abt_us .story_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(18px) brightness(0.45);
  transform: scale(1.08)
}

.abt_us .story_bg_tint {
  position: absolute;
  inset: 0;
  background: #1b2e0ab8
}

.abt_us .story_fg {
  position: relative;
  z-index: 1
}

.abt_us .story_grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: start
}

.abt_us .story_left {
  text-align: center
}

.abt_us .story_num_bg {
  font-size: 72px;
  font-weight: 900;
  color: #91c35b1a;
  line-height: 1.2;
  letter-spacing: .02em;
  user-select: none;
  pointer-events: none;
  margin-bottom: -16px
}

.abt_us .story_h2 {
  font-size: 32px;
  font-weight: 800;
  color: #FCFDFA;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0 0 24px
}

.abt_us .story_h2 .accent_num {
  color: #91C35B
}

.abt_us .story_p {
  font-size: 18px;
  line-height: 1.7;
  color: #fcfdfad9;
  margin: 0 0 16px;
  letter-spacing: .01em;
  text-align: center
}

.abt_us .story_right {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.abt_us .story_card {
  background: #fcfdfa12;
  border: 1px solid #91c35b38;
  border-radius: 7px;
  padding: 24px;
  text-align: center;
  transition: background .2s ease-out, border-color .2s ease-out
}

.abt_us .story_card:hover {
  background: #fcfdfa1f;
  border-color: #91c35b80
}

.abt_us .story_card_icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.abt_us .story_card_h {
  font-size: 18px;
  font-weight: 700;
  color: #FCFDFA;
  margin: 0 0 8px;
  letter-spacing: .01em
}

.abt_us .story_card_p {
  font-size: 16px;
  line-height: 1.7;
  color: #fcfdfabf;
  margin: 0;
  letter-spacing: .01em
}

.abt_us .team_sec {
  padding: 80px 0 40px;
  background: #FCFDFA;
  position: relative
}

.abt_us .team_sec::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #b41a6133, transparent)
}

.abt_us .team_top {
  text-align: center;
  margin-bottom: 40px
}

.abt_us .team_num_bg {
  font-size: 72px;
  font-weight: 900;
  color: #b41a6112;
  line-height: 1.2;
  user-select: none;
  pointer-events: none;
  margin-bottom: -16px;
  letter-spacing: .02em
}

.abt_us .team_h2 {
  font-size: 32px;
  font-weight: 800;
  color: #1b2e0a;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0 0 16px
}

.abt_us .team_sub {
  font-size: 18px;
  line-height: 1.7;
  color: #3d4d2c;
  max-width: 600px;
  margin: 0 auto;
  letter-spacing: .01em
}

.abt_us .team_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px
}

.abt_us .team_card {
  border-radius: 7px;
  overflow: hidden;
  box-shadow: -1px 6px 25px 0 #91c35b14;
  background: #fff;
  transition: box-shadow .25s ease-out, transform .2s ease-out
}

.abt_us .team_card:hover {
  box-shadow: -1px 10px 60px 0 #91c35b1c;
  transform: translateY(-4px)
}

.abt_us .team_img_wrap {
  position: relative;
  overflow: hidden
}

.abt_us .team_img_wrap img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease-out
}

.abt_us .team_card:hover .team_img_wrap img {
  transform: scale(1.05)
}

.abt_us .team_img_tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #b41a6161 0%, transparent 55%);
  transition: opacity .35s ease-out;
  pointer-events: none
}

.abt_us .team_card:hover .team_img_tint {
  opacity: 0
}

.abt_us .team_card_body {
  padding: 16px 24px 24px;
  text-align: center
}

.abt_us .team_name {
  font-size: 18px;
  font-weight: 700;
  color: #1b2e0a;
  margin: 0 0 4px;
  letter-spacing: .01em
}

.abt_us .team_role {
  font-size: 16px;
  color: #B41A61;
  font-weight: 500;
  margin: 0 0 8px;
  letter-spacing: .01em
}

.abt_us .team_bio {
  font-size: 16px;
  line-height: 1.7;
  color: #4a5a38;
  margin: 0;
  letter-spacing: .01em
}

.abt_us .infograph {
  background: linear-gradient(112deg, #91c35b14 0%, #b41a610d 100%);
  border: 1px solid #91c35b33;
  border-radius: 7px;
  padding: 40px;
  margin-top: 40px
}

.abt_us .infograph_row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap
}

.abt_us .infograph_item {
  flex: 1 1 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px;
  position: relative;
  text-align: center
}

.abt_us .infograph_item+.infograph_item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 1px;
  background: #91c35b40
}

.abt_us .infograph_ico {
  width: 44px;
  height: 44px;
  border-radius: 36px;
  background: #91c35b26;
  display: flex;
  align-items: center;
  justify-content: center
}

.abt_us .infograph_val {
  font-size: 32px;
  font-weight: 900;
  color: #1b2e0a;
  line-height: 1.2;
  letter-spacing: .01em
}

.abt_us .infograph_val .accent_num {
  color: #B41A61
}

.abt_us .infograph_lbl {
  font-size: 16px;
  color: #4a5a38;
  line-height: 1.5;
  letter-spacing: .01em
}

.abt_us .appr_sec {
  padding: 80px 0;
  background: linear-gradient(160deg, #1b2e0a 0%, #2c4a12 100%);
  position: relative;
  overflow: hidden
}

.abt_us .appr_deco {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 280px;
  height: 280px;
  border-radius: 36px;
  border: 2px solid #91c35b1a;
  pointer-events: none;
  transform: rotate(22deg)
}

.abt_us .appr_deco2 {
  position: absolute;
  bottom: -24px;
  left: 80px;
  width: 140px;
  height: 140px;
  border-radius: 36px;
  border: 1.5px solid #b41a6126;
  pointer-events: none;
  transform: rotate(-14deg)
}

.abt_us .appr_sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 16px;
  background: linear-gradient(135deg, #FCFDFA 25%, transparent 25%) -16px 0, linear-gradient(225deg, #FCFDFA 25%, transparent 25%) -16px 0, linear-gradient(315deg, #FCFDFA 25%, transparent 25%), linear-gradient(45deg, #FCFDFA 25%, transparent 25%);
  background-size: 32px 16px;
  background-color: transparent;
  pointer-events: none
}

.abt_us .appr_top {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 1
}

.abt_us .appr_num_bg {
  font-size: 72px;
  font-weight: 900;
  color: #91c35b12;
  line-height: 1.2;
  user-select: none;
  pointer-events: none;
  margin-bottom: -16px;
  letter-spacing: .02em
}

.abt_us .appr_h2 {
  font-size: 32px;
  font-weight: 800;
  color: #FCFDFA;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0 0 16px
}

.abt_us .appr_sub {
  font-size: 18px;
  line-height: 1.7;
  color: #fcfdfacc;
  max-width: 580px;
  margin: 0 auto;
  letter-spacing: .01em
}

.abt_us .appr_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1
}

.abt_us .appr_item {
  background: #fcfdfa0d;
  border: 1px solid #91c35b2e;
  border-radius: 7px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-align: center;
  transition: background .22s ease-out, border-color .18s ease-out
}

.abt_us .appr_item:hover {
  background: #fcfdfa1a;
  border-color: #91c35b73
}

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

.abt_us .appr_ico_ring {
  width: 48px;
  height: 48px;
  border-radius: 36px;
  border: 1.5px solid #91c35b66;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #91c35b1a
}

.abt_us .appr_item_h {
  font-size: 18px;
  font-weight: 700;
  color: #FCFDFA;
  margin: 0;
  letter-spacing: .01em
}

.abt_us .appr_item_p {
  font-size: 16px;
  line-height: 1.7;
  color: #fcfdfabf;
  margin: 0;
  letter-spacing: .01em
}

.abt_us .counter_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 36px;
  background: #B41A61;
  color: #FCFDFA;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.2
}

.abt_us .appr_cta_row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
  position: relative;
  z-index: 1;
  flex-wrap: wrap
}

.abt_us .btn_light {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 7px;
  background: linear-gradient(112deg, #FCFDFA 0%, #fcfdfad9 100%);
  color: #1b2e0a;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .01em;
  box-shadow: -1px 1px 3px 0 #91c35b14;
  transition: background .22s ease-out, box-shadow .2s ease-out
}

.abt_us .btn_light:hover {
  background: linear-gradient(200deg, #FCFDFA 0%, #91c35b40 100%);
  box-shadow: -1px 10px 60px 0 #91c35b1c
}

.abt_us .btn_light:active {
  box-shadow: inset -1px 1px 3px 0 #91c35b33
}

.abt_us .btn_light:focus-visible {
  outline: 2px solid #91C35B;
  outline-offset: 3px
}

@media (max-width: 900px) {
  .abt_us .ttl_inner {
    grid-template-columns: 1fr
  }

  .abt_us .ttl_img_zone {
    display: none
  }

  .abt_us .ttl_text_zone {
    padding: 24px 0
  }

  .abt_us .story_grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

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

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

  .abt_us .ttl_h1 {
    font-size: 32px
  }
}

@media (max-width: 600px) {
  .abt_us .infograph_row {
    flex-direction: column
  }

  .abt_us .infograph_item+.infograph_item::before {
    display: none
  }

  .abt_us .ttl_actions {
    flex-direction: column
  }
}

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

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

.cont_us .pg_wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px
}

.cont_us .fade_in {
  opacity: 0;
  animation: fadeReveal .45s ease-out forwards
}

.cont_us .fade_in.d1 {
  animation-delay: .1s
}

.cont_us .fade_in.d2 {
  animation-delay: .2s
}

.cont_us .fade_in.d3 {
  animation-delay: .35s
}

@keyframes fadeReveal {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

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

.cont_us .sec_divider {
  border: none;
  border-top: 1px dotted #c8cfc0;
  margin: 0
}

.cont_us .reach_blk {
  padding: 80px 0 40px;
  background: #FCFDFA;
  position: relative
}

.cont_us .reach_blk::before {
  content: '';
  position: absolute;
  top: 40px;
  right: 80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 1px solid #91c35b1f;
  pointer-events: none
}

.cont_us .reach_blk::after {
  content: '';
  position: absolute;
  top: 20px;
  right: 60px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 1px solid #91c35b12;
  pointer-events: none
}

.cont_us .reach_inner {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 80px;
  align-items: start
}

.cont_us .reach_text_col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cont_us .bg_num {
  font-size: 72px;
  font-weight: 900;
  color: #91c35b14;
  line-height: 1.2;
  letter-spacing: -.02em;
  position: absolute;
  top: 60px;
  left: 24px;
  pointer-events: none;
  user-select: none
}

.cont_us .reach_label {
  font-size: 16px;
  letter-spacing: .02em;
  color: #91C35B;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px
}

.cont_us .reach_h {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1a2a10;
  margin: 0
}

.cont_us .reach_h span {
  display: block
}

.cont_us .reach_h .accent_line {
  background: linear-gradient(105deg, #91c35b59, transparent);
  padding: 0 4px;
  border-radius: 4px
}

.cont_us .reach_desc {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: .01em;
  color: #3a4a2e;
  margin: 0
}

.cont_us .img_col {
  position: relative
}

.cont_us .img_wrap {
  border-radius: 7px;
  overflow: hidden;
  position: relative;
  box-shadow: -1px 6px 25px 0 #91c35b14
}

.cont_us .img_wrap img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  filter: saturate(0.4) brightness(0.95);
  transition: filter .35s ease-out
}

.cont_us .img_wrap:hover img {
  filter: saturate(1) brightness(1)
}

.cont_us .img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #91c35b2e, transparent 70%);
  pointer-events: none;
  transition: opacity .35s ease-out
}

.cont_us .img_wrap:hover .img_overlay {
  opacity: 0
}

.cont_us .contact_cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 40px
}

.cont_us .c_card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid #e8ede0;
  border-top: 3px solid #91C35B;
  box-shadow: -1px 1px 3px 0 #91c35b14;
  transition: box-shadow .25s ease-out, border-color .2s ease-out
}

.cont_us .c_card:hover {
  box-shadow: -1px 6px 25px 0 #91c35b14;
  border-top-color: #B41A61
}

.cont_us .c_icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: #91c35b1a
}

.cont_us .c_icon svg {
  width: 18px;
  height: 18px
}

.cont_us .c_card_body {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.cont_us .c_lbl {
  font-size: 16px;
  font-weight: 700;
  color: #2a3a1e;
  letter-spacing: .01em;
  line-height: 1.2
}

.cont_us .c_val {
  font-size: 16px;
  color: #4a5a3e;
  line-height: 1.5;
  letter-spacing: .01em
}

.cont_us .c_val a {
  color: #B41A61;
  text-decoration: none;
  border-bottom: 1px solid #b41a6140;
  transition: border-color .2s ease-out, text-shadow .2s ease-out
}

.cont_us .c_val a:hover {
  border-color: #B41A61;
  text-shadow: 0 1px 4px #b41a612e
}

.cont_us .feed_blk {
  margin-top: 40px;
  padding: 24px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid #e8ede0;
  box-shadow: -1px 1px 3px 0 #91c35b14
}

.cont_us .feed_head {
  font-size: 16px;
  font-weight: 700;
  color: #2a3a1e;
  letter-spacing: .01em;
  margin: 0 0 16px;
  line-height: 1.2
}

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

.cont_us .feed_item {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start
}

.cont_us .feed_dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #91C35B;
  flex-shrink: 0;
  margin-top: 6px
}

.cont_us .feed_dot.alt {
  background: #B41A61
}

.cont_us .feed_body {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.cont_us .feed_time {
  font-size: 16px;
  color: #8a9a7e;
  letter-spacing: .01em;
  line-height: 1.2
}

.cont_us .feed_txt {
  font-size: 16px;
  color: #3a4a2e;
  line-height: 1.5;
  letter-spacing: .01em
}

.cont_us .form_blk {
  padding: 40px 0 80px;
  background: #fff;
  position: relative
}

.cont_us .form_blk::before {
  content: '';
  position: absolute;
  bottom: 60px;
  left: 40px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  border: 1px solid #b41a6114;
  pointer-events: none
}

.cont_us .form_blk::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 20px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 1px solid #b41a610d;
  pointer-events: none
}

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

.cont_us .form_aside {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 8px
}

.cont_us .form_aside_h {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1a2a10;
  margin: 0
}

.cont_us .form_aside_h .num_accent {
  color: #B41A61;
  font-size: 62px;
  line-height: 1;
  display: block;
  font-weight: 900
}

.cont_us .form_aside_p {
  font-size: 18px;
  line-height: 1.7;
  color: #3a4a2e;
  letter-spacing: .01em;
  margin: 0
}

.cont_us .form_aside_note {
  font-size: 16px;
  line-height: 1.5;
  color: #5a6a4e;
  letter-spacing: .01em;
  padding: 16px;
  border-left: 3px solid #91C35B;
  border-right: 1px solid #e8ede0;
  border-top: 1px solid #e8ede0;
  border-bottom: 1px solid #e8ede0;
  border-radius: 4px;
  background: #91c35b0a
}

.cont_us .form_aside_note strong {
  color: #2a3a1e
}

.cont_us .resp_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us .resp_list li {
  font-size: 16px;
  line-height: 1.5;
  color: #3a4a2e;
  letter-spacing: .01em;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.cont_us .resp_list li::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #91C35B;
  flex-shrink: 0
}

.cont_us .contact_form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 40px;
  border-radius: 7px;
  background: #FCFDFA;
  border: 1px solid #e0e8d8;
  box-shadow: -1px 10px 60px 0 #91c35b1c
}

.cont_us .form_row {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us .form_row label {
  font-size: 16px;
  font-weight: 600;
  color: #2a3a1e;
  letter-spacing: .01em;
  line-height: 1.5
}

.cont_us .form_row label span.req {
  color: #B41A61;
  margin-left: 4px
}

.cont_us .f_input {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #2a3a1e;
  background: #fff;
  border: 1px solid #c8d4b8;
  border-radius: 4px;
  outline: none;
  transition: border-color .2s ease-out, box-shadow .25s ease-out;
  appearance: none
}

.cont_us .f_input::placeholder {
  color: #9aaa8e
}

.cont_us .f_input:focus {
  border-color: #91C35B;
  box-shadow: 0 0 0 3px #91c35b1f
}

.cont_us textarea.f_input {
  resize: vertical;
  min-height: 100px
}

.cont_us .f_select {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #2a3a1e;
  background: #fff;
  border: 1px solid #c8d4b8;
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  transition: border-color .2s ease-out, box-shadow .25s ease-out;
  appearance: none;
  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='%2391C35B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px
}

.cont_us .f_select:focus {
  border-color: #91C35B;
  box-shadow: 0 0 0 3px #91c35b1f
}

.cont_us .cond_toggle {
  display: none
}

.cont_us .cond_trigger_lbl {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 16px;
  color: #3a4a2e;
  line-height: 1.5;
  letter-spacing: .01em;
  padding: 8px 0
}

.cont_us .cond_box {
  width: 18px;
  height: 18px;
  border: 2px solid #91C35B;
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s ease-out;
  position: relative
}

.cont_us .cond_toggle:checked+.cond_trigger_lbl .cond_box {
  background: #91C35B;
  box-shadow: inset 0 1px 3px #91c35b4d
}

.cont_us .cond_box::after {
  content: '';
  display: block;
  width: 5px;
  height: 9px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg) scaleY(0);
  transform-origin: bottom;
  transition: transform .15s ease-out;
  position: absolute;
  top: 1px
}

.cont_us .cond_toggle:checked+.cond_trigger_lbl .cond_box::after {
  transform: rotate(45deg) scaleY(1)
}

.cont_us .cond_field {
  display: none;
  flex-direction: column;
  gap: 8px
}

.cont_us .cond_toggle:checked~.cond_field {
  display: flex
}

.cont_us .priv_row {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us .priv_check_wrap {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.cont_us .priv_check {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #91C35B;
  cursor: pointer
}

.cont_us .priv_txt {
  font-size: 16px;
  line-height: 1.5;
  color: #4a5a3e;
  letter-spacing: .01em
}

.cont_us .priv_txt a {
  color: #B41A61;
  text-decoration: none;
  border-bottom: 1px solid #b41a614d;
  transition: border-color .2s ease-out, text-shadow .18s ease-out
}

.cont_us .priv_txt a:hover {
  border-color: #B41A61;
  text-shadow: 0 1px 4px #b41a612e
}

.cont_us .btn_submit {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 40px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.2;
  color: #fff;
  background: linear-gradient(120deg, #91C35B, #7aad47);
  border: none;
  border-radius: 36px;
  cursor: pointer;
  box-shadow: -1px 6px 25px 0 #91c35b14;
  transition: background .35s ease-out, box-shadow .25s ease-out, transform .15s ease-out;
  width: 100%
}

.cont_us .btn_submit:hover {
  background: linear-gradient(200deg, #91C35B, #7aad47);
  box-shadow: -1px 10px 60px 0 #91c35b1c;
  transform: translateY(-1px)
}

.cont_us .btn_submit:active {
  transform: translateY(0);
  box-shadow: inset 0 2px 6px #91c35b33 -1px 1px 3px 0 #91c35b14
}

.cont_us .btn_submit:focus-visible {
  outline: 2px solid #B41A61;
  outline-offset: 3px
}

.cont_us .btn_submit svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.cont_us .c_card:hover~.c_card,
.cont_us .c_card:has(~ .c_card:hover) {
  opacity: .6;
  filter: blur(0.5px);
  transition: opacity .25s ease-out, filter .25s ease-out
}

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

  .cont_us .img_col {
    display: none
  }

  .cont_us .form_layout {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .cont_us .contact_form {
    padding: 24px
  }
}

@media (max-width: 600px) {
  .cont_us .reach_blk {
    padding: 40px 0 24px
  }

  .cont_us .form_blk {
    padding: 24px 0 40px
  }

  .cont_us .reach_h {
    font-size: 24px
  }

  .cont_us .form_aside_h {
    font-size: 24px
  }

  .cont_us .form_aside_h .num_accent {
    font-size: 32px
  }
}

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

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

.strt .pg_wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px
}

.strt .ttl_blk {
  position: relative;
  padding: 80px 24px;
  background: #FCFDFA;
  text-align: center;
  overflow: hidden
}

.strt .ttl_blk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 40%, #91c35b21 0%, transparent 70%);
  pointer-events: none
}

.strt .ttl_bg_num {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 280px;
  font-weight: 900;
  color: #91c35b0f;
  line-height: 1.2;
  letter-spacing: -.02em;
  pointer-events: none;
  user-select: none;
  white-space: nowrap
}

.strt .ttl_img_wrap {
  position: relative;
  width: 100%;
  max-width: 680px;
  margin: 0 auto 40px;
  border-radius: 7px;
  overflow: hidden
}

.strt .ttl_img_wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  border-radius: 7px;
  filter: saturate(0.7);
  transition: filter .35s ease-out
}

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

.strt .ttl_img_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 100%, #14141e73 0%, transparent 65%), radial-gradient(ellipse at 50% 0%, #14141e4d 0%, transparent 55%);
  border-radius: 7px;
  pointer-events: none
}

.strt .ttl_eye {
  display: inline-block;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #91C35B;
  border-bottom: 2px solid #91C35B;
  padding-bottom: 4px;
  margin-bottom: 16px
}

.strt .ttl_h1 {
  font-size: 62px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1e2318;
  margin: 0 auto 16px;
  max-width: 860px;
  font-weight: 800
}

.strt .ttl_h1 span {
  color: #91C35B
}

.strt .nums_sec {
  padding: 80px 24px;
  background: #1e2318;
  position: relative;
  overflow: hidden
}

.strt .nums_sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 100%;
  background: linear-gradient(135deg, #91c35b17 0%, transparent 100%);
  pointer-events: none
}

.strt .nums_grid {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 4px
}

.strt .num_card {
  padding: 40px 24px;
  border-radius: 4px;
  text-align: center;
  background: #91c35b0d;
  border: 1px solid #91c35b1f;
  transition: background .25s ease-out, border-color .2s ease-out
}

.strt .num_card:hover {
  background: #91c35b1c;
  border-color: #91c35b47
}

.strt .num_big {
  font-size: 62px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #91C35B;
  display: block
}

.strt .num_big em {
  font-style: normal;
  color: #B41A61
}

.strt .num_lbl {
  font-size: 16px;
  line-height: 1.5;
  color: #fcfdfab3;
  margin-top: 8px;
  display: block;
  letter-spacing: .02em
}

.strt .nums_head {
  text-align: center;
  margin-bottom: 40px
}

.strt .nums_head h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #FCFDFA;
  letter-spacing: .01em;
  margin: 0;
  font-weight: 700
}

.strt .sup_sec {
  padding: 80px 24px;
  background: #FCFDFA;
  position: relative
}

.strt .sup_sec::after {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(to right, transparent, #91C35B 40%, #B41A61 100%);
  margin-top: 80px;
  border-radius: 4px
}

.strt .sup_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.strt .sup_txt h2 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1e2318;
  margin: 0 0 16px;
  font-weight: 700
}

.strt .sup_txt h2 strong {
  color: #B41A61
}

.strt .sup_txt p {
  font-size: 18px;
  line-height: 1.7;
  color: #2e3828;
  margin: 0 0 16px;
  letter-spacing: .01em
}

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

.strt .sup_item {
  padding: 24px;
  border-radius: 7px;
  background: #FCFDFA;
  border: 1px solid #91c35b33;
  border-left: 4px solid #91C35B;
  box-shadow: -1px 1px 3px 0 #91c35b14;
  transition: box-shadow .2s ease-out, border-left-color .18s ease-out
}

.strt .sup_item:hover {
  box-shadow: -1px 6px 25px 0 #91c35b14;
  border-left-color: #B41A61
}

.strt .sup_item h5 {
  font-size: 18px;
  line-height: 1.5;
  color: #1e2318;
  margin: 0 0 8px;
  font-weight: 700;
  letter-spacing: .01em
}

.strt .sup_item p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4233;
  margin: 0;
  letter-spacing: .01em
}

.strt .sup_img_wrap {
  border-radius: 7px;
  overflow: hidden;
  box-shadow: -1px 10px 60px 0 #91c35b1c
}

.strt .sup_img_wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  filter: saturate(0.65);
  transition: filter .4s ease-out
}

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

.strt .team_sec {
  padding: 80px 24px;
  background: linear-gradient(155deg, #1e2318 52%, #2a3320 100%);
  position: relative;
  overflow: hidden
}

.strt .team_bg_num {
  position: absolute;
  bottom: -40px;
  right: -20px;
  font-size: 260px;
  font-weight: 900;
  color: #91c35b0a;
  line-height: 1;
  pointer-events: none;
  user-select: none
}

.strt .team_inner {
  max-width: 1320px;
  margin: 0 auto
}

.strt .team_hd {
  margin-bottom: 40px;
  text-align: center
}

.strt .team_hd h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #FCFDFA;
  letter-spacing: .01em;
  margin: 0 0 8px;
  font-weight: 700
}

.strt .team_hd p {
  font-size: 18px;
  line-height: 1.5;
  color: #fcfdfaa6;
  margin: 0;
  letter-spacing: .01em
}

.strt .team_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.strt .team_card {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  padding: 24px;
  border-radius: 7px;
  background: #fcfdfa0a;
  border: 1px solid #91c35b24;
  transition: background .22s ease-out
}

.strt .team_card:hover {
  background: #fcfdfa14
}

.strt .team_card_img {
  width: 90px;
  height: 90px;
  border-radius: 36px;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid #91c35b4d
}

.strt .team_card_img img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  display: block;
  filter: saturate(0.6);
  transition: filter .3s ease-out
}

.strt .team_card:hover .team_card_img img {
  filter: saturate(1)
}

.strt .team_card_body h4 {
  font-size: 18px;
  line-height: 1.5;
  color: #FCFDFA;
  margin: 0 0 4px;
  font-weight: 700;
  letter-spacing: .01em
}

.strt .team_card_body .role_tag {
  font-size: 16px;
  color: #91C35B;
  letter-spacing: .02em;
  display: block;
  margin-bottom: 8px
}

.strt .team_card_body p {
  font-size: 16px;
  line-height: 1.7;
  color: #fcfdfaa6;
  margin: 0;
  letter-spacing: .01em
}

.strt .grad_sec {
  padding: 80px 24px;
  background: #FCFDFA;
  position: relative
}

.strt .grad_inner {
  max-width: 1320px;
  margin: 0 auto
}

.strt .grad_hd {
  text-align: center;
  margin-bottom: 40px
}

.strt .grad_hd h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #1e2318;
  letter-spacing: .01em;
  margin: 0 0 8px;
  font-weight: 700
}

.strt .grad_hd p {
  font-size: 18px;
  line-height: 1.5;
  color: #3a4233;
  margin: 0;
  letter-spacing: .01em
}

.strt .grad_layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px
}

.strt .grad_item {
  padding: 40px 24px;
  border-radius: 7px;
  text-align: center;
  position: relative;
  background: #FCFDFA;
  border: 1px solid #b41a611f;
  box-shadow: -1px 1px 3px 0 #b41a6114;
  transition: box-shadow .28s ease-out, transform .22s ease-out;
  overflow: hidden
}

.strt .grad_item:hover {
  box-shadow: -1px 6px 25px 0 #b41a6114;
  transform: translateY(-4px)
}

.strt .grad_num_bg {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 120px;
  font-weight: 900;
  color: #91c35b12;
  line-height: 1;
  pointer-events: none;
  user-select: none
}

.strt .grad_item h4 {
  font-size: 18px;
  line-height: 1.5;
  color: #1e2318;
  margin: 0 0 8px;
  font-weight: 700;
  letter-spacing: .01em;
  position: relative
}

.strt .grad_item p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4233;
  margin: 0;
  letter-spacing: .01em;
  position: relative
}

.strt .curr_sec {
  padding: 80px 24px;
  position: relative;
  overflow: hidden
}

.strt .curr_sec::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(128deg, #2a3320 0%, #1e2318 55%, #2e1a28 100%);
  pointer-events: none
}

.strt .curr_inner {
  max-width: 1320px;
  margin: 0 auto;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.strt .curr_img_wrap {
  border-radius: 7px;
  overflow: hidden;
  box-shadow: -1px 10px 60px 0 #b41a611c
}

.strt .curr_img_wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  filter: saturate(0.55);
  transition: filter .38s ease-out
}

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

.strt .curr_txt h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #FCFDFA;
  letter-spacing: .01em;
  margin: 0 0 16px;
  font-weight: 700
}

.strt .curr_txt h2 span {
  color: #B41A61
}

.strt .curr_txt p {
  font-size: 18px;
  line-height: 1.7;
  color: #fcfdfab8;
  margin: 0 0 16px;
  letter-spacing: .01em
}

.strt .curr_tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px
}

.strt .curr_tag {
  padding: 8px 16px;
  border-radius: 36px;
  border: 1px solid #91c35b4d;
  font-size: 16px;
  color: #91C35B;
  letter-spacing: .02em;
  background: #91c35b12;
  transition: background .18s ease-out, border-color .15s ease-out
}

.strt .curr_tag:hover {
  background: #91c35b26;
  border-color: #91c35b8c
}

.strt .rev_sec {
  padding: 80px 24px;
  background: #FCFDFA
}

.strt .rev_inner {
  max-width: 1320px;
  margin: 0 auto
}

.strt .rev_hd {
  text-align: center;
  margin-bottom: 40px
}

.strt .rev_hd h2 {
  font-size: 32px;
  line-height: 1.2;
  color: #1e2318;
  letter-spacing: .01em;
  margin: 0;
  font-weight: 700
}

.strt .rev_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px
}

.strt .rev_card {
  padding: 24px;
  border-radius: 7px;
  background: #FCFDFA;
  border: 1px solid #91c35b26;
  box-shadow: -1px 1px 3px 0 #91c35b14;
  transition: box-shadow .25s ease-out;
  position: relative
}

.strt .rev_card:hover {
  box-shadow: -1px 6px 25px 0 #91c35b14
}

.strt .rev_card::before {
  content: '';
  display: block;
  width: 32px;
  height: 3px;
  background: linear-gradient(90deg, #91C35B, transparent);
  border-radius: 4px;
  margin-bottom: 16px
}

.strt .rev_card blockquote {
  margin: 0 0 16px;
  padding: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #2e3828;
  letter-spacing: .01em;
  font-style: normal
}

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

.strt .rev_name {
  font-size: 16px;
  font-weight: 700;
  color: #1e2318;
  letter-spacing: .01em
}

.strt .rev_detail {
  font-size: 16px;
  color: #B41A61;
  letter-spacing: .01em
}

.strt .div_line {
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, transparent 0%, #91c35b4d 30%, #91C35B 60%, #B41A61 100%);
  border: none;
  margin: 0
}

@keyframes sat_cycle {
  0% {
    filter: saturate(1)
  }

  50% {
    filter: saturate(0.82)
  }

  100% {
    filter: saturate(1)
  }
}

.strt .nums_sec {
  animation: sat_cycle 9s ease-out infinite
}

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

  .strt .sup_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .strt .sup_img_wrap {
    display: none
  }

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

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

  .strt .curr_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .strt .curr_img_wrap {
    display: none
  }

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

  .strt .ttl_h1 {
    font-size: 32px
  }
}

@media (max-width: 600px) {
  .strt .nums_grid {
    grid-template-columns: 1fr
  }

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

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

  .strt .team_card {
    flex-direction: column
  }

  .strt .ttl_img_wrap {
    display: none
  }

  .strt .ttl_h1 {
    font-size: 32px
  }

  .strt .num_big {
    font-size: 32px
  }
}

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

.success_page .card_wrap {
  max-width: 560px;
  width: 100%;
  background: #fff;
  border-radius: 7px;
  box-shadow: -1px 10px 60px 0 #91c35b1c;
  padding: 40px;
  text-align: center;
  position: relative
}

.success_page .icon_check {
  width: 56px;
  height: 56px;
  margin: 0 auto 24px;
  display: block
}

.success_page .icon_check circle {
  fill: none;
  stroke: #91C35B;
  stroke-width: 2.5;
  transition: stroke-dashoffset .45s ease-out
}

.success_page .icon_check polyline {
  fill: none;
  stroke: #91C35B;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round
}

.success_page .success_label {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .02em;
  color: #91C35B;
  margin: 0 0 8px;
  line-height: 1.2
}

.success_page .main_heading {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #1b2a10;
  margin: 0 0 16px
}

.success_page .desc_text {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: .01em;
  color: #3a3a3a;
  margin: 0 0 40px
}

.success_page .divider_line {
  width: 48px;
  height: 3px;
  background: linear-gradient(120deg, #91C35B, transparent);
  border-radius: 4px;
  margin: 0 auto 40px
}

.success_page .info_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px
}

.success_page .info_item {
  background: #FCFDFA;
  border: 1px solid #91c35b40;
  border-radius: 4px;
  padding: 16px 24px;
  flex: 1 1 160px;
  min-width: 140px
}

.success_page .info_item .item_label {
  font-size: 16px;
  color: #6a7a5a;
  letter-spacing: .02em;
  line-height: 1.5;
  margin: 0 0 4px;
  display: block
}

.success_page .info_item .item_val {
  font-size: 16px;
  font-weight: 600;
  color: #1b2a10;
  letter-spacing: .01em;
  line-height: 1.5;
  margin: 0
}

.success_page .back_btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: linear-gradient(120deg, #91C35B, #7aad45);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.2;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: -1px 6px 25px 0 #91c35b14;
  transition: background .25s ease-out, box-shadow .2s ease-out
}

.success_page .back_btn:hover {
  background: linear-gradient(200deg, #91C35B, #7aad45);
  box-shadow: -1px 10px 60px 0 #91c35b1c
}

.success_page .back_btn:active {
  box-shadow: inset -1px 1px 3px 0 #91c35b14
}

.success_page .back_btn:focus-visible {
  outline: 2px solid #B41A61;
  outline-offset: 3px
}

.success_page .btn_arrow {
  width: 16px;
  height: 16px;
  display: block;
  flex-shrink: 0
}

.success_page .contact_note {
  margin-top: 24px;
  font-size: 16px;
  color: #6a7a5a;
  line-height: 1.5;
  letter-spacing: .01em
}

.success_page .contact_note a {
  color: #B41A61;
  text-decoration: none;
  border-bottom: 1px solid #b41a614d;
  transition: border-color .2s ease-out, text-shadow .15s ease-out
}

.success_page .contact_note a:hover {
  border-color: #B41A61;
  text-shadow: 0 1px 6px #b41a612e
}

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

  .success_page .main_heading {
    font-size: 24px
  }

  .success_page .info_row {
    flex-direction: column
  }
}