html {
  box-sizing: border-box;
}

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

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

.hd {
  background: linear-gradient(135deg, #ffffff 0%, #DCDDC3 60%, #D6D7B8 100%);
  border-bottom: 2px solid #B48C2F;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  padding: 0;
}

.hd_top_bar {
  background: #B48C2F;
  padding: 8px 24px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 24px;
}

.hd_contact_item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.18s ease-out, opacity 0.15s ease;
}

.hd_contact_item:hover {
  opacity: 0.82;
}

.hd_contact_item i {
  font-size: 17px;
}

.hd_contact_sep {
  width: 1px;
  height: 16px;
  background: rgba(255, 255, 255, 0.35);
}

.hd_main_row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 24px 40px;
  display: flex;
  align-items: center;
  gap: 40px;
}

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

.hd_logo_box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 64px;
  background: #ffffff;
  border-radius: 14px;
  border: 1.5px solid #D6D7B8;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07), 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  padding: 8px;
}

.hd_logo_img {
  width: 100%;
  height: 55px;
  object-fit: contain;
}

.hd_logo_divider {
  width: 1.5px;
  height: 48px;
  background: linear-gradient(to bottom, #B48C2F 30%, #B48C2F 70%);
  flex-shrink: 0;
}

.hd_nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

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

.hd_nav_links li a {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: #2a2318;
  text-decoration: none;
  padding: 8px 24px;
  border-radius: 38px;
  border: 1.5px solid transparent;
  display: block;
  transition: border-color 0.18s ease-out, color 0.15s ease-out, background 0.18s ease-out;
  white-space: nowrap;
}

.hd_nav_links li a:hover {
  border-color: #B48C2F;
  color: #B48C2F;
  background: rgba(180, 140, 47, 0.06);
}

.hd_nav_links li a:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(180, 140, 47, 0.35);
  border-color: #B48C2F;
}

.hd_action_btn {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  color: #ffffff;
  background: #B48C2F;
  text-decoration: none;
  padding: 8px 24px;
  border-radius: 5px;
  border: 2px solid #B48C2F;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  flex-shrink: 0;
  min-height: 44px;
  transition: border-color 0.2s ease-out, background 0.18s ease-out;
}

.hd_action_btn:hover {
  border-color: #8a6a22;
  background: #a07c28;
}

.hd_action_btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(180, 140, 47, 0.4);
}

@media (max-width: 1024px) {
  .hd_main_row {
    padding: 24px;
    gap: 24px;
  }

  .hd_nav_links li a {
    padding: 8px 16px;
  }
}

@media (max-width: 768px) {
  .hd_top_bar {
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
  }

  .hd_main_row {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    gap: 24px;
  }

  .hd_logo_divider {
    display: none;
  }

  .hd_nav {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 320px) {
  .hd_top_bar {
    padding: 8px;
  }

  .hd_contact_item span {
    display: none;
  }

  .hd_main_row {
    padding: 8px;
  }
}

.ft {
  background: linear-gradient(160deg, #2a2318 0%, #1e1a10 100%);
  border-top: 2px solid #B48C2F;
  padding: 80px 0 0 0;
}

.ft_grid {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
}

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

.ft_logo_box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 58px;
  background: #ffffff;
  border-radius: 14px;
  border: 1.5px solid #D6D7B8;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07), 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
  padding: 8px;
}

.ft_logo_img {
  width: 100%;
  height: 50px;
  object-fit: contain;
}

.ft_brand_tagline {
  font-family: 'Roboto', sans-serif;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.1;
  color: #B48C2F;
  font-style: italic;
}

.ft_brand_desc {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #DCDDC3;
}

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

.ft_col_label {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  color: #B48C2F;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid rgba(180, 140, 47, 0.3);
  padding-bottom: 8px;
}

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

.ft_link_list li a {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: #DCDDC3;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.18s ease-out;
  padding: 8px 0;
  min-height: 44px;
}

.ft_link_list li a:hover {
  color: #B48C2F;
}

.ft_link_list li a:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(180, 140, 47, 0.35);
  border-radius: 5px;
}

.ft_link_list li a i {
  font-size: 17px;
  color: #B48C2F;
  flex-shrink: 0;
}

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

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

.ft_contact_entry {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.ft_contact_entry i {
  font-size: 17px;
  color: #B48C2F;
  flex-shrink: 0;
  margin-top: 2px;
}

.ft_contact_text {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #DCDDC3;
  text-decoration: none;
  transition: color 0.15s ease-out;
}

a.ft_contact_text:hover {
  color: #B48C2F;
}

a.ft_contact_text:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(180, 140, 47, 0.35);
  border-radius: 5px;
}

.ft_bottom_bar {
  margin-top: 80px;
  border-top: 1px solid rgba(180, 140, 47, 0.2);
  padding: 24px 40px;
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.ft_bottom_outer {
  border-top: 1px solid rgba(180, 140, 47, 0.15);
  margin-top: 80px;
}

.ft_copyright {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: rgba(220, 221, 195, 0.6);
}

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

.ft_legal_links li a {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: rgba(220, 221, 195, 0.6);
  text-decoration: none;
  transition: color 0.18s ease-out;
  padding: 8px 0;
  min-height: 44px;
  display: inline-block;
}

.ft_legal_links li a:hover {
  color: #B48C2F;
}

.ft_legal_links li a:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(180, 140, 47, 0.35);
  border-radius: 5px;
}

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

  .ft_brand_col {
    grid-column: 1 / -1;
  }

  .ft_bottom_bar {
    padding: 24px;
  }
}

@media (max-width: 768px) {
  .ft {
    padding: 40px 0 0 0;
  }

  .ft_grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 0 24px;
  }

  .ft_brand_col {
    grid-column: auto;
  }

  .ft_bottom_outer {
    margin-top: 40px;
  }

  .ft_bottom_bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    gap: 24px;
  }
}

@media (max-width: 320px) {
  .ft_grid {
    padding: 0 8px;
  }

  .ft_bottom_bar {
    padding: 8px;
  }
}

.ck_bar {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 8000;
  background: #ffffff;
  border-bottom: 2px solid #B48C2F;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  transform: translateX(-100%);
  transition: transform 0.22s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ck_bar.ck_visible {
  transform: translateX(0);
}

.ck_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 24px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.ck_icon_area {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: rgba(180, 140, 47, 0.1);
  border-radius: 14px;
  flex-shrink: 0;
}

.ck_icon_area i {
  font-size: 27px;
  color: #B48C2F;
}

.ck_msg {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #2a2318;
  flex: 1;
  min-width: 200px;
}

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

.ck_accept {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  color: #ffffff;
  background: #B48C2F;
  border: 2px solid #B48C2F;
  border-radius: 5px;
  padding: 8px 24px;
  cursor: pointer;
  min-height: 44px;
  min-width: 120px;
  transition: border-color 0.2s ease-out, background 0.18s ease-out;
}

.ck_accept:hover {
  border-color: #8a6a22;
  background: #a07c28;
}

.ck_accept:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(180, 140, 47, 0.4);
}

.ck_decline {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  color: #2a2318;
  background: transparent;
  border: 2px solid #D6D7B8;
  border-radius: 5px;
  padding: 8px 24px;
  cursor: pointer;
  min-height: 44px;
  min-width: 120px;
  transition: border-color 0.2s ease-out, color 0.18s ease-out;
}

.ck_decline:hover {
  border-color: #B48C2F;
  color: #B48C2F;
}

.ck_decline:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(180, 140, 47, 0.35);
}

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

  .ck_btns {
    width: 100%;
  }

  .ck_accept,
  .ck_decline {
    flex: 1;
  }
}

@media (max-width: 320px) {
  .ck_inner {
    padding: 8px;
  }
}

.info-policy {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2a2118;
}

.info-policy h1 {
  font-size: 51px;
  line-height: 1.1;
  color: #1e1710;
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 2px solid #B48C2F;
}

.info-policy h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #1e1710;
  margin-top: 80px;
  margin-bottom: 24px;
}

.info-policy h3 {
  font-size: 27px;
  line-height: 1.4;
  color: #2a2118;
  margin-top: 40px;
  margin-bottom: 24px;
}

.info-policy h4 {
  font-size: 17px;
  line-height: 1.4;
  color: #2a2118;
  margin-top: 40px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.info-policy h5 {
  font-size: 15px;
  line-height: 1.4;
  color: #3a2e1f;
  margin-top: 24px;
  margin-bottom: 8px;
  font-weight: 700;
}

.info-policy h6 {
  font-size: 15px;
  line-height: 1.4;
  color: #5a4e3a;
  margin-top: 24px;
  margin-bottom: 8px;
  font-weight: 600;
  font-style: italic;
}

.info-policy p {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2118;
  margin-bottom: 24px;
  max-width: 72ch;
}

.info-policy hr {
  border: none;
  border-top: 1px solid #DCDDC3;
  margin-top: 40px;
  margin-bottom: 40px;
}

.info-policy div {
  font-size: 17px;
  line-height: 1.6;
  color: #2a2118;
}

.info-policy table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 24px;
  margin-bottom: 40px;
  font-size: 15px;
  line-height: 1.6;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.info-policy thead {
  background-color: #B48C2F;
}

.info-policy thead tr {
  border-bottom: none;
}

.info-policy thead th {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  padding: 24px;
  text-align: left;
  border: none;
}

.info-policy tbody {
  background-color: #fff;
}

.info-policy tbody tr {
  border-bottom: 1px solid #D6D7B8;
  transition: background-color 0.15s ease-out;
}

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

.info-policy tbody tr:hover {
  background-color: #f7f7ef;
}

.info-policy td {
  padding: 24px;
  font-size: 15px;
  line-height: 1.6;
  color: #2a2118;
  vertical-align: top;
  border: none;
}

@media (max-width: 1024px) {
  .info-policy {
    padding: 80px 40px;
  }

  .info-policy h1 {
    font-size: 37px;
  }

  .info-policy h2 {
    font-size: 27px;
  }
}

@media (max-width: 768px) {
  .info-policy {
    padding: 40px 24px;
  }

  .info-policy h1 {
    font-size: 27px;
    margin-bottom: 24px;
    padding-bottom: 24px;
  }

  .info-policy h2 {
    font-size: 27px;
    margin-top: 40px;
  }

  .info-policy h3 {
    font-size: 17px;
    margin-top: 24px;
  }

  .info-policy table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 5px;
  }

  .info-policy p {
    max-width: 100%;
  }
}

@media (max-width: 320px) {
  .info-policy {
    padding: 24px 8px;
  }

  .info-policy h1 {
    font-size: 27px;
  }

  .info-policy thead th,
  .info-policy td {
    padding: 8px;
  }
}

.lrn_dtl {
  background: #fff;
  overflow-x: clip;
}

.lrn_dtl .pg_top {
  padding: 80px 24px 40px;
  background: radial-gradient(circle at 100% 100%, #DCDDC3 0% 60%);
  position: relative;
}

.lrn_dtl .pg_top::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #B48C2F 40%);
}

.lrn_dtl .pg_top_in {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: start;
}

.lrn_dtl .pg_img_col {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  margin-top: 40px;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
}

.lrn_dtl .pg_img_col img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.lrn_dtl .pg_img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, rgba(180, 140, 47, 0.38) 0% 60%);
  pointer-events: none;
}

.lrn_dtl .pg_txt_col {
  padding-top: 8px;
}

.lrn_dtl .pg_badge_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.lrn_dtl .pg_badge {
  font-size: 15px;
  line-height: 1.4;
  color: #5a4a1a;
  background: #DCDDC3;
  border-radius: 38px;
  padding: 8px 24px;
  border: 1px solid #B48C2F;
}

.lrn_dtl .pg_badge.seats {
  background: #fff;
  border-color: #B48C2F;
  color: #B48C2F;
}

.lrn_dtl .pg_h1 {
  font-size: 51px;
  line-height: 1.1;
  color: #2a1f00;
  margin: 0 0 24px;
  font-weight: 700;
}

.lrn_dtl .pg_h1 .grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F 0%, #8a6a20 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lrn_dtl .pg_meta_strip {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding: 24px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #DCDDC3;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
}

.lrn_dtl .pg_meta_item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lrn_dtl .pg_meta_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #8a7a55;
}

.lrn_dtl .pg_meta_val {
  font-size: 27px;
  line-height: 1.1;
  color: #2a1f00;
  font-weight: 700;
}

.lrn_dtl .pg_meta_val.price_val {
  color: #B48C2F;
}

.lrn_dtl .pg_meta_divider {
  width: 1px;
  height: 40px;
  background: #DCDDC3;
}

.lrn_dtl .pg_like_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
}

.lrn_dtl .pg_like_btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid #DCDDC3;
  border-radius: 38px;
  padding: 8px 24px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.4;
  color: #5a4a1a;
  transition: border-color 0.15s ease-out, color 0.15s ease-out;
}

.lrn_dtl .pg_like_btn:hover {
  border-color: #B48C2F;
  color: #B48C2F;
}

.lrn_dtl .pg_like_btn:focus {
  outline: 2px solid #B48C2F;
  outline-offset: 2px;
}

.lrn_dtl .pg_like_btn .f7-icons {
  font-size: 17px;
}

.lrn_dtl .pg_enroll_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #B48C2F;
  color: #fff;
  border: 2px solid #B48C2F;
  border-radius: 5px;
  padding: 24px 40px;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  text-decoration: none !important;
  cursor: pointer;
  transition: border-color 0.18s ease-out, background 0.18s ease-out;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.lrn_dtl .pg_enroll_btn:hover {
  border-color: #8a6a20;
  background: #a07c28;
}

.lrn_dtl .pg_enroll_btn:focus {
  outline: 2px solid #2a1f00;
  outline-offset: 3px;
}

.lrn_dtl .pg_wave_divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.lrn_dtl .pg_wave_divider svg {
  display: block;
  width: 100%;
}

.lrn_dtl .pg_top_corners {
  position: absolute;
  top: 24px;
  left: 24px;
  pointer-events: none;
  opacity: 0.18;
}

.lrn_dtl .pg_top_corners rect {
  fill: none;
  stroke: #B48C2F;
  stroke-width: 1;
}

.lrn_dtl .desc_sec {
  padding: 80px 24px;
  background: #fff;
  position: relative;
}

.lrn_dtl .desc_sec_in {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: start;
}

.lrn_dtl .desc_main {
  font-size: 17px;
  line-height: 1.6;
  color: #2a1f00;
}

.lrn_dtl .desc_main h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a1f00;
  font-weight: 700;
  margin: 0 0 24px;
  position: relative;
  display: inline-block;
}

.lrn_dtl .desc_main h2::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.5s 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes underline_draw {
  to {
    width: 100%;
  }
}

.lrn_dtl .desc_main p {
  margin: 0 0 24px;
  color: #3a2f10;
}

.lrn_dtl .desc_main ul {
  margin: 0 0 24px;
  padding-left: 24px;
}

.lrn_dtl .desc_main ul li {
  margin-bottom: 8px;
  color: #3a2f10;
}

.lrn_dtl .desc_main small {
  font-size: 15px;
  color: #8a7a55;
}

.lrn_dtl .desc_main mark {
  background: #DCDDC3;
  color: #2a1f00;
  border-radius: 5px;
  padding: 0 8px;
}

.lrn_dtl .desc_main figure {
  margin: 24px 0;
  border-radius: 14px;
  overflow: hidden;
}

.lrn_dtl .desc_main figcaption {
  font-size: 15px;
  color: #8a7a55;
  margin-top: 8px;
}

.lrn_dtl .desc_main details {
  border: 1px solid #DCDDC3;
  border-radius: 5px;
  padding: 8px 24px;
  margin-bottom: 8px;
}

.lrn_dtl .desc_main summary {
  cursor: pointer;
  font-weight: 600;
  color: #2a1f00;
  padding: 8px 0;
}

.lrn_dtl .desc_side {
  position: sticky;
  top: 24px;
}

.lrn_dtl .desc_side_card {
  background: radial-gradient(circle at 100% 100%, #DCDDC3 0% 55%);
  border: 1px solid #D6D7B8;
  border-radius: 14px;
  padding: 40px;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.lrn_dtl .desc_side_card h4 {
  font-size: 17px;
  line-height: 1.4;
  color: #8a7a55;
  font-weight: 600;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lrn_dtl .desc_side_price {
  font-size: 51px;
  line-height: 1.1;
  color: #B48C2F;
  font-weight: 700;
  margin-bottom: 24px;
}

.lrn_dtl .desc_side_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #3a2f10;
}

.lrn_dtl .desc_side_row .f7-icons {
  font-size: 17px;
  color: #B48C2F;
}

.lrn_dtl .desc_side_enroll {
  display: block;
  width: 100%;
  text-align: center;
  background: #B48C2F;
  color: #fff;
  border: 2px solid #B48C2F;
  border-radius: 5px;
  padding: 24px;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  text-decoration: none !important;
  margin-top: 24px;
  transition: border-color 0.18s ease-out, background 0.18s ease-out;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.lrn_dtl .desc_side_enroll:hover {
  border-color: #8a6a20;
  background: #a07c28;
}

.lrn_dtl .desc_side_enroll:focus {
  outline: 2px solid #2a1f00;
  outline-offset: 3px;
}

.lrn_dtl .desc_side_ghost {
  display: block;
  width: 100%;
  text-align: center;
  background: none;
  color: #B48C2F;
  border: 2px solid #B48C2F;
  border-radius: 5px;
  padding: 24px;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  text-decoration: none !important;
  margin-top: 8px;
  cursor: pointer;
  transition: border-color 0.12s ease-out, color 0.12s ease-out;
}

.lrn_dtl .desc_side_ghost:hover {
  border-color: #8a6a20;
  color: #8a6a20;
}

.lrn_dtl .desc_side_ghost:focus {
  outline: 2px solid #B48C2F;
  outline-offset: 2px;
}

.lrn_dtl .desc_sep {
  height: 1px;
  background: #D6D7B8;
  margin: 24px 0;
}

.lrn_dtl .err_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #8a7a55;
  text-decoration: none !important;
  margin-top: 24px;
  transition: color 0.12s ease-out;
}

.lrn_dtl .err_link:hover {
  color: #B48C2F;
}

.lrn_dtl .err_link .f7-icons {
  font-size: 15px;
}

.lrn_dtl .prog_sec {
  padding: 80px 24px;
  background: radial-gradient(circle at 100% 0%, #D6D7B8 0% 50%);
  position: relative;
  overflow: hidden;
}

.lrn_dtl .prog_sec_bg_pattern {
  position: absolute;
  top: 0;
  right: 0;
  width: 220px;
  height: 220px;
  pointer-events: none;
  opacity: 0.13;
}

.lrn_dtl .prog_sec_in {
  max-width: 1170px;
  margin: 0 auto;
}

.lrn_dtl .prog_sec_hd {
  margin-bottom: 40px;
}

.lrn_dtl .prog_sec_hd h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a1f00;
  font-weight: 700;
  margin: 0 0 8px;
  position: relative;
  display: inline-block;
}

.lrn_dtl .prog_sec_hd h2::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.5s 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.lrn_dtl .prog_sec_hd p {
  font-size: 17px;
  line-height: 1.6;
  color: #5a4a1a;
  margin: 8px 0 0;
}

.lrn_dtl .prog_content {
  font-size: 17px;
  line-height: 1.6;
  color: #2a1f00;
}

.lrn_dtl .prog_content h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a1f00;
  font-weight: 700;
  margin: 0 0 24px;
}

.lrn_dtl .prog_content h3 {
  font-size: 27px;
  line-height: 1.1;
  color: #2a1f00;
  font-weight: 600;
  margin: 24px 0 8px;
  position: relative;
  display: inline-block;
}

.lrn_dtl .prog_content h3::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.4s 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.lrn_dtl .prog_content p {
  margin: 0 0 24px;
  color: #3a2f10;
}

.lrn_dtl .prog_content mark {
  background: #DCDDC3;
  color: #2a1f00;
  border-radius: 5px;
  padding: 0 8px;
}

.lrn_dtl .prog_content abbr {
  text-decoration: underline dotted #B48C2F;
  cursor: help;
}

.lrn_dtl .prog_content ol {
  margin: 0 0 24px;
  padding-left: 0;
  list-style: none;
  counter-reset: prog_counter;
}

.lrn_dtl .prog_content ol li {
  counter-increment: prog_counter;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
  padding: 24px;
  margin-bottom: 8px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #DCDDC3;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  position: relative;
  animation: row_wave 0.4s both;
}

.lrn_dtl .prog_content ol li:nth-child(1) {
  animation-delay: 0.05s;
}

.lrn_dtl .prog_content ol li:nth-child(2) {
  animation-delay: 0.1s;
}

.lrn_dtl .prog_content ol li:nth-child(3) {
  animation-delay: 0.15s;
}

.lrn_dtl .prog_content ol li:nth-child(4) {
  animation-delay: 0.2s;
}

.lrn_dtl .prog_content ol li:nth-child(5) {
  animation-delay: 0.25s;
}

.lrn_dtl .prog_content ol li:nth-child(6) {
  animation-delay: 0.3s;
}

.lrn_dtl .prog_content ol li:nth-child(7) {
  animation-delay: 0.35s;
}

.lrn_dtl .prog_content ol li:nth-child(8) {
  animation-delay: 0.4s;
}

@keyframes row_wave {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

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

.lrn_dtl .prog_content ol li::before {
  content: counter(prog_counter);
  font-size: 27px;
  line-height: 1.1;
  font-weight: 700;
  color: #B48C2F;
  min-width: 40px;
  text-align: center;
}

.lrn_dtl .prog_content ol li .step_bar_wrap {
  flex: 1;
}

.lrn_dtl .prog_content ol li .step_bar_track {
  height: 4px;
  background: #DCDDC3;
  border-radius: 38px;
  margin-top: 8px;
  overflow: hidden;
}

.lrn_dtl .prog_content ol li .step_bar_fill {
  height: 100%;
  background: #B48C2F;
  border-radius: 38px;
  animation: bar_grow 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.lrn_dtl .prog_content ol li:nth-child(1) .step_bar_fill {
  width: 85%;
  animation-delay: 0.2s;
}

.lrn_dtl .prog_content ol li:nth-child(2) .step_bar_fill {
  width: 70%;
  animation-delay: 0.25s;
}

.lrn_dtl .prog_content ol li:nth-child(3) .step_bar_fill {
  width: 90%;
  animation-delay: 0.3s;
}

.lrn_dtl .prog_content ol li:nth-child(4) .step_bar_fill {
  width: 60%;
  animation-delay: 0.35s;
}

.lrn_dtl .prog_content ol li:nth-child(5) .step_bar_fill {
  width: 75%;
  animation-delay: 0.4s;
}

.lrn_dtl .prog_content ol li:nth-child(6) .step_bar_fill {
  width: 80%;
  animation-delay: 0.45s;
}

.lrn_dtl .prog_content ol li:nth-child(7) .step_bar_fill {
  width: 65%;
  animation-delay: 0.5s;
}

.lrn_dtl .prog_content ol li:nth-child(8) .step_bar_fill {
  width: 88%;
  animation-delay: 0.55s;
}

@keyframes bar_grow {
  from {
    width: 0;
  }
}

.lrn_dtl .prog_content blockquote {
  margin: 24px 0;
  padding: 24px 40px;
  border-left: 3px solid #B48C2F;
  border-top: 1px solid #DCDDC3;
  border-radius: 5px;
  background: #fff;
  font-size: 17px;
  line-height: 1.6;
  color: #3a2f10;
  font-style: italic;
}

.lrn_dtl .prog_content cite {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  color: #8a7a55;
  font-style: normal;
}

.lrn_dtl .prog_content figure {
  margin: 24px 0;
  border-radius: 14px;
  overflow: hidden;
}

.lrn_dtl .prog_content figcaption {
  font-size: 15px;
  color: #8a7a55;
  margin-top: 8px;
}

.lrn_dtl .prog_corners {
  position: absolute;
  bottom: 24px;
  left: 24px;
  pointer-events: none;
  opacity: 0.15;
}

@media (max-width: 1024px) {
  .lrn_dtl .pg_top_in {
    grid-template-columns: 220px 1fr;
    gap: 24px;
  }

  .lrn_dtl .desc_sec_in {
    grid-template-columns: 1fr 300px;
  }

  .lrn_dtl .pg_h1 {
    font-size: 37px;
  }
}

@media (max-width: 768px) {
  .lrn_dtl .pg_top_in {
    grid-template-columns: 1fr;
  }

  .lrn_dtl .pg_img_col {
    display: none;
  }

  .lrn_dtl .desc_sec_in {
    grid-template-columns: 1fr;
  }

  .lrn_dtl .desc_side {
    position: static;
  }

  .lrn_dtl .pg_h1 {
    font-size: 37px;
  }

  .lrn_dtl .pg_top {
    padding: 40px 24px 24px;
  }

  .lrn_dtl .prog_sec {
    padding: 40px 24px;
  }

  .lrn_dtl .desc_sec {
    padding: 40px 24px;
  }
}

@media (max-width: 320px) {
  .lrn_dtl .pg_h1 {
    font-size: 27px;
  }

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

  .lrn_dtl .pg_meta_divider {
    display: none;
  }
}

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

.gds .gds_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
}

@keyframes gds_lift {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

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

.gds .ttl_blk {
  padding: 80px 0 40px;
  background: radial-gradient(circle at 100% 100%, #DCDDC3 0% 62%);
  position: relative;
}

.gds .ttl_blk_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  align-items: center;
}

.gds .ttl_img_col {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  height: 320px;
}

.gds .ttl_img_col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.18s ease-out;
}

.gds .ttl_img_vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50% 30%, rgba(30, 22, 8, 0.55) 100%);
  border-radius: 14px;
  pointer-events: none;
}

.gds .ttl_deco_line_top {
  position: absolute;
  top: 24px;
  left: 24px;
  width: 48px;
  height: 2px;
  background: #B48C2F;
  border-radius: 5px;
}

.gds .ttl_deco_line_left {
  position: absolute;
  top: 24px;
  left: 24px;
  width: 2px;
  height: 48px;
  background: #B48C2F;
  border-radius: 5px;
}

.gds .ttl_deco_line_br {
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 2px;
  background: #B48C2F;
  border-radius: 5px;
}

.gds .ttl_deco_line_br_v {
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 2px;
  height: 48px;
  background: #B48C2F;
  border-radius: 5px;
}

.gds .ttl_txt_col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  animation: gds_lift 0.18s ease-out both;
}

.gds .ttl_counter_row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gds .ttl_num_badge {
  width: 44px;
  height: 44px;
  border-radius: 38px;
  background: #B48C2F;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  flex-shrink: 0;
}

.gds .ttl_badge_label {
  font-size: 15px;
  color: #5a4a1a;
  line-height: 1.4;
}

.gds .ttl_h1 {
  font-size: 51px;
  line-height: 1.1;
  color: #1e1408;
  margin: 0;
  font-weight: 800;
}

.gds .ttl_h1 .gds_grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F, #d4a843);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gds .ttl_sub {
  font-size: 17px;
  line-height: 1.6;
  color: #3d3020;
  margin: 0;
  max-width: 520px;
}

.gds .ttl_meta_row {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
}

.gds .ttl_meta_item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #5a4a1a;
  line-height: 1.4;
}

.gds .ttl_meta_icon {
  color: #B48C2F;
  font-size: 17px;
}

.gds .geo_divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 40px;
  overflow: hidden;
}

.gds .geo_div_shape {
  width: 8px;
  height: 8px;
  border: 1.5px solid #B48C2F;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.gds .geo_div_shape.filled {
  background: #B48C2F;
}

.gds .geo_div_line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #DCDDC3 30%, #DCDDC3 70%);
  max-width: 120px;
}

.gds .guides_list_sec {
  padding: 40px 0 80px;
  background: radial-gradient(circle at 100% 0%, #D6D7B8 0% 45%);
}

.gds .guides_list_sec .gds_inner {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.gds .guide_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.gds .guide_row.txt_first {
  direction: ltr;
}

.gds .guide_row .guide_txt_side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.gds .guide_step_badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
}

.gds .guide_step_circle {
  width: 36px;
  height: 36px;
  border-radius: 38px;
  background: #B48C2F;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  flex-shrink: 0;
}

.gds .guide_step_label {
  font-size: 15px;
  color: #B48C2F;
  font-weight: 600;
  line-height: 1.4;
}

.gds .guide_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #1e1408;
  margin: 0;
  font-weight: 700;
  position: relative;
  display: inline-block;
}

.gds .guide_h2::after {
  content: '';
  display: block;
  height: 2px;
  background: #B48C2F;
  border-radius: 5px;
  width: 0;
  margin-top: 8px;
  transition: width 0.18s ease-out;
}

.gds .guide_row:hover .guide_h2::after {
  width: 100%;
}

.gds .guide_h2 .gds_grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F, #d4a843);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gds .guide_body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.gds .guide_p {
  font-size: 17px;
  line-height: 1.6;
  color: #3d3020;
  margin: 0;
}

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

.gds .guide_step_item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 15px;
  line-height: 1.6;
  color: #3d3020;
}

.gds .step_num_sm {
  width: 24px;
  height: 24px;
  border-radius: 38px;
  background: #DCDDC3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  color: #5a4a1a;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background 0.18s ease-out, color 0.15s ease;
}

.gds .guide_step_item:hover .step_num_sm {
  background: #B48C2F;
  color: #fff;
}

.gds .guide_tools_row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.gds .guide_tool_tag {
  padding: 8px 24px;
  border-radius: 5px;
  border: 1.5px solid #DCDDC3;
  background: #fff;
  font-size: 15px;
  color: #5a4a1a;
  line-height: 1.4;
  transition: border-color 0.16s ease-out, background 0.16s ease-out;
  cursor: default;
}

.gds .guide_tool_tag:hover {
  border-color: #B48C2F;
  background: #DCDDC3;
}

.gds .guide_visual_side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.gds .guide_card_stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gds .guide_info_card {
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid #DCDDC3;
  padding: 24px;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow 0.18s ease-out, border-color 0.16s ease-out;
}

.gds .guide_info_card:hover {
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
  border-color: #B48C2F;
}

.gds .guide_card_head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gds .guide_card_icon {
  color: #B48C2F;
  font-size: 17px;
}

.gds .guide_card_title {
  font-size: 15px;
  font-weight: 700;
  color: #1e1408;
  line-height: 1.4;
  margin: 0;
}

.gds .guide_card_text {
  font-size: 15px;
  line-height: 1.6;
  color: #3d3020;
  margin: 0;
}

.gds .guide_metric_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.gds .guide_metric_box {
  background: #DCDDC3;
  border-radius: 14px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: 1.5px solid transparent;
  transition: border-color 0.16s ease-out, background 0.15s ease;
}

.gds .guide_metric_box:hover {
  border-color: #B48C2F;
  background: #D6D7B8;
}

.gds .guide_metric_num {
  font-size: 37px;
  font-weight: 800;
  color: #B48C2F;
  line-height: 1.1;
}

.gds .guide_metric_desc {
  font-size: 15px;
  color: #3d3020;
  line-height: 1.4;
}

.gds .guide_technique_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.gds .technique_cell {
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid #DCDDC3;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  transition: box-shadow 0.18s ease-out, border-color 0.16s ease-out, background 0.15s ease;
  cursor: default;
}

.gds .technique_cell:hover {
  background: #DCDDC3;
  border-color: #B48C2F;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.gds .technique_cell_icon {
  color: #B48C2F;
  font-size: 27px;
}

.gds .technique_cell_name {
  font-size: 15px;
  font-weight: 700;
  color: #1e1408;
  line-height: 1.4;
  margin: 0;
}

.gds .technique_cell_note {
  font-size: 15px;
  color: #5a4a1a;
  line-height: 1.4;
}

.gds .geo_divider_2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 40px;
  overflow: hidden;
}

.gds .geo_div2_dot {
  width: 6px;
  height: 6px;
  border-radius: 38px;
  background: #D6D7B8;
  flex-shrink: 0;
}

.gds .geo_div2_dot.accent {
  background: #B48C2F;
  width: 10px;
  height: 10px;
}

.gds .geo_div2_line {
  height: 1px;
  background: #D6D7B8;
  flex: 1;
  max-width: 80px;
}

@media (max-width: 1024px) {
  .gds .ttl_blk_inner {
    grid-template-columns: 160px 1fr;
    gap: 24px;
    padding: 0 24px;
  }

  .gds .ttl_h1 {
    font-size: 37px;
  }

  .gds .ttl_img_col {
    height: 240px;
  }

  .gds .guide_row {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .gds .guide_metric_row {
    grid-template-columns: 1fr 1fr;
  }

  .gds .guides_list_sec .gds_inner {
    gap: 40px;
  }

  .gds .gds_inner {
    padding: 0 24px;
  }

  .gds .guide_h2 {
    font-size: 27px;
  }
}

@media (max-width: 768px) {
  .gds .ttl_blk_inner {
    grid-template-columns: 1fr;
    padding: 0 24px;
  }

  .gds .ttl_img_col {
    display: none;
  }

  .gds .ttl_h1 {
    font-size: 37px;
  }

  .gds .ttl_blk {
    padding: 40px 0 24px;
  }

  .gds .guide_metric_row {
    grid-template-columns: 1fr 1fr;
  }

  .gds .guide_technique_grid {
    grid-template-columns: 1fr;
  }

  .gds .geo_divider,
  .gds .geo_div_line {
    padding: 8px 24px;
  }

  .gds .guides_list_sec {
    padding: 24px 0 40px;
  }
}

@media (max-width: 320px) {
  .gds .ttl_h1 {
    font-size: 27px;
  }

  .gds .guide_metric_row {
    grid-template-columns: 1fr;
  }

  .gds .gds_inner {
    padding: 0 8px;
  }

  .gds .ttl_blk_inner {
    padding: 0 8px;
  }

  .gds .guide_tools_row {
    flex-direction: column;
  }
}

.abt {
  position: relative;
  overflow: hidden;
}

.abt * {
  box-sizing: border-box;
}

.abt a {
  color: #B48C2F;
  text-decoration: none;
  transition: color 0.15s ease-out, opacity 0.18s ease;
}

.abt a:hover {
  opacity: 0.78;
}

.abt .pg_top {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-height: 520px;
  background: #fff;
  position: relative;
}

.abt .pg_top .txt_side {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 80px 40px 80px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.abt .pg_top .spot_a {
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 38px;
  background: radial-gradient(circle at bottom right, rgba(180, 140, 47, 0.13) 72%);
  top: -60px;
  left: -80px;
  pointer-events: none;
  filter: blur(38px);
}

.abt .pg_top .spot_b {
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 38px;
  background: radial-gradient(circle at bottom right, rgba(220, 221, 195, 0.22) 68%);
  bottom: 40px;
  left: 120px;
  pointer-events: none;
  filter: blur(28px);
}

.abt .pg_top .eyebrow {
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px;
  font-weight: 600;
}

.abt .pg_top .main_h1 {
  font-size: 51px;
  line-height: 1.1;
  font-weight: 700;
  color: #2a2318;
  margin: 0 0 24px 0;
}

.abt .pg_top .main_h1 .grad_word {
  background: radial-gradient(circle at bottom right, #B48C2F, #d4a93a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline;
}

.abt .pg_top .tag_line {
  font-size: 17px;
  line-height: 1.6;
  color: #4a3f2f;
  margin: 0 0 40px 0;
  max-width: 420px;
}

.abt .pg_top .action_row {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
}

.abt .pg_top .btn_pri {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #B48C2F;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 8px 24px;
  border-radius: 5px;
  border: 2px solid #B48C2F;
  cursor: pointer;
  transition: border-color 0.18s ease-out, color 0.15s ease-out;
  text-decoration: none;
}

.abt .pg_top .btn_pri:hover {
  border-color: #8a6a1f;
  opacity: 1;
  color: #fff;
}

.abt .pg_top .btn_sec {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #2a2318;
  font-size: 15px;
  font-weight: 500;
  padding: 8px 24px;
  border-radius: 5px;
  border: 2px solid #DCDDC3;
  cursor: pointer;
  transition: border-color 0.2s ease-out;
  text-decoration: none;
}

.abt .pg_top .btn_sec:hover {
  border-color: #B48C2F;
  opacity: 1;
  color: #2a2318;
}

.abt .pg_top .img_side {
  flex: 0 0 50%;
  max-width: 50%;
  position: relative;
  overflow: hidden;
}

.abt .pg_top .img_side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(100%);
}

.abt .geo_divider {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  background: #fff;
  overflow: hidden;
}

.abt .geo_divider .geo_inner {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.abt .geo_divider .geo_shape {
  width: 10px;
  height: 10px;
  background: transparent;
  border: 1.5px solid rgba(180, 140, 47, 0.35);
  transform: rotate(45deg);
  border-radius: 0;
  flex-shrink: 0;
}

.abt .geo_divider .geo_shape.filled {
  background: rgba(180, 140, 47, 0.18);
}

.abt .about_mid {
  background: #f5f4ee;
  position: relative;
  padding: 80px 0;
}

.abt .about_mid::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(60deg, rgba(180, 140, 47, 0.06) 1px 1px),
    linear-gradient(-60deg, rgba(180, 140, 47, 0.06) 1px 1px),
    linear-gradient(to bottom, rgba(180, 140, 47, 0.04) 1px 1px);
  background-size: 36px 36px, 36px 36px, 36px 36px;
  pointer-events: none;
}

.abt .about_mid .mid_container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}

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

.abt .about_mid .mid_left {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.abt .about_mid .mid_center {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 40px;
}

.abt .about_mid .mid_right {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.abt .about_mid .sec_label {
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.abt .about_mid .sec_h2 {
  font-size: 37px;
  line-height: 1.1;
  font-weight: 700;
  color: #2a2318;
  margin: 0;
}

.abt .about_mid .sec_h2 .grad_word {
  background: radial-gradient(circle at bottom right, #B48C2F, #d4a93a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline;
}

.abt .about_mid .body_txt {
  font-size: 17px;
  line-height: 1.6;
  color: #3d3322;
  margin: 0;
}

.abt .about_mid .img_card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.abt .about_mid .img_card img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.abt .about_mid .stat_strip {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid #DCDDC3;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
}

.abt .about_mid .stat_num {
  font-size: 37px;
  line-height: 1.1;
  font-weight: 700;
  color: #B48C2F;
}

.abt .about_mid .stat_desc {
  font-size: 15px;
  line-height: 1.4;
  color: #4a3f2f;
}

.abt .about_mid .float_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(180, 140, 47, 0.1);
  color: #B48C2F;
  font-size: 27px;
  animation: icon_float 3.2s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

.abt .about_mid .float_icon_b {
  animation-delay: 1.1s;
  animation-duration: 3.8s;
}

@keyframes icon_float {

  0%,
  100% {
    transform: translateY(0px) rotate(-2deg);
  }

  50% {
    transform: translateY(-7px) rotate(2deg);
  }
}

.abt .about_mid .img_card_tall img {
  height: 320px;
  object-position: center 30%;
}

.abt .divider_b {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  background: #f5f4ee;
  overflow: hidden;
}

.abt .divider_b .geo_inner {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.abt .divider_b .tri_shape {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 9px solid rgba(180, 140, 47, 0.28);
  flex-shrink: 0;
}

.abt .divider_b .tri_shape.inv {
  border-bottom: none;
  border-top: 9px solid rgba(220, 221, 195, 0.55);
}

.abt .compare_sect {
  background: #2a2318;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.abt .compare_sect .math_bg {
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  font-size: 340px;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(180, 140, 47, 0.09);
  pointer-events: none;
  user-select: none;
  font-weight: 700;
}

.abt .compare_sect .cmp_container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}

.abt .compare_sect .cmp_head {
  text-align: center;
  margin-bottom: 40px;
}

.abt .compare_sect .cmp_label {
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 8px;
}

.abt .compare_sect .cmp_h2 {
  font-size: 37px;
  line-height: 1.1;
  font-weight: 700;
  color: #f0ead8;
  margin: 0 0 8px 0;
}

.abt .compare_sect .cmp_h2 .grad_word {
  background: radial-gradient(circle at bottom right, #B48C2F, #d4a93a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline;
}

.abt .compare_sect .cmp_sub {
  font-size: 17px;
  line-height: 1.6;
  color: #c8bfa8;
  margin: 0;
}

.abt .compare_sect .three_cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  align-items: start;
}

.abt .compare_sect .cmp_card {
  background: rgba(255, 255, 255, 0.04);
  border: 1.5px solid rgba(220, 221, 195, 0.15);
  border-radius: 14px;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  transition: border-color 0.18s ease-out;
}

.abt .compare_sect .cmp_card:hover {
  border-color: rgba(180, 140, 47, 0.4);
}

.abt .compare_sect .cmp_card.recommended {
  background: rgba(180, 140, 47, 0.1);
  border: 2px solid #B48C2F;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
  position: relative;
}

.abt .compare_sect .rec_badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #B48C2F;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 4px 16px;
  border-radius: 38px;
  white-space: nowrap;
}

.abt .compare_sect .cmp_tier {
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.abt .compare_sect .cmp_title {
  font-size: 27px;
  line-height: 1.1;
  font-weight: 700;
  color: #f0ead8;
  margin: 0;
}

.abt .compare_sect .cmp_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #c8bfa8;
  margin: 0;
}

.abt .compare_sect .feat_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.abt .compare_sect .feat_list li {
  font-size: 15px;
  line-height: 1.4;
  color: #d4c9b0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
}

.abt .compare_sect .feat_list li .f7 {
  color: #B48C2F;
  font-size: 17px;
  flex-shrink: 0;
  margin-top: 1px;
}

.abt .compare_sect .cmp_imgs {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 8px;
}

.abt .compare_sect .cmp_img_wrap {
  flex: 1;
  border-radius: 5px;
  overflow: hidden;
}

.abt .compare_sect .cmp_img_wrap img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.abt .divider_c {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  background: #2a2318;
  overflow: hidden;
}

.abt .divider_c .geo_inner {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.abt .divider_c .dot_shape {
  width: 6px;
  height: 6px;
  border-radius: 5px;
  background: rgba(180, 140, 47, 0.35);
  flex-shrink: 0;
}

.abt .divider_c .dot_shape.lg {
  width: 10px;
  height: 10px;
  background: rgba(180, 140, 47, 0.55);
}

.abt .split_bg_sect {
  position: relative;
  padding: 0;
}

.abt .split_bg_sect .bg_top_half {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: #2a2318;
  pointer-events: none;
}

.abt .split_bg_sect .bg_bot_half {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: #fff;
  pointer-events: none;
}

.abt .split_bg_sect .split_container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 40px 40px 80px;
  position: relative;
  z-index: 1;
}

.abt .split_bg_sect .team_h3 {
  font-size: 27px;
  line-height: 1.1;
  font-weight: 700;
  color: #f0ead8;
  margin: 0 0 40px 0;
  text-align: center;
}

.abt .split_bg_sect .team_h3 .grad_word {
  background: radial-gradient(circle at bottom right, #B48C2F, #d4a93a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline;
}

.abt .split_bg_sect .profile_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.abt .split_bg_sect .prof_card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  padding: 24px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  border: 1.5px solid #DCDDC3;
}

.abt .split_bg_sect .prof_img_wrap {
  flex-shrink: 0;
  width: 88px;
  height: 88px;
  border-radius: 14px;
  overflow: hidden;
  border: 2px solid #DCDDC3;
}

.abt .split_bg_sect .prof_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.abt .split_bg_sect .prof_info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.abt .split_bg_sect .prof_name {
  font-size: 17px;
  line-height: 1.4;
  font-weight: 700;
  color: #2a2318;
  margin: 0;
}

.abt .split_bg_sect .prof_role {
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  font-weight: 500;
}

.abt .split_bg_sect .prof_bio {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3f2f;
  margin: 0;
}

.abt .split_bg_sect .contact_strip {
  margin-top: 40px;
  background: #f5f4ee;
  border-radius: 14px;
  padding: 24px 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1.5px solid #DCDDC3;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  flex-wrap: wrap;
}

.abt .split_bg_sect .contact_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #2a2318;
}

.abt .split_bg_sect .contact_item .f7 {
  color: #B48C2F;
  font-size: 17px;
}

.abt .split_bg_sect .contact_item a {
  color: #2a2318;
}

.abt .split_bg_sect .contact_item a:hover {
  color: #B48C2F;
  opacity: 1;
}

.abt .underline_anim {
  position: relative;
  display: inline-block;
}

.abt .underline_anim::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  border-radius: 5px;
  transition: width 0.2s ease-out;
}

.abt .underline_anim:hover::after,
.abt .about_mid .sec_h2 .underline_anim::after,
.abt .compare_sect .cmp_h2 .underline_anim::after {
  width: 100%;
}

.abt .about_mid .sec_h2 .underline_anim::after {
  animation: line_draw 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.3s forwards;
  width: 0;
}

@keyframes line_draw {
  to {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .abt .pg_top .txt_side {
    padding: 80px 24px 80px 40px;
  }

  .abt .about_mid .mid_grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .abt .about_mid .mid_center {
    padding-top: 0;
  }

  .abt .compare_sect .three_cols {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
  }

  .abt .split_bg_sect .profile_row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .abt .pg_top {
    flex-direction: column;
  }

  .abt .pg_top .txt_side {
    flex: none;
    max-width: 100%;
    padding: 40px 24px;
  }

  .abt .pg_top .img_side {
    display: none;
  }

  .abt .pg_top .main_h1 {
    font-size: 37px;
  }

  .abt .about_mid {
    padding: 40px 0;
  }

  .abt .about_mid .mid_container {
    padding: 0 24px;
  }

  .abt .about_mid .mid_grid {
    grid-template-columns: 1fr;
  }

  .abt .about_mid .img_card {
    display: none;
  }

  .abt .compare_sect {
    padding: 40px 0;
  }

  .abt .compare_sect .cmp_container {
    padding: 0 24px;
  }

  .abt .compare_sect .cmp_h2 {
    font-size: 27px;
  }

  .abt .split_bg_sect .split_container {
    padding: 40px 24px;
  }

  .abt .split_bg_sect .prof_card {
    flex-direction: column;
  }

  .abt .split_bg_sect .contact_strip {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
  }

  .abt .compare_sect .cmp_imgs {
    display: none;
  }
}

@media (max-width: 320px) {
  .abt .pg_top .main_h1 {
    font-size: 27px;
  }

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

  .abt .compare_sect .three_cols {
    padding: 0 8px;
  }
}

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

.prm * {
  box-sizing: border-box;
}

.prm .pg_wrap {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
}

.prm .ttl_blk {
  display: grid;
  grid-template-columns: 55% 45%;
  min-height: 580px;
  position: relative;
}

.prm .ttl_left {
  background: #B48C2F;
  padding: 80px 40px 80px 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
}

.prm .ttl_left::before {
  content: '';
  position: absolute;
  top: -60px;
  left: 40%;
  width: 1px;
  height: 160%;
  background: rgba(255, 255, 255, 0.12);
  transform: rotate(18deg);
  pointer-events: none;
}

.prm .ttl_stripe {
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: rgba(255, 255, 255, 0.22);
}

.prm .ttl_eyebrow {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.4;
  margin-bottom: 24px;
  letter-spacing: 0.04em;
}

.prm .ttl_h1 {
  font-size: 51px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 24px 0;
  font-weight: 700;
}

.prm .ttl_h1 .grad_word {
  background: radial-gradient(circle at 100% 100%, #DCDDC3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.prm .ttl_desc {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
  max-width: 420px;
  margin: 0;
}

.prm .ttl_right {
  background: #DCDDC3;
  position: relative;
  overflow: hidden;
}

.prm .ttl_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  opacity: 0;
  animation: img_fadein 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards;
}

@keyframes img_fadein {
  from {
    opacity: 0;
    transform: scale(1.04);
  }

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

.prm .ttl_right::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(180, 140, 47, 0.18) 65%);
  pointer-events: none;
}

.prm .invest_sec {
  background: #fff;
  padding: 80px 0 40px 0;
  position: relative;
}

.prm .invest_sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 3px;
  background: #B48C2F;
  border-radius: 5px;
}

.prm .invest_divider_shape {
  width: 12px;
  height: 12px;
  background: #B48C2F;
  border-radius: 5px;
  margin: 0 auto;
  margin-top: -7px;
  transform: rotate(45deg);
}

.prm .invest_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.prm .invest_txt_col {
  padding-right: 40px;
}

.prm .invest_label {
  font-size: 15px;
  color: #B48C2F;
  line-height: 1.4;
  margin-bottom: 24px;
  display: block;
}

.prm .invest_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2318;
  margin: 0 0 24px 0;
  font-weight: 700;
  position: relative;
  display: inline-block;
}

.prm .invest_h2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s forwards;
}

@keyframes underline_draw {
  from {
    width: 0;
  }

  to {
    width: 100%;
  }
}

.prm .invest_p {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0 0 24px 0;
}

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

.prm .invest_items li {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3020;
  padding: 8px 24px;
  background: #DCDDC3;
  border-radius: 5px;
  border-left: 3px solid #B48C2F;
  border-top: 1px solid rgba(180, 140, 47, 0.15);
}

.prm .invest_img_col {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.prm .invest_img_col img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transition: transform 0.18s ease-out;
}

.prm .invest_img_col:hover img {
  transform: scale(1.03);
}

.prm .invest_img_col::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(180, 140, 47, 0.13) 60%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.18s ease-out;
}

.prm .invest_img_col:hover::after {
  opacity: 1;
}

.prm .vign_wrap {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
}

.prm .vign_wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50% 40%, rgba(180, 140, 47, 0.28) 100%);
  opacity: 0;
  transition: opacity 0.19s ease-out;
  z-index: 1;
  pointer-events: none;
}

.prm .vign_wrap:hover::before {
  opacity: 1;
}

.prm .supp_sec {
  background: #DCDDC3;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.prm .supp_sec::before {
  content: '';
  position: absolute;
  top: 20%;
  right: -40px;
  width: 1px;
  height: 70%;
  background: rgba(180, 140, 47, 0.2);
  transform: rotate(12deg);
  pointer-events: none;
}

.prm .supp_divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
}

.prm .supp_divider_line {
  width: 60px;
  height: 1px;
  background: rgba(180, 140, 47, 0.4);
}

.prm .supp_divider_dot {
  width: 8px;
  height: 8px;
  border-radius: 5px;
  background: #B48C2F;
}

.prm .supp_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
}

.prm .supp_head {
  text-align: center;
  margin-bottom: 40px;
}

.prm .supp_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 24px 0;
  display: inline-block;
  position: relative;
}

.prm .supp_h2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.8s forwards;
}

.prm .supp_h2 .grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.prm .supp_desc {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  max-width: 560px;
  margin: 0 auto;
}

.prm .supp_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.prm .supp_card {
  background: #fff;
  border-radius: 14px;
  padding: 40px 24px;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  border: 1px solid rgba(180, 140, 47, 0.15);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.16s ease-out, border-color 0.16s ease-out;
  animation: border_glow 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.prm .supp_card:nth-child(2) {
  animation-delay: 1s;
}

.prm .supp_card:nth-child(3) {
  animation-delay: 2s;
}

@keyframes border_glow {

  0%,
  100% {
    border-color: rgba(180, 140, 47, 0.15);
    box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  }

  50% {
    border-color: rgba(180, 140, 47, 0.45);
    box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.14);
  }
}

.prm .supp_card:hover {
  animation: none;
  border-color: rgba(180, 140, 47, 0.5);
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
}

.prm .supp_card_icon {
  width: 44px;
  height: 44px;
  background: rgba(180, 140, 47, 0.1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.prm .supp_card_icon i {
  font-size: 22px;
  color: #B48C2F;
}

.prm .supp_card_h {
  font-size: 17px;
  line-height: 1.4;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.prm .supp_card_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0;
}

.prm .gap_sec {
  padding: 40px 0 80px 0;
  position: relative;
  background: #fff;
}

.prm .gap_sec::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #B48C2F 30%, #DCDDC3 70%);
}

.prm .gap_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 45% 55%;
  gap: 80px;
  align-items: center;
}

.prm .gap_img_side {
  position: relative;
}

.prm .gap_img_frame {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
  position: relative;
}

.prm .gap_img_frame img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}

.prm .gap_img_frame::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(180, 140, 47, 0.16) 55%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.19s ease-out;
  z-index: 1;
}

.prm .gap_img_frame:hover::before {
  opacity: 1;
}

.prm .gap_accent_bar {
  position: absolute;
  top: 24px;
  left: -8px;
  width: 4px;
  height: 80px;
  background: #B48C2F;
  border-radius: 5px;
}

.prm .gap_txt_side {
  padding-left: 40px;
}

.prm .gap_label {
  font-size: 15px;
  color: #B48C2F;
  line-height: 1.4;
  margin-bottom: 24px;
  display: block;
}

.prm .gap_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 24px 0;
  position: relative;
  display: inline-block;
}

.prm .gap_h2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
}

.prm .gap_h2 .grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.prm .gap_p {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0 0 24px 0;
}

.prm .gap_steps {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 24px;
}

.prm .gap_step {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
}

.prm .gap_step_num {
  font-size: 27px;
  line-height: 1.1;
  color: rgba(180, 140, 47, 0.25);
  font-weight: 700;
  flex-shrink: 0;
  width: 40px;
}

.prm .gap_step_body {
  flex: 1;
}

.prm .gap_step_h {
  font-size: 17px;
  line-height: 1.4;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.prm .gap_step_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0;
}

.prm .curr_sec {
  background: #D6D7B8;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.prm .curr_sec::before {
  content: '';
  position: absolute;
  top: 10%;
  left: -30px;
  width: 1px;
  height: 80%;
  background: rgba(180, 140, 47, 0.18);
  transform: rotate(-8deg);
  pointer-events: none;
}

.prm .curr_divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
}

.prm .curr_divider_line {
  width: 40px;
  height: 1px;
  background: rgba(180, 140, 47, 0.5);
}

.prm .curr_divider_sq {
  width: 10px;
  height: 10px;
  border: 2px solid #B48C2F;
  border-radius: 5px;
  transform: rotate(45deg);
}

.prm .curr_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
}

.prm .curr_layout {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 80px;
  align-items: start;
}

.prm .curr_txt {
  padding-right: 40px;
}

.prm .curr_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 24px 0;
  position: relative;
  display: inline-block;
}

.prm .curr_h2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1.1s forwards;
}

.prm .curr_h2 .grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.prm .curr_p {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0 0 24px 0;
}

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

.prm .curr_tag {
  font-size: 15px;
  line-height: 1.4;
  color: #2a2318;
  background: rgba(180, 140, 47, 0.12);
  border: 1px solid rgba(180, 140, 47, 0.25);
  border-radius: 38px;
  padding: 8px 24px;
  transition: background 0.15s ease-out, border-color 0.15s ease-out;
}

.prm .curr_tag:hover {
  background: rgba(180, 140, 47, 0.22);
  border-color: rgba(180, 140, 47, 0.5);
}

.prm .curr_img_side {
  position: relative;
}

.prm .curr_img_wrap {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  position: relative;
}

.prm .curr_img_wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.prm .curr_img_wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(180, 140, 47, 0.18) 55%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.17s ease-out;
  z-index: 1;
}

.prm .curr_img_wrap:hover::before {
  opacity: 1;
}

.prm .curr_note {
  margin-top: 24px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 14px;
  border-left: 3px solid #B48C2F;
  border-top: 1px solid rgba(180, 140, 47, 0.15);
}

.prm .curr_note_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0;
}

.prm .rep_sec {
  background: #fff;
  padding: 80px 0;
  position: relative;
}

.prm .rep_sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, #B48C2F);
}

.prm .rep_divider_shape {
  width: 14px;
  height: 14px;
  border: 2px solid #B48C2F;
  border-radius: 5px;
  margin: 0 auto;
  margin-top: -8px;
  transform: rotate(45deg);
}

.prm .rep_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 24px;
}

.prm .rep_head {
  text-align: center;
  margin-bottom: 40px;
}

.prm .rep_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 24px 0;
  display: inline-block;
  position: relative;
}

.prm .rep_h2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 2px;
  background: #B48C2F;
  animation: underline_draw 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1.2s forwards;
}

.prm .rep_h2 .grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.prm .rep_sub {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  max-width: 540px;
  margin: 0 auto;
}

.prm .rep_refs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.prm .rep_ref {
  background: #DCDDC3;
  border-radius: 14px;
  padding: 40px 24px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(180, 140, 47, 0.12);
  transition: border-color 0.16s ease-out, box-shadow 0.16s ease-out;
}

.prm .rep_ref:hover {
  border-color: rgba(180, 140, 47, 0.4);
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.prm .rep_ref::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle at 100% 0%, rgba(180, 140, 47, 0.1) 70%);
  pointer-events: none;
}

.prm .rep_ref_icon {
  margin-bottom: 24px;
}

.prm .rep_ref_icon i {
  font-size: 27px;
  color: #B48C2F;
}

.prm .rep_ref_h {
  font-size: 17px;
  line-height: 1.4;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.prm .rep_ref_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0;
}

.prm .rep_ref_name {
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  margin-top: 24px;
  display: block;
  font-weight: 600;
}

.prm .rep_bottom {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}

.prm .rep_img_wrap {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
  position: relative;
}

.prm .rep_img_wrap img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: center 40%;
  display: block;
}

.prm .rep_img_wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(180, 140, 47, 0.18) 55%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.17s ease-out;
  z-index: 1;
}

.prm .rep_img_wrap:hover::before {
  opacity: 1;
}

.prm .rep_assoc {
  padding: 24px;
  background: #D6D7B8;
  border-radius: 14px;
  border: 1px solid rgba(180, 140, 47, 0.2);
}

.prm .rep_assoc_h {
  font-size: 17px;
  line-height: 1.4;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 24px 0;
}

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

.prm .rep_assoc_list li {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3020;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.prm .rep_assoc_list li i {
  color: #B48C2F;
  font-size: 17px;
}

@media (max-width: 1024px) {
  .prm .ttl_blk {
    grid-template-columns: 1fr 1fr;
  }

  .prm .ttl_h1 {
    font-size: 37px;
  }

  .prm .invest_inner {
    gap: 40px;
  }

  .prm .invest_txt_col {
    padding-right: 0;
  }

  .prm .gap_inner {
    gap: 40px;
  }

  .prm .gap_txt_side {
    padding-left: 0;
  }

  .prm .curr_layout {
    gap: 40px;
  }

  .prm .curr_txt {
    padding-right: 0;
  }

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

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

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

@media (max-width: 768px) {
  .prm .ttl_blk {
    grid-template-columns: 1fr;
  }

  .prm .ttl_right {
    display: none;
  }

  .prm .ttl_left {
    padding: 80px 24px 80px 24px;
  }

  .prm .ttl_h1 {
    font-size: 37px;
  }

  .prm .invest_inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .prm .invest_img_col {
    display: none;
  }

  .prm .gap_inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .prm .gap_img_side {
    display: none;
  }

  .prm .gap_txt_side {
    padding-left: 0;
  }

  .prm .curr_layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .prm .curr_img_side {
    display: none;
  }

  .prm .curr_txt {
    padding-right: 0;
  }

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

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

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

  .prm .rep_img_wrap {
    display: none;
  }
}

@media (max-width: 320px) {
  .prm .ttl_h1 {
    font-size: 27px;
  }

  .prm .invest_h2,
  .prm .supp_h2,
  .prm .gap_h2,
  .prm .curr_h2,
  .prm .rep_h2 {
    font-size: 27px;
  }

  .prm .pg_wrap {
    padding: 0 8px;
  }
}

.msn_pg {
  background-color: #f5f4ee;
  overflow-x: hidden;
  position: relative;
}

.msn_pg::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}

.msn_pg .pg_body {
  position: relative;
  z-index: 1;
}

.msn_pg .top_strip {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 40px 40px;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 24px;
  align-items: center;
}

.msn_pg .strip_img_left {
  width: 100%;
  height: 320px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
  animation: img_grow 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.msn_pg .strip_img_left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: brightness(1.05) contrast(1.02);
  display: block;
}

.msn_pg .strip_img_right {
  width: 100%;
  height: 260px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  animation: img_grow 0.9s cubic-bezier(0.34, 1.2, 0.64, 1) 0.15s both;
  background: radial-gradient(circle at 100% 100%, #DCDDC3 0% 70%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.msn_pg .strip_img_right_decor {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 100% 100%, #DCDDC3 0% 65%);
  border-radius: 14px;
  position: relative;
}

.msn_pg .strip_img_right_decor::after {
  content: '';
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 80px;
  height: 80px;
  border-radius: 38px;
  border: 2px solid rgba(180, 140, 47, 0.3);
  border-top-color: #B48C2F;
}

.msn_pg .strip_text_mid {
  text-align: center;
  padding: 40px 24px;
  position: relative;
}

.msn_pg .strip_text_mid::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(220, 221, 195, 0.45) 0% 70%);
  border-radius: 14px;
  pointer-events: none;
}

.msn_pg .eyebrow_label {
  display: inline-block;
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  border: 1px solid rgba(180, 140, 47, 0.35);
  border-radius: 38px;
  padding: 8px 24px;
  margin-bottom: 24px;
  letter-spacing: 0.04em;
}

.msn_pg .main_h1 {
  font-size: 51px;
  line-height: 1.1;
  color: #2a2318;
  margin: 0 0 24px;
  font-weight: 700;
}

.msn_pg .main_h1 .grad_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F, #d4a93a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
  display: inline-block;
}

.msn_pg .main_h1 .grad_word::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #B48C2F);
  animation: underline_draw 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
  transform-origin: left;
}

@keyframes underline_draw {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@keyframes img_grow {
  from {
    transform: scale(0.97);
    opacity: 0.7;
  }

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

.msn_pg .main_desc {
  font-size: 17px;
  line-height: 1.6;
  color: #4a3f2e;
  max-width: 480px;
  margin: 0 auto;
}

.msn_pg .divider_band {
  height: 6px;
  background: linear-gradient(90deg, #D6D7B8 0%, #B48C2F 50%, #DCDDC3 100%);
  margin: 0;
}

.msn_pg .vals_area {
  position: relative;
  background: #fff;
  padding: 80px 0;
}

.msn_pg .vals_area::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(214, 215, 184, 0.35) 0% 60%);
  pointer-events: none;
}

.msn_pg .vals_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}

.msn_pg .vals_top_row {
  display: grid;
  grid-template-columns: 2fr 1fr 1.5fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 80px;
}

.msn_pg .vals_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 24px;
  position: relative;
  display: inline-block;
}

.msn_pg .vals_h2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 60%;
  height: 2px;
  background: linear-gradient(90deg, #B48C2F);
  animation: underline_draw 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.6s both;
  transform-origin: left;
}

.msn_pg .vals_lead_txt {
  font-size: 17px;
  line-height: 1.6;
  color: #4a3f2e;
  margin: 0;
}

.msn_pg .metric_box {
  background: radial-gradient(circle at 100% 100%, #DCDDC3 0% 70%);
  border: 1px solid rgba(180, 140, 47, 0.2);
  border-radius: 14px;
  padding: 40px 24px;
  text-align: center;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.msn_pg .metric_num {
  font-size: 51px;
  line-height: 1.1;
  color: #B48C2F;
  font-weight: 700;
  display: block;
  margin-bottom: 8px;
}

.msn_pg .metric_arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #7a6840;
  margin-bottom: 8px;
}

.msn_pg .metric_arrow svg {
  flex-shrink: 0;
}

.msn_pg .metric_label {
  font-size: 15px;
  line-height: 1.4;
  color: #4a3f2e;
  display: block;
}

.msn_pg .vals_right_col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.msn_pg .stat_pair {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  border-radius: 14px;
  border: 1px solid rgba(180, 140, 47, 0.15);
  background: rgba(245, 244, 238, 0.8);
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
}

.msn_pg .stat_num_big {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2318;
  font-weight: 700;
}

.msn_pg .stat_desc {
  font-size: 15px;
  line-height: 1.4;
  color: #7a6840;
}

.msn_pg .pillars_row {
  display: grid;
  grid-template-columns: 1fr 2fr 3fr;
  gap: 24px;
  align-items: stretch;
}

.msn_pg .pillar_anchor {
  display: flex;
  align-items: center;
  justify-content: center;
}

.msn_pg .big_abbr {
  font-size: 68px;
  line-height: 1.1;
  font-weight: 900;
  color: rgba(180, 140, 47, 0.12);
  letter-spacing: -0.04em;
  user-select: none;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.msn_pg .pillar_list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.msn_pg .pillar_item {
  padding: 24px;
  border-radius: 14px;
  border: 1px solid rgba(180, 140, 47, 0.18);
  background: #fff;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.18s ease-out, border-color 0.15s ease-out;
}

.msn_pg .pillar_item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(180deg, #B48C2F, #D6D7B8);
  border-radius: 5px 0 0 5px;
}

.msn_pg .pillar_item:hover {
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  border-color: rgba(180, 140, 47, 0.35);
}

.msn_pg .pillar_h4 {
  font-size: 17px;
  line-height: 1.4;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 8px;
}

.msn_pg .pillar_txt {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3f2e;
  margin: 0;
}

.msn_pg .pillar_icon_row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.msn_pg .pillar_icon {
  font-size: 20px;
  color: #B48C2F;
  font-family: 'Framework7 Icons';
}

.msn_pg .corner_cut_box {
  position: relative;
  border-radius: 14px;
  border: 1px solid rgba(180, 140, 47, 0.2);
  background: radial-gradient(circle at 100% 100%, rgba(220, 221, 195, 0.6) 0% 60%);
  padding: 40px;
  overflow: hidden;
  transition: border-color 0.18s ease-out;
}

.msn_pg .corner_cut_box::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: #B48C2F;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  border-bottom-left-radius: 5px;
  transition: width 0.2s cubic-bezier(0.34, 1.4, 0.64, 1), height 0.2s cubic-bezier(0.34, 1.4, 0.64, 1);
}

.msn_pg .corner_cut_box:hover::after {
  width: 64px;
  height: 64px;
}

.msn_pg .corner_cut_box:hover {
  border-color: rgba(180, 140, 47, 0.4);
}

.msn_pg .box_h3 {
  font-size: 27px;
  line-height: 1.4;
  color: #2a2318;
  font-weight: 700;
  margin: 0 0 24px;
  position: relative;
  display: inline-block;
}

.msn_pg .box_h3::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 40%;
  height: 2px;
  background: linear-gradient(90deg, #B48C2F);
  animation: underline_draw 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.8s both;
  transform-origin: left;
}

.msn_pg .box_body {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3f2e;
  margin: 0 0 24px;
}

.msn_pg .approach_list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #4a3f2e;
}

.msn_pg .approach_list li {
  padding: 8px 0;
  border-bottom: 1px solid rgba(180, 140, 47, 0.12);
  display: flex;
  align-items: center;
  gap: 8px;
}

.msn_pg .approach_list li:last-child {
  border-bottom: none;
}

.msn_pg .approach_list li .list_icon {
  font-size: 17px;
  color: #B48C2F;
  font-family: 'Framework7 Icons';
  flex-shrink: 0;
}

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

  .msn_pg .strip_img_left {
    height: 240px;
  }

  .msn_pg .strip_img_right {
    height: 200px;
  }

  .msn_pg .main_h1 {
    font-size: 37px;
  }

  .msn_pg .vals_top_row {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .msn_pg .vals_top_row .vals_right_col {
    grid-column: 1 / -1;
    flex-direction: row;
  }

  .msn_pg .pillars_row {
    grid-template-columns: 1fr 2fr;
  }

  .msn_pg .corner_cut_box {
    grid-column: 1 / -1;
  }

  .msn_pg .pillar_anchor {
    display: none;
  }
}

@media (max-width: 768px) {
  .msn_pg .top_strip {
    grid-template-columns: 1fr;
    padding: 40px 24px;
  }

  .msn_pg .strip_img_left,
  .msn_pg .strip_img_right {
    display: none;
  }

  .msn_pg .main_h1 {
    font-size: 37px;
  }

  .msn_pg .vals_area {
    padding: 40px 0;
  }

  .msn_pg .vals_inner {
    padding: 0 24px;
  }

  .msn_pg .vals_top_row {
    grid-template-columns: 1fr;
    margin-bottom: 40px;
  }

  .msn_pg .vals_top_row .vals_right_col {
    flex-direction: column;
  }

  .msn_pg .pillars_row {
    grid-template-columns: 1fr;
  }

  .msn_pg .pillar_anchor {
    display: none;
  }
}

@media (max-width: 320px) {
  .msn_pg .main_h1 {
    font-size: 27px;
  }

  .msn_pg .vals_h2 {
    font-size: 27px;
  }

  .msn_pg .metric_num {
    font-size: 37px;
  }
}

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

.lrn_prog .pg_strip {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, #B48C2F 0%, #DCDDC3 60% 100%);
  pointer-events: none;
}

.lrn_prog .top_band {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 40px 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  position: relative;
}

.lrn_prog .top_band_img_col {
  flex: 0 0 320px;
  position: relative;
}

.lrn_prog .top_band_img_col img {
  width: 320px;
  height: 220px;
  object-fit: cover;
  object-position: center top;
  border-radius: 14px;
  display: block;
}

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

.lrn_prog .top_band_dots circle {
  fill: #B48C2F;
  opacity: 0.18;
}

.lrn_prog .top_band_text {
  flex: 1 1 0;
  position: relative;
}

.lrn_prog .top_band_text h1 {
  font-size: 51px;
  line-height: 1.1;
  color: #2a2218;
  margin: 0 0 24px 0;
  font-weight: 800;
}

.lrn_prog .top_band_text h1 .grad_word {
  background: radial-gradient(circle at 100% 100%, #DCDDC3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: #B48C2F;
}

.lrn_prog .top_band_text p {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0;
  max-width: 520px;
}

.lrn_prog .top_band_curve {
  position: absolute;
  left: 0;
  bottom: -18px;
  width: 120px;
  height: 24px;
  pointer-events: none;
}

.lrn_prog .top_band_curve path {
  stroke: #B48C2F;
  stroke-width: 1.5;
  fill: none;
  opacity: 0.5;
}

.lrn_prog .stat_bar_row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 40px 40px 0;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start;
}

.lrn_prog .stat_item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lrn_prog .stat_item_label {
  font-size: 15px;
  color: #7a6840;
  line-height: 1.4;
}

.lrn_prog .stat_item_val {
  font-size: 27px;
  font-weight: 700;
  color: #2a2218;
  line-height: 1.1;
}

.lrn_prog .risk_bar_wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 180px;
}

.lrn_prog .risk_bar_label {
  font-size: 15px;
  color: #7a6840;
  line-height: 1.4;
}

.lrn_prog .risk_bar_track {
  display: flex;
  flex-direction: row;
  gap: 4px;
  align-items: center;
  height: 14px;
}

.lrn_prog .risk_bar_seg {
  flex: 1 1 0;
  height: 10px;
  border-radius: 5px;
  background: #DCDDC3;
  transition: background 0.18s ease-out;
}

.lrn_prog .risk_bar_seg.active_low {
  background: #B48C2F;
}

.lrn_prog .risk_bar_seg.active_mid {
  background: #c9a84c;
}

.lrn_prog .risk_bar_seg.active_high {
  background: #d4b96b;
}

.lrn_prog .risk_bar_note {
  font-size: 15px;
  color: #3a3020;
  line-height: 1.4;
}

.lrn_prog .divider_a {
  max-width: 1170px;
  margin: 40px auto 0;
  padding: 0 40px;
  height: 1px;
  background: linear-gradient(90deg, #B48C2F 0%, #DCDDC3 60% 100%);
}

.lrn_prog .cards_outer {
  background: #f7f5ef;
  position: relative;
  padding: 80px 0;
}

.lrn_prog .cards_outer::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #B48C2F 40%, #DCDDC3 100%);
  pointer-events: none;
}

.lrn_prog .cards_texture {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(135deg,
      rgba(180, 140, 47, 0.04) 0px,
      rgba(180, 140, 47, 0.04) 1px,
      transparent 1px,
      transparent 12px);
}

.lrn_prog .cards_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
}

.lrn_prog .cards_heading_row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 40px;
}

.lrn_prog .cards_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2218;
  font-weight: 700;
  margin: 0;
  position: relative;
  display: inline-block;
}

.lrn_prog .cards_h2::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 2px;
  width: 0;
  background: #B48C2F;
  border-radius: 5px;
  animation: underline_draw 0.5s 0.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes underline_draw {
  to {
    width: 100%;
  }
}

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

.lrn_prog .prog_card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1.5px solid #DCDDC3;
  transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out;
  animation: card_in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.lrn_prog .prog_card:nth-child(1) {
  animation-delay: 0.08s;
}

.lrn_prog .prog_card:nth-child(2) {
  animation-delay: 0.18s;
}

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

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

.lrn_prog .prog_card:hover {
  border-color: #B48C2F;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
}

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

.lrn_prog .prog_card_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transition: transform 0.2s ease-out;
}

.lrn_prog .prog_card:hover .prog_card_img_wrap img {
  transform: scale(1.04);
}

.lrn_prog .prog_card_body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
}

.lrn_prog .prog_card_title {
  font-size: 27px;
  line-height: 1.1;
  color: #2a2218;
  font-weight: 700;
  margin: 0;
  position: relative;
  display: inline-block;
}

.lrn_prog .prog_card_title::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 2px;
  width: 0;
  background: #B48C2F;
  border-radius: 5px;
  transition: width 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrn_prog .prog_card:hover .prog_card_title::after {
  width: 100%;
}

.lrn_prog .prog_card_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3e28;
  margin: 8px 0 0 0;
}

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

.lrn_prog .prog_card_meta_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #7a6840;
  line-height: 1.4;
}

.lrn_prog .prog_card_meta_item i {
  font-size: 17px;
  color: #B48C2F;
}

.lrn_prog .prog_card_price_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  flex-wrap: wrap;
  gap: 8px;
}

.lrn_prog .prog_card_price {
  font-size: 27px;
  font-weight: 800;
  color: #B48C2F;
  line-height: 1.1;
}

.lrn_prog .prog_card_likes {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #7a6840;
}

.lrn_prog .prog_card_likes i {
  font-size: 17px;
  color: #B48C2F;
}

.lrn_prog .prog_card_footer {
  padding: 0 24px 24px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
}

.lrn_prog .prog_card_seats {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #7a6840;
}

.lrn_prog .prog_card_seats i {
  font-size: 17px;
  color: #B48C2F;
}

.lrn_prog .prog_card_btn {
  display: inline-block;
  padding: 8px 24px;
  background: #B48C2F;
  color: #fff;
  border-radius: 38px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #B48C2F;
  transition: border-color 0.15s ease-out, color 0.15s ease-out, background 0.15s ease-out;
  line-height: 1.4;
  margin-left: auto;
}

.lrn_prog .prog_card_btn:hover {
  border-color: #8a6820;
  background: #8a6820;
  color: #fff;
}

.lrn_prog .prog_card_btn:focus {
  outline: 2px solid #B48C2F;
  outline-offset: 3px;
}

.lrn_prog .divider_b {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
}

.lrn_prog .divider_b_line {
  height: 1px;
  background: linear-gradient(90deg, #DCDDC3 40%, #B48C2F 100%);
  margin-top: 0;
}

.lrn_prog .about_strip {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 40px;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start;
  position: relative;
  margin-left: 80px;
}

.lrn_prog .about_strip_text {
  flex: 1 1 0;
}

.lrn_prog .about_strip_text h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2218;
  font-weight: 700;
  margin: 0 0 24px 0;
  position: relative;
  display: inline-block;
}

.lrn_prog .about_strip_text h2::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 2px;
  width: 0;
  background: #B48C2F;
  border-radius: 5px;
  animation: underline_draw 0.5s 0.35s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.lrn_prog .about_strip_text p {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0 0 24px 0;
}

.lrn_prog .about_strip_text p:last-child {
  margin-bottom: 0;
}

.lrn_prog .about_strip_aside {
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.lrn_prog .aside_fact {
  background: #f7f5ef;
  border-radius: 14px;
  padding: 24px;
  border-left: 4px solid #B48C2F;
  border-top: 1px solid #DCDDC3;
  border-right: 1px solid #DCDDC3;
  border-bottom: 1px solid #DCDDC3;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.15s ease-out;
}

.lrn_prog .aside_fact:hover {
  border-left-color: #8a6820;
}

.lrn_prog .aside_fact_label {
  font-size: 15px;
  color: #7a6840;
  line-height: 1.4;
}

.lrn_prog .aside_fact_val {
  font-size: 27px;
  font-weight: 700;
  color: #2a2218;
  line-height: 1.1;
}

.lrn_prog .methods_band {
  background: #2a2218;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.lrn_prog .methods_band::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: #B48C2F;
  pointer-events: none;
}

.lrn_prog .methods_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 40px;
}

.lrn_prog .methods_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #DCDDC3;
  font-weight: 700;
  margin: 0 0 40px 0;
  position: relative;
  display: inline-block;
}

.lrn_prog .methods_h2::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 2px;
  width: 0;
  background: #B48C2F;
  border-radius: 5px;
  animation: underline_draw 0.5s 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.lrn_prog .methods_list {
  display: flex;
  flex-direction: row;
  gap: 40px;
  flex-wrap: wrap;
}

.lrn_prog .method_item {
  flex: 1 1 200px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: card_in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.lrn_prog .method_item:nth-child(1) {
  animation-delay: 0.1s;
}

.lrn_prog .method_item:nth-child(2) {
  animation-delay: 0.18s;
}

.lrn_prog .method_item:nth-child(3) {
  animation-delay: 0.26s;
}

.lrn_prog .method_item:nth-child(4) {
  animation-delay: 0.34s;
}

.lrn_prog .method_icon_wrap {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: rgba(180, 140, 47, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid rgba(180, 140, 47, 0.3);
  transition: background 0.15s ease-out, border-color 0.15s ease-out;
}

.lrn_prog .method_item:hover .method_icon_wrap {
  background: rgba(180, 140, 47, 0.28);
  border-color: #B48C2F;
}

.lrn_prog .method_icon_wrap i {
  font-size: 17px;
  color: #B48C2F;
}

.lrn_prog .method_item_title {
  font-size: 17px;
  font-weight: 700;
  color: #DCDDC3;
  line-height: 1.4;
  margin: 0;
}

.lrn_prog .method_item_desc {
  font-size: 15px;
  color: #a09070;
  line-height: 1.6;
  margin: 0;
}

.lrn_prog .contact_strip {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  position: relative;
}

.lrn_prog .contact_strip::before {
  content: '';
  position: absolute;
  left: 40px;
  top: 0;
  width: 60px;
  height: 1px;
  background: #B48C2F;
}

.lrn_prog .contact_text {
  flex: 1 1 0;
}

.lrn_prog .contact_text h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2218;
  font-weight: 700;
  margin: 0 0 24px 0;
  position: relative;
  display: inline-block;
}

.lrn_prog .contact_text h2::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 2px;
  width: 0;
  background: #B48C2F;
  border-radius: 5px;
  animation: underline_draw 0.5s 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.lrn_prog .contact_text p {
  font-size: 17px;
  line-height: 1.6;
  color: #3a3020;
  margin: 0;
}

.lrn_prog .contact_form_wrap {
  flex: 0 0 400px;
}

.lrn_prog .contact_form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: #f7f5ef;
  border-radius: 14px;
  padding: 40px;
  border: 1.5px solid #DCDDC3;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
}

.lrn_prog .form_field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lrn_prog .form_field label {
  font-size: 15px;
  color: #3a3020;
  font-weight: 600;
  line-height: 1.4;
}

.lrn_prog .form_field input,
.lrn_prog .form_field textarea {
  font-size: 15px;
  color: #2a2218;
  background: #fff;
  border: 1.5px solid #DCDDC3;
  border-radius: 5px;
  padding: 8px 24px;
  line-height: 1.6;
  transition: border-color 0.15s ease-out;
  box-shadow: inset 1px 2px 4px 0 rgba(180, 140, 47, 0.06);
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.lrn_prog .form_field input::placeholder,
.lrn_prog .form_field textarea::placeholder {
  color: rgba(42, 34, 24, 0.4);
}

.lrn_prog .form_field input:focus,
.lrn_prog .form_field textarea:focus {
  border-color: #B48C2F;
}

.lrn_prog .form_field textarea {
  resize: vertical;
  min-height: 80px;
}

.lrn_prog .form_submit_btn {
  padding: 8px 40px;
  background: #B48C2F;
  color: #fff;
  border: 2px solid #B48C2F;
  border-radius: 38px;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.15s ease-out, background 0.15s ease-out;
  line-height: 1.6;
  align-self: flex-start;
}

.lrn_prog .form_submit_btn:hover {
  border-color: #8a6820;
  background: #8a6820;
}

.lrn_prog .form_submit_btn:focus {
  outline: 2px solid #B48C2F;
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .lrn_prog .top_band {
    padding: 80px 24px 40px;
    gap: 24px;
  }

  .lrn_prog .top_band_img_col {
    flex: 0 0 220px;
  }

  .lrn_prog .top_band_img_col img {
    width: 220px;
    height: 160px;
  }

  .lrn_prog .top_band_text h1 {
    font-size: 37px;
  }

  .lrn_prog .about_strip {
    margin-left: 0;
    padding: 80px 24px;
    gap: 40px;
  }

  .lrn_prog .about_strip_aside {
    flex: 0 0 200px;
  }

  .lrn_prog .contact_strip {
    flex-direction: column;
    padding: 80px 24px;
  }

  .lrn_prog .contact_form_wrap {
    flex: 1 1 auto;
    width: 100%;
  }

  .lrn_prog .stat_bar_row {
    padding: 40px 24px 0;
    flex-wrap: wrap;
  }

  .lrn_prog .cards_inner {
    padding: 0 24px;
  }

  .lrn_prog .methods_inner {
    padding: 0 24px;
  }

  .lrn_prog .divider_a {
    padding: 0 24px;
  }
}

@media (max-width: 768px) {
  .lrn_prog .top_band {
    flex-direction: column;
    padding: 40px 24px;
  }

  .lrn_prog .top_band_img_col {
    display: none;
  }

  .lrn_prog .top_band_text h1 {
    font-size: 37px;
  }

  .lrn_prog .cards_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .lrn_prog .about_strip {
    flex-direction: column;
    gap: 24px;
    padding: 40px 24px;
  }

  .lrn_prog .about_strip_aside {
    flex: 1 1 auto;
    width: 100%;
  }

  .lrn_prog .methods_list {
    flex-direction: column;
    gap: 24px;
  }

  .lrn_prog .contact_strip {
    padding: 40px 24px;
  }

  .lrn_prog .contact_form {
    padding: 24px;
  }

  .lrn_prog .stat_bar_row {
    gap: 24px;
  }
}

@media (max-width: 320px) {
  .lrn_prog .top_band_text h1 {
    font-size: 27px;
  }

  .lrn_prog .cards_h2,
  .lrn_prog .about_strip_text h2,
  .lrn_prog .methods_h2,
  .lrn_prog .contact_text h2 {
    font-size: 27px;
  }

  .lrn_prog .prog_card_price {
    font-size: 17px;
  }
}

.ct_us {
  background: #fff;
  min-height: 100vh;
  overflow-x: clip;
  position: relative;
}

.ct_us ::selection {
  background: #B48C2F;
  color: #fff;
}

.ct_us * {
  box-sizing: border-box;
}

.ct_us .strip {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  max-width: 1170px;
  margin: 0 auto;
  padding: 40px 24px;
  border-bottom: 2px dashed transparent;
  border-image: repeating-linear-gradient(90deg, #B48C2F 0px, #B48C2F 8px 8px 16px, #B48C2F 16px, #B48C2F 28px 28px 40px) 1;
}

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

.ct_us .strip_item .f7-icons {
  font-size: 20px;
  color: #B48C2F;
}

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

.ct_us .strip_lbl a {
  color: #2a2318;
  text-decoration: none;
  border-bottom: 1px solid rgba(180, 140, 47, 0.4);
  transition: border-color 0.15s ease-out, color 0.15s ease-out;
}

.ct_us .strip_lbl a:hover {
  color: #B48C2F;
  border-bottom-color: #B48C2F;
}

.ct_us .pg_top {
  position: relative;
  background: #2a2318;
  overflow: hidden;
}

.ct_us .pg_top_img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  opacity: 0.35;
}

.ct_us .pg_top_grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(180, 140, 47, 0.55) 0%, rgba(42, 35, 24, 0.92) 100%);
  pointer-events: none;
}

.ct_us .pg_top_dec {
  position: absolute;
  bottom: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  border-radius: 38px;
  border: 2px solid rgba(180, 140, 47, 0.18);
  pointer-events: none;
  transform: rotate(18deg);
}

.ct_us .pg_top_dec2 {
  position: absolute;
  top: 24px;
  left: -30px;
  width: 120px;
  height: 120px;
  border-radius: 38px;
  border: 1.5px solid rgba(220, 221, 195, 0.13);
  pointer-events: none;
  transform: rotate(-12deg);
}

.ct_us .pg_top_inner {
  position: relative;
  z-index: 1;
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 24px 80px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.ct_us .pg_eyebrow {
  font-size: 15px;
  line-height: 1.4;
  color: #DCDDC3;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ct_us .pg_h1 {
  font-size: 51px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700;
  max-width: 640px;
}

.ct_us .pg_h1 .grad_word {
  background: radial-gradient(circle at 100% 100%, #DCDDC3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ct_us .pg_sub {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(220, 221, 195, 0.82);
  max-width: 480px;
}

.ct_us .form_area {
  background: #f5f3ee;
  padding: 80px 24px;
  position: relative;
}

.ct_us .form_area_inner {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start;
}

.ct_us .form_aside {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: sticky;
  top: 40px;
}

.ct_us .form_aside_h {
  font-size: 37px;
  line-height: 1.1;
  font-weight: 700;
  color: #2a2318;
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}

.ct_us .form_aside_h::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #B48C2F;
  transform: scaleX(0);
  transform-origin: left;
  animation: underline_draw 0.18s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s forwards;
}

@keyframes underline_draw {
  to {
    transform: scaleX(1);
  }
}

.ct_us .form_aside_txt {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3f2f;
}

.ct_us .form_aside_link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #B48C2F;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1.5px solid rgba(180, 140, 47, 0.35);
  padding-bottom: 4px;
  transition: border-color 0.12s ease-out;
  align-self: flex-start;
}

.ct_us .form_aside_link:hover {
  border-color: #B48C2F;
}

.ct_us .form_card {
  background: #fff;
  border-radius: 14px;
  padding: 40px;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
}

.ct_us .form_row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}

.ct_us .form_row:last-of-type {
  margin-bottom: 0;
}

.ct_us .f_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #2a2318;
  font-weight: 600;
}

.ct_us .f_lbl .req {
  color: #B48C2F;
  margin-left: 2px;
}

.ct_us .f_input {
  width: 100%;
  padding: 14px 16px;
  border: 1.5px solid #DCDDC3;
  border-radius: 5px;
  font-size: 15px;
  line-height: 1.4;
  color: #2a2318;
  background: #fff;
  transition: border-color 0.16s ease-out, box-shadow 0.16s ease-out;
  box-shadow: inset 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}

.ct_us .f_input::placeholder {
  color: rgba(42, 35, 24, 0.4);
}

.ct_us .f_input:focus {
  border-color: #B48C2F;
  box-shadow: inset 1px 3px 3px 0 rgba(180, 140, 47, 0.07), 0 0 0 3px rgba(180, 140, 47, 0.12);
}

.ct_us .f_select {
  width: 100%;
  padding: 14px 40px 14px 16px;
  border: 1.5px solid #DCDDC3;
  border-radius: 5px;
  font-size: 15px;
  line-height: 1.4;
  color: #2a2318;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23B48C2F' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center;
  transition: border-color 0.16s ease-out;
  box-shadow: inset 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.ct_us .f_select::placeholder {
  color: rgba(42, 35, 24, 0.4);
}

.ct_us .f_select:focus {
  border-color: #B48C2F;
  box-shadow: inset 1px 3px 3px 0 rgba(180, 140, 47, 0.07), 0 0 0 3px rgba(180, 140, 47, 0.12);
}

.ct_us .radio_grp {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
}

.ct_us .radio_opt {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 10px 16px;
  border: 1.5px solid #DCDDC3;
  border-radius: 5px;
  transition: border-color 0.14s ease-out, background 0.14s ease-out;
  font-size: 15px;
  color: #2a2318;
  line-height: 1.4;
  position: relative;
}

.ct_us .radio_opt input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid #DCDDC3;
  border-radius: 38px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.14s ease-out, background 0.14s ease-out;
  flex-shrink: 0;
}

.ct_us .radio_opt input[type="radio"]:checked {
  border-color: #B48C2F;
  background: #B48C2F;
  box-shadow: inset 0 0 0 3px #fff;
}

.ct_us .radio_opt:has(input[type="radio"]:checked) {
  border-color: #B48C2F;
  background: rgba(180, 140, 47, 0.06);
}

.ct_us .radio_opt:hover {
  border-color: rgba(180, 140, 47, 0.5);
}

.ct_us .privacy_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 24px;
  margin-top: 8px;
}

.ct_us .priv_chk {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #DCDDC3;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
  transition: border-color 0.14s ease-out, background 0.14s ease-out;
  box-shadow: inset 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
  position: relative;
}

.ct_us .priv_chk:checked {
  background: #B48C2F;
  border-color: #B48C2F;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

.ct_us .priv_txt {
  font-size: 15px;
  line-height: 1.6;
  color: #4a3f2f;
}

.ct_us .priv_txt a {
  color: #B48C2F;
  text-decoration: none;
  border-bottom: 1px solid rgba(180, 140, 47, 0.4);
  transition: border-color 0.12s ease-out;
}

.ct_us .priv_txt a:hover {
  border-color: #B48C2F;
}

.ct_us .btn_submit {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: #B48C2F;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  border: 2px solid #B48C2F;
  border-radius: 14px;
  cursor: pointer;
  transition: border-color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
  width: 100%;
  justify-content: center;
}

.ct_us .btn_submit:hover {
  border-color: #8a6820;
  background: #B48C2F;
}

.ct_us .btn_submit:focus {
  outline: 3px solid rgba(180, 140, 47, 0.4);
  outline-offset: 2px;
}

.ct_us .btn_submit:active {
  background: #8a6820;
  border-color: #8a6820;
}

.ct_us .two_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.ct_us .addr_band {
  background: #2a2318;
  padding: 80px 24px;
  position: relative;
  overflow: hidden;
}

.ct_us .addr_band_dec {
  position: absolute;
  top: -60px;
  right: -60px;
  width: 300px;
  height: 300px;
  border-radius: 38px;
  border: 1.5px solid rgba(180, 140, 47, 0.12);
  transform: rotate(25deg);
  pointer-events: none;
}

.ct_us .addr_band_inner {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.ct_us .addr_col {
  flex: 1;
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ct_us .addr_col_h {
  font-size: 15px;
  line-height: 1.4;
  color: #DCDDC3;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  margin-bottom: 8px;
}

.ct_us .addr_val {
  font-size: 17px;
  line-height: 1.6;
  color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.ct_us .addr_val .f7-icons {
  font-size: 18px;
  color: #B48C2F;
  flex-shrink: 0;
}

.ct_us .addr_val a {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(220, 221, 195, 0.25);
  transition: border-color 0.14s ease-out, color 0.14s ease-out;
}

.ct_us .addr_val a:hover {
  color: #DCDDC3;
  border-color: #DCDDC3;
}

.ct_us .addr_divider {
  width: 1px;
  background: rgba(180, 140, 47, 0.25);
  align-self: stretch;
  min-height: 80px;
}

.ct_us .feat_strip {
  display: flex;
  flex-direction: row;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(180, 140, 47, 0.2);
  width: 100%;
}

.ct_us .feat_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 120px;
  animation: appear_scale 0.18s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.ct_us .feat_item:nth-child(1) {
  animation-delay: 0.05s;
}

.ct_us .feat_item:nth-child(2) {
  animation-delay: 0.1s;
}

.ct_us .feat_item:nth-child(3) {
  animation-delay: 0.15s;
}

.ct_us .feat_item:nth-child(4) {
  animation-delay: 0.2s;
}

@keyframes appear_scale {
  from {
    transform: scale(0.8);
    opacity: 0;
  }

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

.ct_us .feat_icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(180, 140, 47, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ct_us .feat_icon .f7-icons {
  font-size: 22px;
  color: #B48C2F;
}

.ct_us .feat_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #DCDDC3;
  text-align: center;
}

.ct_us .curved_connector {
  display: block;
  width: 100%;
  height: 40px;
  overflow: hidden;
  pointer-events: none;
}

.ct_us .curved_connector svg {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 1024px) {
  .ct_us .form_area_inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ct_us .form_aside {
    position: static;
  }

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

  .ct_us .addr_band_inner {
    gap: 40px;
  }

  .ct_us .addr_divider {
    display: none;
  }

  .ct_us .strip {
    flex-wrap: wrap;
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .ct_us .pg_top_inner {
    padding: 40px 24px;
  }

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

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

  .ct_us .form_area {
    padding: 40px 24px;
  }

  .ct_us .form_card {
    padding: 24px;
  }

  .ct_us .two_row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

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

  .ct_us .addr_band {
    padding: 40px 24px;
  }

  .ct_us .feat_strip {
    gap: 24px;
  }

  .ct_us .pg_top_img {
    display: none;
  }

  .ct_us .strip {
    padding: 24px;
  }
}

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

  .ct_us .form_card {
    padding: 24px 16px;
  }

  .ct_us .btn_submit {
    padding: 16px 24px;
    font-size: 15px;
  }
}

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

.success_page .success_wrap {
  max-width: 1170px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.success_page .success_card {
  background: #ffffff;
  border: 1.5px solid #DCDDC3;
  border-radius: 14px;
  padding: 80px 40px;
  max-width: 560px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  box-shadow: 1px 8px 44px 0 rgba(180, 140, 47, 0.14);
  text-align: center;
}

.success_page .success_icon_ring {
  width: 72px;
  height: 72px;
  border-radius: 38px;
  background: linear-gradient(circle at 100% 100%, #DCDDC3);
  border: 2px solid #B48C2F;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.success_page .success_icon_ring svg {
  display: block;
}

.success_page .success_heading {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2118;
  margin: 0;
  font-weight: 700;
}

.success_page .success_heading .success_accent_word {
  background: radial-gradient(circle at 100% 100%, #B48C2F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.success_page .success_desc {
  font-size: 17px;
  line-height: 1.6;
  color: #3d3320;
  margin: 0;
  max-width: 420px;
}

.success_page .success_divider {
  width: 48px;
  height: 2px;
  background: #B48C2F;
  border-radius: 5px;
  flex-shrink: 0;
}

.success_page .success_note {
  font-size: 15px;
  line-height: 1.4;
  color: #5a4e35;
  margin: 0;
  border-left: 3px solid #DCDDC3;
  border-top: 1px solid #D6D7B8;
  border-radius: 5px;
  padding: 24px;
  background: #fdfdf8;
  width: 100%;
  text-align: left;
  box-shadow: 1px 3px 3px 0 rgba(180, 140, 47, 0.07);
}

.success_page .success_actions {
  display: flex;
  flex-direction: row;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}

.success_page .success_btn_primary {
  display: inline-block;
  padding: 24px 40px;
  background: #B48C2F;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  border-radius: 5px;
  text-decoration: none;
  border: 2px solid #B48C2F;
  transition: border-color 0.18s ease-out, color 0.15s ease;
  box-shadow: 1px 6px 22px 0 rgba(180, 140, 47, 0.09);
  cursor: pointer;
}

.success_page .success_btn_primary:hover {
  border-color: #8a6a20;
  color: #fff8e8;
}

.success_page .success_btn_primary:focus {
  outline: 3px solid #B48C2F;
  outline-offset: 3px;
}

.success_page .success_btn_ghost {
  display: inline-block;
  padding: 24px 40px;
  background: transparent;
  color: #2a2118;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  border-radius: 5px;
  text-decoration: none;
  border: 2px solid #DCDDC3;
  transition: border-color 0.12s ease-out, color 0.18s ease;
  cursor: pointer;
}

.success_page .success_btn_ghost:hover {
  border-color: #B48C2F;
  color: #B48C2F;
}

.success_page .success_btn_ghost:focus {
  outline: 3px solid #B48C2F;
  outline-offset: 3px;
}

.success_page .success_contact_row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.success_page .success_contact_label {
  font-size: 15px;
  line-height: 1.4;
  color: #5a4e35;
  margin: 0;
}

.success_page .success_contact_link {
  font-size: 15px;
  line-height: 1.4;
  color: #B48C2F;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s ease-out;
}

.success_page .success_contact_link:hover {
  color: #8a6a20;
}

.success_page .success_contact_link:focus {
  outline: 2px solid #B48C2F;
  outline-offset: 2px;
  border-radius: 5px;
}

@media (max-width: 768px) {
  .success_page {
    padding: 80px 24px;
  }

  .success_page .success_card {
    padding: 40px 24px;
  }

  .success_page .success_heading {
    font-size: 27px;
  }

  .success_page .success_actions {
    flex-direction: column;
    align-items: stretch;
  }

  .success_page .success_btn_primary,
  .success_page .success_btn_ghost {
    text-align: center;
  }
}

@media (max-width: 320px) {
  .success_page .success_card {
    padding: 24px 8px;
  }

  .success_page .success_btn_primary,
  .success_page .success_btn_ghost {
    padding: 24px 8px;
  }
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
#soc{
  text-decoration:none; 
  color:#DCDDC3;
}