/* Toplink Sourcing - generated by wp-local/tools/build-theme.js from html-src/src. Do not edit by hand. */
body { line-height: normal; background-color: #fff; }
h1, h2, h3, h4, h5, h6 { line-height: normal; }
h1 { font-size: 2em; } h2 { font-size: 1.5em; } h3 { font-size: 1.17em; } h4 { font-size: 1em; }
img { max-width: none; height: auto; }
[class*="brxe-"] { max-width: none; }
*, ::before, ::after { border-color: currentcolor; }
/* Bricks' generic form-control styles are not part of the design: back to the browser defaults.
   :where() keeps these at zero specificity so every rule below still applies. */
:where(button, input, optgroup, select, textarea) { font-family: revert; font-size: revert; line-height: revert; margin: revert; overflow: revert; text-transform: revert; text-align: revert; }
:where(button) { border: revert; cursor: revert; outline: revert; padding: revert; }
:where(label) { color: revert; display: revert; font-weight: revert; margin-bottom: revert; }
:where(.input, input:not([type=submit]), select, textarea) { border-style: revert; border-width: revert; box-shadow: revert; color: revert; font-size: revert; line-height: revert; outline: revert; padding: revert; transition: revert; width: revert; }
:where(input[type=range], input[type=button], input[type=checkbox], input[type=radio], input[type=submit]) { border: revert; height: revert; line-height: revert; padding: revert; width: revert; cursor: revert; }
:where(select) { -webkit-appearance: revert; appearance: revert; background-color: revert; background-image: revert; background-position: revert; background-repeat: revert; background-size: revert; padding: revert; cursor: revert; }
:where(textarea) { height: revert; min-height: revert; padding: revert; overflow: revert; }
/* NOTE Bricks forces textarea { line-height: inherit !important }: typed lines in the message box use the
   inherited line-height, not the design's 2.2rem (setting it on the wrapper shifts the layout by 1px) */
#brx-content { overflow: visible; }
/* logged-in editors: keep the fixed header below the WordPress admin bar */
@media screen and (min-width: 601px) { body.admin-bar header#brx-header { top: var(--wp-admin--admin-bar--height, 32px); } }
* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  --primary: #f98821;
  --secondary: #f4800c;
  --title: #0d1b37;
  --text: #41577e;
  --label: #4a6188;
  --navy: #1a3263;
  --navy-light: #304e82;
  --deep: #08294b;
  --cream: #f7f4ef;
  --card: #faf2e7;
  --sand: #efd2b0;
  --line: #e4e2dd;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 134rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
}
button {
  cursor: pointer;
  background-color: transparent;
}
body {
  font-size: 1.6rem;
  color: var(--title);
  font-weight: 400;
  font-family: 'Instrument Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: 'Archivo', 'Instrument Sans', Helvetica, Arial, sans-serif;
  font-weight: 700;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.5s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  color: var(--label);
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-image: radial-gradient(var(--secondary) 0%, var(--secondary) 17%, rgba(249, 136, 33, 0.19) 31%, rgba(249, 136, 33, 0.19) 33%, rgba(249, 136, 33, 0.12) 34%);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 5.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--primary);
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon p {
  color: var(--text);
  font-size: 1.8rem;
  line-height: 2.6rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2rem;
}
.tcon_white h1,
.tcon_white h2 {
  color: #fff;
}
.tcon_white p {
  color: rgba(255, 255, 255, 0.7);
}
.tcon_white .tag {
  color: rgba(255, 255, 255, 0.7);
}
.tcon_center {
  text-align: center;
}
.tcon_center p {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}
.btn,
.btn_line,
.btn_white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 5.4rem;
  padding: 0px 3.2rem;
  border-radius: 10rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 600;
  font-size: 1.6rem;
  transition: 0.3s;
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: #ff9737;
  box-shadow: 0px 0.8rem 2rem rgba(249, 136, 33, 0.32);
}
.btn_line {
  color: var(--title);
  border: 1px solid rgba(13, 27, 55, 0.25);
}
.btn_line:hover {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.btn_white {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.42);
}
.btn_white:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.6rem;
  color: var(--title);
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  transition: 0.3s;
  background-color: var(--secondary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23fff' stroke-width='1.4'%3E%3Cpath d='M0 6h12M7.6 1.4 12.2 6l-4.6 4.6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.4rem 1.2rem;
}
.btn_text:hover::after {
  transform: translateX(0.4rem);
}
.swiper_btns {
  display: flex;
  gap: 2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  transition: 0.3s;
  color: var(--title);
  border: 1px solid rgba(13, 27, 55, 0.2);
}
.swiper_btns div::after {
  content: '';
  width: 1.4rem;
  height: 1.2rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M14 6H2M6.4 1.4 1.8 6l4.6 4.6'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M14 6H2M6.4 1.4 1.8 6l4.6 4.6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns .btn_next {
  color: #fff;
  border-color: var(--secondary);
  background-color: var(--secondary);
}
.swiper_btns div:hover {
  color: #fff;
  border-color: var(--secondary);
  background-color: var(--secondary);
}
.swiper_btns .btn_next:hover {
  background-color: #ff9737;
  border-color: #ff9737;
}
.swiper_btns_white div {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
}
.swiper_btns .swiper-button-disabled {
  /* opacity: 0.4; */
  pointer-events: none;
}
.swiper_btns:has(.swiper-button-lock) {
  display: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  font-size: 1.5rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.5rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background-color: var(--secondary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M1 4.2 3.5 6.6 9 1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.9rem 0.7rem;
}

/* #region common */
.flex {
  display: flex;
}
.wrap {
  flex-wrap: wrap;
}
.between {
  justify-content: space-between;
}
.flex_middle {
  align-items: center;
}
.flex_top {
  align-items: flex-start;
}
.center {
  text-align: center;
}
body.fixed {
  overflow: hidden;
}
body.toplink-site {
  overflow-x: hidden;
  padding-top: 7.7rem;
}
.only_mobile {
  display: none;
}
/* #endregion */

/* #region header */
header {
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 996;
  width: 100%;
  transition: transform 0.4s, box-shadow 0.4s;
  background-color: #fff;
}
header.hide {
  transform: translateY(-100%);
}
header.sticky {
  transform: translateY(0px);
  box-shadow: 0px 0.4rem 2rem rgba(13, 27, 55, 0.08);
}
header .content > .flex {
  height: 7.7rem;
}
header .logo {
  display: block;
  position: relative;
  flex-shrink: 0;
}
header .logo img {
  display: block;
  width: 16.8rem;
  height: auto;
}
header .logo p,
footer .logo p {
  width: 1px;
  height: 1px;
  overflow: hidden;
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
}
header nav {
  position: absolute;
  left: 50%;
  top: 0px;
  transform: translateX(-50%);
}
header nav .menu {
  display: flex;
  gap: 4.8rem;
}
header nav .menu > li {
  position: relative;
}
header nav .menu > li > a {
  display: block;
  position: relative;
  white-space: nowrap;
  color: #111214;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 7.7rem;
  transition: color 0.3s;
}
header nav .menu > li > a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 2.1rem;
  width: 0px;
  height: 2px;
  border-radius: 2px;
  transition: 0.3s;
  transform: translateX(-50%);
  background-color: var(--primary);
}
header nav .menu > li:hover > a,
header nav .menu > li.current-menu-item > a {
  color: var(--primary);
}
header nav .menu > li:hover > a::after,
header nav .menu > li.current-menu-item > a::after {
  width: 1.8rem;
}
header nav .sub-menu {
  position: absolute;
  left: 50%;
  top: calc(100% - 1.4rem);
  min-width: 22rem;
  padding: 0.8rem;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  transform: translate(-50%, 1rem);
  border-radius: 1.6rem;
  background-color: #fff;
  box-shadow: 0px 1rem 3rem rgba(13, 27, 55, 0.12);
}
header nav .menu > li:hover > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0px);
}
header nav .sub-menu a {
  display: block;
  white-space: nowrap;
  padding: 1rem 1.6rem;
  border-radius: 1rem;
  font-size: 1.5rem;
  transition: 0.2s;
}
header nav .sub-menu a:hover {
  color: var(--primary);
  background-color: #fff6ec;
}
header .btns {
  display: flex;
  align-items: center;
  gap: 2.2rem;
}
header .btn_search,
header .btn_lang {
  width: 2.2rem;
  height: 2.2rem;
  opacity: 0.9;
  transition: 0.3s;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
header .btn_search {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none' stroke='%23111214' stroke-width='1.5'%3E%3Ccircle cx='9.4' cy='9.4' r='7.2'/%3E%3Cpath d='m15 15 5 5'/%3E%3C/svg%3E");
}
header .btn_lang {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none' stroke='%23111214' stroke-width='1.5'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M2.5 11h17M11 2.5c4.5 5 4.5 12 0 17-4.5-5-4.5-12 0-17Z'/%3E%3C/svg%3E");
}
header .btn_search:hover,
header .btn_lang:hover {
  opacity: 1;
  transform: scale(1.08);
}
header .lang {
  position: relative;
  display: flex;
  align-items: center;
}
header .lang_list {
  position: absolute;
  left: 50%;
  top: calc(100% + 1.8rem);
  min-width: 12rem;
  padding: 0.6rem;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  transform: translate(-50%, 1rem);
  border-radius: 1.2rem;
  background-color: #fff;
  box-shadow: 0px 1rem 3rem rgba(13, 27, 55, 0.12);
}
header .lang:hover .lang_list {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0px);
}
header .lang_list a {
  display: block;
  padding: 0.8rem 1.4rem;
  border-radius: 0.8rem;
  font-size: 1.5rem;
  transition: 0.2s;
}
header .lang_list a:hover,
header .lang_list a.current {
  color: var(--primary);
  background-color: #fff6ec;
}
header .btns .btn {
  height: 5.2rem;
  padding: 0px 3rem;
}
header .btn_menu {
  display: none;
}
header .search_bar {
  overflow: hidden;
  max-height: 0px;
  transition: max-height 0.4s;
  border-top: 1px solid rgba(13, 27, 55, 0);
}
header.search_open .search_bar {
  max-height: 12rem;
  border-top-color: rgba(13, 27, 55, 0.08);
}
header .search_form {
  display: flex;
  gap: 1.2rem;
  padding: 2rem 0px;
}
header .search_form input {
  flex: 1;
  height: 5.2rem;
  padding: 0px 2.2rem;
  border-radius: 10rem;
  font-size: 1.6rem;
  background-color: #f4f5f7;
}
header .search_form button {
  height: 5.2rem;
  padding: 0px 3rem;
  border-radius: 10rem;
  color: #fff;
  font-weight: 600;
  font-size: 1.6rem;
  transition: 0.3s;
  background-color: var(--primary);
}
header .search_form button:hover {
  background-color: #ff9737;
}
/* #endregion */

/* #region footer */
footer {
  position: relative;
  padding: 11.5rem 0px 4.4rem;
  color: #fff;
  background-color: var(--title);
}
footer .top {
  padding-bottom: 12.6rem;
}
footer .info {
  width: 40rem;
}
footer .logo {
  display: block;
  position: relative;
}
footer .logo img {
  display: block;
  width: 27.7rem;
  height: auto;
}
footer .slogan {
  margin-top: 3.9rem;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
}
footer .info .btn {
  width: 29.7rem;
  margin-top: 3.4rem;
}
footer .socials {
  display: flex;
  gap: 0.85rem;
  margin-top: 4.2rem;
  margin-top: 3.8rem;
}
footer .socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.88rem;
  height: 4.88rem;
  border-radius: 50%;
  transition: 0.3s;
  background-color: rgba(255, 255, 255, 0.08);
}
footer .socials img {
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  object-fit: contain;
}
footer .socials a:hover {
  background-color: var(--secondary);
}
footer .foot_navs {
  display: flex;
  gap: 8rem;
  padding-top: 12.5rem;
}
footer .foot_nav {
  min-width: 20rem;
}
footer .foot_nav:last-child {
  width: 20rem;
}
footer .foot_nav strong {
  display: block;
  margin-bottom: 1.4rem;
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: 0.02em;
}
footer .foot_nav .menu li {
  line-height: 3.4rem;
}
footer .foot_nav .menu a {
  font-size: 1.8rem;
  opacity: 0.61;
  transition: 0.3s;
}
footer .foot_nav .menu a:hover {
  opacity: 1;
  color: var(--secondary);
}
footer .bot {
  padding-top: 2.4rem;
  font-size: 1.4rem;
}
footer .bot .menu {
  display: flex;
  align-items: center;
  opacity: 0.68;
}
footer .bot .menu li + li {
  position: relative;
  margin-left: 1.9rem;
  padding-left: 1.9rem;
}
footer .bot .menu li + li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 50%;
  width: 1px;
  height: 1.32rem;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.3);
}
footer .bot .menu a:hover {
  color: var(--secondary);
}
footer .back_top {
  position: absolute;
  right: 10.4rem;
  bottom: 4.7rem;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  transition: 0.3s;
  background-color: var(--secondary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 15' fill='none' stroke='%23fff' stroke-width='1.25'%3E%3Cpath d='M6 15V1M1 6l5-5 5 5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.1rem 1.4rem;
}
footer .back_top:hover {
  transform: translateY(-0.4rem);
  background-color: var(--primary);
}
/* #endregion */

/* #region mobile */
@media screen and (max-width: 1400px) {
  header nav {
    position: static;
    transform: none;
  }
  header nav .menu {
    gap: 3rem;
  }
  header .content > .flex {
    gap: 2rem;
  }
}

@media screen and (max-width: 1024px) {
  header nav .menu {
    gap: 2rem;
  }
  header nav .menu > li > a {
    font-size: 1.5rem;
  }
  footer .foot_navs {
    gap: 4rem;
    
  }
  footer .foot_nav,
  footer .foot_nav:last-child {
    width: auto;
  }
}

@media screen and (max-width: 768px) {
  body.toplink-site {
    padding-top: 60px;
  }
  header .content > .flex {
    height: 60px;
  }
  header .logo img {
    width: 130px;
  }
  header nav {
    position: fixed;
    left: 0px;
    top: 60px;
    width: 100%;
    height: calc(100vh - 60px);
    padding: 10px 20px 40px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    background-color: #fff;
  }
  header.menu_open nav {
    opacity: 1;
    visibility: visible;
  }
  header nav .menu {
    display: block;
  }
  header nav .menu > li > a {
    line-height: 52px;
    font-size: 16px;
    border-bottom: 1px solid rgba(13, 27, 55, 0.08);
  }
  header nav .menu > li > a::after {
    display: none;
  }
  header nav .sub-menu {
    position: static;
    opacity: 1;
    min-width: 0px;
    padding: 6px 0px 10px;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
  }
  header nav .sub-menu a {
    padding: 8px 0px;
    opacity: 0.7;
  }
  header .btns {
    gap: 14px;
  }
  header .btns .btn {
    height: 36px;
    padding: 0px 16px;
    font-size: 13px;
  }
  header .btn_search,
  header .btn_lang {
    width: 20px;
    height: 20px;
  }
  header .lang {
    display: none;
  }
  header .btn_menu {
    display: block;
    position: relative;
    width: 24px;
    height: 20px;
  }
  header .btn_menu span,
  header .btn_menu::before,
  header .btn_menu::after {
    content: '';
    position: absolute;
    left: 0px;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    transition: 0.3s;
    background-color: var(--title);
  }
  header .btn_menu::before {
    top: 0px;
  }
  header .btn_menu span {
    top: 9px;
  }
  header .btn_menu::after {
    bottom: 0px;
  }
  header.menu_open .btn_menu span {
    opacity: 0;
  }
  header.menu_open .btn_menu::before {
    top: 9px;
    transform: rotate(45deg);
  }
  header.menu_open .btn_menu::after {
    bottom: 9px;
    transform: rotate(-45deg);
  }
  header .search_form {
    padding: 14px 0px;
  }
  header .search_form input,
  header .search_form button {
    height: 42px;
    font-size: 14px;
  }
  header .search_form button {
    padding: 0px 18px;
  }
  footer {
    padding: 50px 0px 24px;
  }
  footer .top {
    display: block;
    padding-bottom: 36px;
  }
  footer .info {
    width: auto;
  }
  footer .logo img {
    width: 170px;
  }
  footer .slogan {
    margin-top: 20px;
    font-size: 18px;
    line-height: 26px;
  }
  footer .info .btn {
    width: 100%;
    max-width: 260px;
    margin-top: 20px;
  }
  footer .socials {
    gap: 8px;
    margin-top: 24px;
  }
  footer .socials a {
    width: 40px;
    height: 40px;
  }
  footer .socials img {
    width: 35px;
    height: 35px;
  }
  footer .foot_navs {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 36px;
    padding-top: 0;
  }
  footer .foot_nav strong {
    margin-bottom: 8px;
    font-size: 15px;
  }
  footer .foot_nav .menu li {
    line-height: 26px;
  }
  footer .foot_nav .menu a {
    font-size: 14px;
  }
  footer .bot {
    display: block;
    padding-top: 18px;
    font-size: 12px;
  }
  footer .bot .menu {
    margin-top: 10px;
  }
  footer .back_top {
    right: 20px;
    bottom: 20px;
    width: 38px;
    height: 38px;
    background-size: 9px 12px;
  }
  #brx-header .btns{
    gap: 16px;
  }
  #brx-header .btns .btn{
    display: none;
  }
}
/* #endregion */

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .content {
    padding: 0px 3rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 896px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.4rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    gap: 8px;
    font-size: 13px;
  }
  .tag::before {
    width: 18px;
    height: 18px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.22;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon p {
    font-size: 14px;
    line-height: 1.6;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 12px;
  }
  .tcon_center p {
    max-width: none;
  }
  .btn,
  .btn_line,
  .btn_white {
    height: 44px;
    padding: 0px 22px;
    font-size: 14px;
  }
  .btn_text {
    font-size: 14px;
  }
  .btn_text::after {
    width: 26px;
    height: 26px;
    background-size: 12px 10px;
  }
  .swiper_btns {
    gap: 10px;
  }
  .swiper_btns div {
    width: 38px;
    height: 38px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 13px;
    line-height: 22px;
  }
  .check_list li::before {
    width: 14px;
    height: 14px;
    top: 4px;
  }
}

/* theme/home.css */
/* #region home_category */
.home_category {
  padding: 13.9rem 0px 15.26rem;
  background-color: #fff;
}
.home_category .tcon p {
  margin-top: 1.2rem;
}
.home_category .category_list {
  display: grid;
  gap: 4.4rem 2.2rem;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 4rem;
}
.home_category .category_list .img {
  border-radius: 1rem;
  aspect-ratio: 1 / 1;
}
.home_category .category_list a:hover .img img {
  transform: scale(1.05);
}
.home_category .category_list h3 {
  margin-top: 3.3rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.4rem;
  transition: color 0.3s;
}
.home_category .category_list a:hover h3 {
  color: var(--primary);
}
.home_category .category_list p {
  margin-top: 1.3rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.2rem;
  font-weight: 500;
}
/* #endregion */

/* #region home_case */
.home_case {
  overflow: hidden;
  padding: 12.6rem 0px 16.9rem;
  background-color: var(--cream);
}
.home_case .case_head {
  align-items: flex-end;
}
.home_case .case_head .tcon p {
  margin-top: 2rem;
}
.home_case .case_head .swiper_btns {
  margin-bottom: 0.6rem;
}
.home_case .case_head .swiper_btns div {
  width: 5.4rem;
  height: 5.4rem;
  border-color: rgba(11, 20, 46, 0.3);
  border-color: var(--primary);
}
.home_case .case_head .swiper_btns div.btn_prev{
  border-color: rgba(11, 20, 46, 0.3);
}
.home_case .case_swiper {
  margin-top: 4.1rem;
}
.home_case .case_swiper .swiper {
  overflow: visible;
}
.home_case .case_swiper .swiper-slide {
  width: 99.6rem;
  height: auto;
}
.home_case .case_swiper .swiper-slide > a {
  position: relative;
  display: block;
  height: 47.66rem;
  padding: 4.49rem 0px 0px 4.72rem;
  overflow: hidden;
  border-radius: 1.8rem;
  transition: box-shadow 0.4s;
  background-color: #fff;
  background-image: radial-gradient(60% 120% at 22% 40%, rgba(246, 234, 224, 0.29) 0%, rgba(247, 245, 243, 0) 100%);
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.home_case .case_swiper .swiper-slide > a:hover {
  box-shadow: 0px 2rem 4rem rgba(26, 50, 99, 0.1);
}
.home_case .txt {
  width: 37rem;
}
.home_case .tag_line {
  display: inline-flex;
  align-items: center;
  height: 4.18rem;
  padding: 0px 2.3rem;
  border-radius: 2.09rem;
  color: var(--title);
  font-size: 1.5rem;
  letter-spacing: -0.08em;
  font-weight: 600;
  border: 1px solid rgba(65, 87, 126, 0.2);
}
.home_case h3 {
  margin-top: 3.7rem;
  color: var(--title);
  font-weight: 600;
  font-size: 3rem;
  line-height: 3.3rem;
}
.home_case .txt > p {
  margin-top: 1.5rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.2rem;
  font-weight: 500;
}
.home_case .case_data {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(26, 50, 99, 0.14);
}
.home_case .case_data li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  height: 3.2rem;
}
.home_case .case_data span {
  color: #66799b;
  font-weight: 500;
  font-size: 1.5rem;
}
.home_case .case_data strong {
  color: var(--navy);
  font-weight: 600;
  font-size: 1.7rem;
}
.home_case .more {
  display: inline-block;
  margin-top: 2.5rem;
  padding-bottom: 0.9rem;
  color: var(--navy);
  font-weight: 600;
  font-size: 1.6rem;
  border-bottom: 2px solid #ffc570;
  transition: 0.3s;
}
.home_case .case_swiper a:hover .more {
  color: var(--primary);
  border-bottom-color: var(--primary);
}
.home_case .case_swiper .img {
  position: absolute;
  right: 0.94rem;
  top: 1.4rem;
  width: 51.46rem;
  height: 44.13rem;
  border-radius: 1.2rem;
}
.home_case .case_swiper a:hover .img img {
  transform: scale(1.04);
}
.home_case .case_foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin-top: 6.4rem;
}
.home_case .case_foot span {
  color: #5a6478;
  font-size: 1.8rem;
}
.home_case .case_foot .btn_text {
  color: #0b142e;
  margin-left: 0.8rem;
}
/* #endregion */

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .home_case .case_swiper .swiper-slide {
    width: 90rem;
  }
  .home_case .case_swiper .img {
    width: 44rem;
  }
  .home_case .txt {
    width: 38rem;
  }
}

@media screen and (max-width: 768px) {
  .home_category {
    padding: 46px 0px 46px;
  }
  .home_category .tcon p br,
  .home_case .case_head .tcon p br {
    display: none;
  }
  .home_category .category_list {
    gap: 24px 14px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 24px;
  }
  .home_category .category_list h3 {
    margin-top: 14px;
    font-size: 16px;
    line-height: 20px;
  }
  .home_category .category_list p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 19px;
  }
  .home_case {
    padding: 46px 0px 46px;
  }
  .home_case .case_head {
    display: block;
  }
  .home_case .case_head .swiper_btns {
    margin: 18px 0px 0px;
  }
  .home_case .case_head .swiper_btns div {
    width: 38px;
    height: 38px;
  }
  .home_case .case_swiper {
    margin-top: 22px;
  }
  .home_case .case_swiper .swiper-slide {
    width: 300px;
  }
  .home_case .case_swiper .swiper-slide > a {
    height: auto;
    padding: 16px 16px 20px;
    border-radius: 14px;
  }
  .home_case .txt {
    width: auto;
  }
  .home_case .case_swiper .img {
    position: static;
    width: auto;
    height: 180px;
    margin-bottom: 16px;
    border-radius: 10px;
  }
  .home_case .case_swiper .swiper-slide > a {
    display: flex;
    flex-direction: column-reverse;
  }
  .home_case .tag_line {
    height: 30px;
    padding: 0px 14px;
    font-size: 12px;
  }
  .home_case h3 {
    margin-top: 14px;
    font-size: 19px;
    line-height: 24px;
  }
  .home_case h3 br {
    display: none;
  }
  .home_case .txt > p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  .home_case .case_data {
    margin-top: 16px;
    padding-top: 10px;
  }
  .home_case .case_data li {
    height: 28px;
  }
  .home_case .case_data span {
    font-size: 13px;
  }
  .home_case .case_data strong {
    font-size: 14px;
  }
  .home_case .more {
    margin-top: 18px;
    font-size: 14px;
  }
  .home_case .case_foot {
    display: block;
    margin-top: 26px;
    text-align: center;
  }
  .home_case .case_foot span {
    display: block;
    font-size: 14px;
  }
  .home_case .case_foot .btn_text {
    margin: 12px 0px 0px;
  }
}

/* theme/about.css */
/* #region about_team */
.about_team {
  padding: 13.7rem 0px 15rem;
  background-color: #fff;
}
.about_team .tcon p {
  margin-top: 1.4rem;
}
.about_team .team_list {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 5.3rem;
  text-align: center;
}
.about_team .team_list .img {
  border-radius: 1rem;
  aspect-ratio: 1 / 1;
}
.about_team .team_list li:hover .img img {
  transform: scale(1.05);
}
.about_team .team_list h3 {
  margin-top: 2.6rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.4rem;
}
.about_team .team_list .role {
  display: block;
  margin-top: 0.9rem;
  color: var(--secondary);
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
.about_team .team_list p {
  margin-top: 1.4rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.2rem;
  font-weight: 500;
  padding: 0 3rem;
}
/* #endregion */

@media screen and (max-width: 768px) {
  .about_team {
    padding: 46px 0px 46px;
  }
  .about_team .tcon p br {
    display: none;
  }
  .about_team .team_list {
    gap: 22px 14px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 26px;
  }
  .about_team .team_list .img {
    border-radius: 8px;
  }
  .about_team .team_list h3 {
    margin-top: 14px;
    font-size: 16px;
    line-height: 20px;
  }
  .about_team .team_list .role {
    margin-top: 6px;
    font-size: 12px;
  }
  .about_team .team_list p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 19px;
  }
}

/* theme/case.css */
/* #region case_list */
.case_list {
  padding: 4.36rem 0px 15.6rem;
  background-color: #fff;
}
.case_list .case_filter {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}
.case_list .case_filter a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17rem;
  height: 5.4rem;
  padding: 0px 2.4rem;
  border-radius: 2.7rem;
  color: var(--title);
  font-weight: 600;
  font-size: 1.6rem;
  text-decoration: none;
  transition: 0.3s;
  border: 1px solid #5a6e90;
}
.case_list .case_filter a:hover {
  color: var(--primary);
  border-color: var(--primary);
}
.case_list .case_filter li.active a {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.case_list .tcon {
  margin-top: 13.3rem;
}
.case_list .tcon p {
  margin-top: 1.5rem;
}
.case_list .case_grid {
  display: grid;
  gap: 4.4rem 2.92rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 5.6rem;
}
.case_list .case_grid > li > a {
  display: block;
  height: 100%;
  padding-bottom: 3.4rem;
  overflow: hidden;
  border-radius: 2.27rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.case_list .case_grid > li.active > a,
.case_list .case_grid > li > a:hover {
  box-shadow: 0px 1.6rem 3.6rem rgba(26, 50, 99, 0.1);
}
.case_list .case_grid .img {
  height: 32.05rem;
  border-radius: 2.27rem;
}
.case_list .case_grid a:hover .img img {
  transform: scale(1.05);
}
.case_list .tag_line {
  display: inline-flex;
  align-items: center;
  height: 3rem;
  margin: 2.93rem 0px 0px 3.11rem;
  padding: 0px 1.8rem;
  border-radius: 1.5rem;
  color: var(--title);
  font-weight: 600;
  font-size: 1.3rem;
  letter-spacing: -0.07em;
  border: 1px solid rgba(65, 87, 126, 0.2);
}
.case_list .case_grid h3 {
  margin: 1.2rem 3.11rem 0px;
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.74rem;
  transition: color 0.3s;
}
.case_list .case_grid a:hover h3 {
  color: var(--primary);
}
.case_list .case_grid > li > a > p {
  margin: 1.5rem 3.11rem 0px;
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.6rem;
  line-height: 2.2rem;
  font-weight: 500;
}
.case_list .case_data {
  margin: 2.8rem 3.11rem 0px;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(13, 27, 55, 0.14);
}
.case_list .case_data li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  height: 3.2rem;
}
.case_list .case_data span {
  color: #48536b;
  font-size: 1.5rem;
  font-weight: 500;
}
.case_list .case_data strong {
  color: var(--title);
  font-weight: 600;
  font-size: 1.5rem;
}
.case_list .case_grid .btn_text {
  margin: 3.1rem 0px 0px 3.11rem;
  color: #0b142e;
}
/* #endregion */

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .case_list .case_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .case_list {
    padding: 26px 0px 46px;
  }
  .case_list .case_filter {
    gap: 8px;
    justify-content: flex-start;
  }
  .case_list .case_filter a {
    min-width: 0px;
    height: 36px;
    padding: 0px 16px;
    font-size: 13px;
  }
  .case_list .tcon {
    margin-top: 32px;
  }
  .case_list .tcon p br {
    display: none;
  }
  .case_list .case_grid {
    gap: 16px;
    grid-template-columns: 1fr;
    margin-top: 24px;
  }
  .case_list .case_grid > li > a {
    padding-bottom: 20px;
    border-radius: 14px;
  }
  .case_list .case_grid .img {
    height: 200px;
    border-radius: 14px;
  }
  .case_list .tag_line {
    height: 26px;
    margin: 16px 0px 0px 16px;
    padding: 0px 12px;
    font-size: 11px;
  }
  .case_list .case_grid h3 {
    margin: 10px 16px 0px;
    font-size: 17px;
    line-height: 22px;
  }
  .case_list .case_grid > li > a > p {
    margin: 8px 16px 0px;
    font-size: 13px;
    line-height: 19px;
  }
  .case_list .case_data {
    margin: 14px 16px 0px;
    padding-top: 10px;
  }
  .case_list .case_data li {
    height: 26px;
  }
  .case_list .case_data span,
  .case_list .case_data strong {
    font-size: 13px;
  }
  .case_list .case_grid .btn_text {
    margin: 16px 0px 0px 16px;
    font-size: 14px;
  }
}

/* #region case_related */
.case_related {
  overflow: hidden;
  padding: 11.8rem 0px 13.5rem;
  background-color: #fff;
}
.case_related .related_head .btn_line {
  height: 5.4rem;
  padding: 0px 3.4rem;
  border-color: #5a6e90;
}
.case_related .related_swiper {
  margin-top: 4.8rem;
}
.case_related .swiper {
  overflow: visible;
}
.case_related .swiper-slide {
  width: 42.67rem;
  height: auto;
}
.case_related .swiper-slide > a {
  display: block;
  height: 100%;
  padding-bottom: 3.4rem;
  overflow: hidden;
  border-radius: 2.27rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.case_related .swiper-slide.active > a,
.case_related .swiper-slide > a:hover {
  /* border-color: var(--navy); */
  box-shadow: 0px 1.6rem 3.6rem rgba(26, 50, 99, 0.1);
}
.case_related .swiper-slide .img {
  height: 32.05rem;
  border-radius: 2.27rem;
}
.case_related .swiper-slide a:hover .img img {
  transform: scale(1.05);
}
.case_related .tag_line {
  display: inline-flex;
  align-items: center;
  height: 3rem;
  margin: 2.93rem 0px 0px 3.11rem;
  padding: 0px 1.8rem;
  border-radius: 1.5rem;
  color: var(--title);
  font-weight: 600;
  font-size: 1.3rem;
  letter-spacing: -0.07em;
  border: 1px solid rgba(65, 87, 126, 0.2);
}
.case_related h3 {
  margin: 1.2rem 3.11rem 0px;
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.74rem;
  transition: color 0.3s;
}
.case_related a:hover h3 {
  color: var(--primary);
}
.case_related .swiper-slide > a > p {
  margin: 1.5rem 3.11rem 0px;
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.6rem;
  line-height: 2.2rem;
  font-weight: 500;
}
.case_related .case_data {
  margin: 2.8rem 3.11rem 0px;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(13, 27, 55, 0.14);
}
.case_related .case_data li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  height: 3.2rem;
}
.case_related .case_data span {
  color: #48536b;
  font-size: 1.5rem;
  font-weight: 500;
}
.case_related .case_data strong {
  color: var(--title);
  font-weight: 600;
  font-size: 1.5rem;
}
.case_related .btn_text {
  margin: 3.1rem 0px 0px 3.11rem;
  color: #0b142e;
}
/* #endregion */

@media screen and (max-width: 768px) {
  .case_related {
    padding: 46px 0px 46px;
  }
  .case_related .related_head .btn_line {
    height: 38px;
    padding: 0px 18px;
    font-size: 13px;
  }
  .case_related .related_swiper {
    margin-top: 22px;
  }
  .case_related .swiper-slide {
    width: 280px;
  }
  .case_related .swiper-slide > a {
    padding-bottom: 20px;
    border-radius: 14px;
  }
  .case_related .swiper-slide .img {
    height: 190px;
    border-radius: 14px;
  }
  .case_related .tag_line {
    height: 26px;
    margin: 16px 0px 0px 16px;
    padding: 0px 12px;
    font-size: 11px;
  }
  .case_related h3 {
    margin: 10px 16px 0px;
    font-size: 17px;
    line-height: 22px;
  }
  .case_related .swiper-slide > a > p {
    margin: 8px 16px 0px;
    font-size: 13px;
    line-height: 19px;
  }
  .case_related .case_data {
    margin: 14px 16px 0px;
    padding-top: 10px;
  }
  .case_related .case_data li {
    height: 26px;
  }
  .case_related .case_data span,
  .case_related .case_data strong {
    font-size: 13px;
  }
  .case_related .btn_text {
    margin: 16px 0px 0px 16px;
    font-size: 14px;
  }
}

/* about1-page_banner-img_bg.css: differences from case-detail1-page_banner-img_bg.css, scoped to .page_banner_about */
.page_banner.page_banner_about .content {
  height: 100%;
  padding-top: 11.85rem;
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_about .content {
  padding-top: 0px;
}
}
/* about2-about_person.css */
.about_person {
  overflow: hidden;
  padding: 15.32rem 0px 12rem;
  background-color: #fff;
}
.about_person .info {
  width: 56rem;
}
.about_person .tcon p {
  width: 54.2rem;
}
.about_person .tcon p + p {
  margin-top: 2.1rem;
}
.about_person .person_list {
  margin-top: 4rem;
}
.about_person .person_list li {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.about_person .person_list li + li {
  margin-top: 3rem;
}
.about_person .person_list .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
}
.about_person .person_list .icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.about_person .person_list h3 {
  color: var(--title);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.6rem;
}
.about_person .visual {
  position: absolute;
  left: 67.97rem;
  right: -14.09rem;
  top: 0px;
  height: 57.5rem;
}
.about_person .visual .img {
  position: absolute;
  border-radius: 2.2rem;
}
.about_person .visual .img:hover img {
  transform: scale(1.04);
}
.about_person .img_main {
  left: 0px;
  top: 0px;
  width: 50rem;
  height: 55.75rem;
}
.about_person .img_top {
  left: 52.14rem;
  top: 0px;
  width: 27.98rem;
  height: 26.86rem;
}
.about_person .img_bot {
  left: 52.14rem;
  top: 28.89rem;
  width: 27.98rem;
  height: 26.86rem;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .about_person .info {
    width: 46%;
  }
  .about_person .tcon p {
    width: auto;
  }
  .about_person .visual {
    left: 50%;
    right: 0px;
    height: 50rem;
  }
  .about_person .img_main {
    width: 56%;
    height: 48rem;
  }
  .about_person .img_top,
  .about_person .img_bot {
    left: 60%;
    width: 40%;
    height: 23rem;
  }
  .about_person .img_bot {
    top: 25rem;
  }
}

@media screen and (max-width: 768px) {
  .about_person {
    padding: 46px 0px 46px;
  }
  .about_person .info {
    width: auto;
  }
  .about_person .tcon h2 br {
    display: none;
  }
  .about_person .tcon p {
    width: auto;
  }
  .about_person .tcon p + p {
    margin-top: 12px;
  }
  .about_person .person_list {
    margin-top: 26px;
  }
  .about_person .person_list li {
    gap: 14px;
  }
  .about_person .person_list li + li {
    margin-top: 16px;
  }
  .about_person .person_list .icon {
    width: 26px;
    height: 26px;
  }
  .about_person .person_list h3 {
    font-size: 16px;
    line-height: 20px;
  }
  .about_person .visual {
    position: static;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
    height: auto;
    margin-top: 26px;
  }
  .about_person .visual .img {
    position: static;
    width: auto;
    border-radius: 12px;
  }
  .about_person .img_main {
    height: 230px;
    grid-row: span 2;
  }
  .about_person .img_top,
  .about_person .img_bot {
    height: 110px;
  }
}

/* about3-about_capability.css */
.about_capability {
  overflow: hidden;
  padding: 6.6rem 0px 15.5rem;
  background-color: #fff;
}
.about_capability .content {
  display: flex;
  justify-content: space-between;
}
.about_capability .info {
  width: 62rem;
}
.about_capability .tcon p {
  width: 58rem;
  margin-top: 2.2rem;
}
.about_capability .info .img {
  width: 62rem;
  height: 35.09rem;
  margin-top: 5.1rem;
  border-radius: 2rem;
}
.about_capability .info .img:hover img {
  transform: scale(1.04);
}
.about_capability .capability_list {
  width: 62.98rem;
  padding-top: 3.5rem;
}
.about_capability .capability_list > li {
  border-radius: 1.8rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid #e3e8f2;
}
.about_capability .capability_list > li + li {
  margin-top: 2.27rem;
}
.about_capability .capability_list > li.active {
  box-shadow: 0px 1.6rem 3.6rem rgba(26, 50, 99, 0.08);
  margin-bottom: 4rem;
}
.about_capability .head {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2.4rem;
  height: 12rem;
  padding: 0px 6rem 0px 3.41rem;
  cursor: pointer;
}
.about_capability .head .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 1.2rem;
  transition: 0.3s;
  background-color: #f4e7d3;
}
.about_capability .capability_list > li.active .icon {
  background-color: var(--secondary);
}
.about_capability .head .icon img {
  display: block;
  width: 3.4rem;
  height: 3.4rem;
  object-fit: contain;
  transition: 0.3s;
}
.about_capability .capability_list > li.active .icon img {
  filter: brightness(0) invert(1);
}
.about_capability .head h3 {
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.6rem;
}
.about_capability .head .num {
  position: absolute;
  right: 3.2rem;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(65, 87, 126, 0.4);
  font-weight: 500;
  font-size: 1.86rem;
}
.about_capability .body {
  display: none;
  padding: 0px 3.4rem 5.4rem 12.6rem;
}
.about_capability .capability_list > li:first-of-type .body {
  display: block;
}
.about_capability .body p {
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .about_capability .info,
  .about_capability .info .img,
  .about_capability .tcon p {
    width: 46%;
  }
  .about_capability .info .img {
    width: 100%;
    height: 26rem;
  }
  .about_capability .capability_list {
    width: 50%;
  }
}

@media screen and (max-width: 768px) {
  .about_capability {
    padding: 0px 0px 46px;
  }
  .about_capability .content {
    display: block;
  }
  .about_capability .info {
    width: auto;
  }
  .about_capability .tcon h2 br {
    display: none;
  }
  .about_capability .tcon p {
    width: auto;
    margin-top: 12px;
  }
  .about_capability .info .img {
    width: auto;
    height: 200px;
    margin-top: 20px;
    border-radius: 14px;
  }
  .about_capability .capability_list {
    width: auto;
    margin-top: 20px;
  }
  .about_capability .capability_list > li + li {
    margin-top: 12px;
  }
  .about_capability .head {
    gap: 14px;
    height: auto;
    padding: 16px 44px 16px 16px;
  }
  .about_capability .head .icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
  }
  .about_capability .head .icon img {
    width: 22px;
    height: 22px;
  }
  .about_capability .head h3 {
    font-size: 16px;
    line-height: 21px;
  }
  .about_capability .head .num {
    right: 16px;
    font-size: 14px;
  }
  .about_capability .body {
    padding: 0px 16px 18px;
  }
  .about_capability .body p {
    font-size: 13px;
    line-height: 21px;
  }
}

/* about4-about_local.css */
.about_local {
  padding: 14.05rem 0px 15.4rem;
  background-color: var(--cream);
}
.about_local .tcon p {
  margin-top: 1.6rem;
}
.about_local .local_list {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 5.6rem;
}
.about_local .local_list > li {
  min-height: 38.02rem;
  padding: 4.96rem 3rem 3rem;
  border-radius: 2.27rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.about_local .local_list > li.active,
.about_local .local_list > li:hover {
  /* border-color: var(--navy); */
  box-shadow: 0px 1.6rem 3.6rem rgba(26, 50, 99, 0.08);
}
.about_local .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 1.2rem;
  transition: 0.3s;
  background-color: #f4e7d3;
}
.about_local .local_list > li.active .icon,
.about_local .local_list > li:hover .icon {
  background-color: var(--secondary);
}
.about_local .icon img {
  display: block;
  width: 5rem;
  height: 5rem;
  object-fit: contain;
  transition: 0.3s;
  filter: brightness(0);
}
.about_local .local_list > li.active .icon img,
.about_local .local_list > li:hover .icon img {
  filter: brightness(0) invert(1);
}
.about_local h3 {
  margin-top: 3.5rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.75rem;
}
.about_local .local_list p {
  margin-top: 1.9rem;
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.6rem;
  line-height: 2.2rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .about_local .local_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .about_local {
    padding: 46px 0px 46px;
  }
  .about_local .tcon h2 br,
  .about_local .tcon p br {
    display: none;
  }
  .about_local .local_list {
    gap: 14px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 26px;
  }
  .about_local .local_list > li {
    min-height: 0px;
    padding: 18px 14px 20px;
    border-radius: 14px;
  }
  .about_local .icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
  }
  .about_local .icon img {
    width: 22px;
    height: 22px;
  }
  .about_local h3 {
    margin-top: 16px;
    font-size: 16px;
    line-height: 21px;
  }
  .about_local h3 br {
    display: none;
  }
  .about_local .local_list p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 18px;
  }
}

/* about5-about_promise.css */
.about_promise {
  overflow: hidden;
  padding: 14.05rem 0px 15.3rem;
  background-color: #fff;
}
.about_promise .tcon p {
  max-width: 80rem;
  margin-top: 1.5rem;
}
.about_promise .promise_main {
  display: flex;
  justify-content: space-between;
  margin-top: 6.2rem;
}
.about_promise .promise_list {
  width: 55.5rem;
}
.about_promise .promise_list > li {
  display: flex;
  gap: 3.4rem;
}
.about_promise .promise_list > li.active{
  margin-bottom: 4rem;
}
.about_promise .promise_list > li + li {
  margin-top: 2.9rem;
}
.about_promise .promise_list .icon {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  min-width: 5rem;
}
.about_promise .promise_list .icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.about_promise .promise_list .txt {
  flex: 1;
  padding-bottom: 2.9rem;
  cursor: pointer;
  border-bottom: 1px solid #dfe5ea;
  transition: border-color 0.3s;
}
.about_promise .promise_list > li:last-child .txt {
  border-bottom: none;
}
.about_promise .promise_list > li.active .txt {
  padding-bottom: 5.2rem;
  border-bottom: 2px solid var(--primary);
}
.about_promise .promise_list h3 {
  color: var(--title);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.4rem;
  transition: font-size 0.3s;
}
.about_promise .promise_list > li.active h3 {
  font-size: 2.8rem;
  line-height: 3.1rem;
}
.about_promise .promise_list .body {
  display: none;
}
.about_promise .promise_list > li.active .body {
  display: block;
}
.about_promise .promise_list .body p {
  margin-top: 2.9rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.26rem;
}
.about_promise .promise_list .body .btn {
  margin-top: 3rem;
}
.about_promise .promise_main > .img {
  flex-shrink: 0;
  width: 68.6rem;
  height: 57.44rem;
  border-radius: 3.9rem;
}
.about_promise .promise_main > .img:hover img {
  transform: scale(1.04);
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .about_promise .promise_list {
    width: 46%;
  }
  .about_promise .promise_main > .img {
    width: 50%;
    height: 44rem;
  }
}

@media screen and (max-width: 768px) {
  .about_promise {
    padding: 46px 0px 46px;
  }
  .about_promise .tcon h2 br {
    display: none;
  }
  .about_promise .promise_main {
    display: block;
    margin-top: 24px;
  }
  .about_promise .promise_list {
    width: auto;
  }
  .about_promise .promise_list > li {
    gap: 14px;
  }
  .about_promise .promise_list > li + li {
    margin-top: 16px;
  }
  .about_promise .promise_list .icon {
    width: 34px;
    height: 34px;
  }
  .about_promise .promise_list .txt {
    padding-bottom: 16px;
  }
  .about_promise .promise_list > li.active .txt {
    padding-bottom: 15px;
  }
  .about_promise .promise_list h3 {
    font-size: 16px;
    line-height: 21px;
  }
  .about_promise .promise_list > li.active h3 {
    font-size: 18px;
    line-height: 23px;
  }
  .about_promise .promise_list .body p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  .about_promise .promise_list .body .btn {
    margin-top: 16px;
  }
  .about_promise .promise_main > .img {
    width: auto;
    height: 240px;
    margin-top: 24px;
    border-radius: 16px;
  }
}

/* about6-about_coast.css */
.about_coast {
  overflow: hidden;
  padding: 11rem 0px 11rem;
  background-color: var(--navy);
}
.about_coast .content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.about_coast .content > .img {
  flex-shrink: 0;
  width: 68rem;
  height: 54rem;
  border-radius: 3.9rem;
}
.about_coast .content > .img:hover img {
  transform: scale(1.04);
}
.about_coast .info {
  width: 55.4rem;
}
.about_coast .tcon p {
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, 0.8);
}
.about_coast .check_list {
  margin-top: 2.5rem;
}
.about_coast .check_list li {
  padding-left: 2.9rem;
  color: #fff;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 3.4rem;
}
.about_coast .check_list li::before {
  top: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  background-size: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9' fill='none' stroke='%23f4800c' stroke-width='1.92'%3E%3Cpath d='M1 4.6 4.2 7.6 11 1'/%3E%3C/svg%3E");
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .about_coast .content > .img {
    width: 48%;
    height: 42rem;
  }
  .about_coast .info {
    width: 46%;
  }
}

@media screen and (max-width: 768px) {
  .about_coast {
    padding: 46px 0px 46px;
  }
  .about_coast .content {
    display: block;
  }
  .about_coast .content > .img {
    width: auto;
    height: 220px;
    border-radius: 16px;
  }
  .about_coast .info {
    width: auto;
    margin-top: 24px;
  }
  .about_coast .tcon h2 br {
    display: none;
  }
  .about_coast .tcon p {
    margin-top: 12px;
  }
  .about_coast .check_list {
    margin-top: 18px;
  }
  .about_coast .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 26px;
  }
  .about_coast .check_list li::before {
    top: 7px;
    width: 12px;
    height: 12px;
    background-size: 10px 8px;
  }
}

/* case-detail1-page_banner-img_bg.css */
.page_banner {
  height: 76rem;
  background-color: var(--navy);
}
.page_banner .content {
  height: 100%;
  padding-top: 15.85rem;
}
.page_banner .banner_stats .content{
  padding-top: 0;
}
.page_banner .tcon {
  width: 90rem;
}
.page_banner .tcon .tag {
  color: rgba(255, 255, 255, 0.7);
}
.page_banner .tcon h1 {
  margin-top: 2.2rem;
  font-size: 7.4rem;
  line-height: 8.6rem;
  letter-spacing: -0.01em;
}
.page_banner .tcon p {
  width: 60rem;
  margin-top: 0.9rem;
  font-size: 1.8rem;
  line-height: 3rem;
  color: rgba(255, 255, 255, 0.85);
}
.page_banner .btn_box {
  display: flex;
  gap: 2.25rem;
  margin-top: 3rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .page_banner {
    height: 62rem;
  }
  .page_banner .tcon {
    width: 100%;
  }
  .page_banner .tcon h1 {
    font-size: 5.4rem;
    line-height: 6.4rem;
  }
  .page_banner .tcon p {
    width: 80%;
  }
}

@media screen and (max-width: 768px) {
  .page_banner {
    height: auto;
    padding: 46px 0px 46px;
  }
  .page_banner .content {
    padding-top: 0px;
  }
  .page_banner .tcon {
    width: auto;
  }
  .page_banner .tcon h1 {
    margin-top: 12px;
    font-size: 30px;
    line-height: 38px;
  }
  .page_banner .tcon h1 br {
    display: none;
  }
  .page_banner .tcon p {
    width: auto;
    margin-top: 12px;
    font-size: 14px;
    line-height: 23px;
  }
  .page_banner .btn_box {
    gap: 10px;
    margin-top: 22px;
  }
}

/* case-detail2-case_intro.css */
.case_intro {
  overflow: hidden;
  padding: 10.96rem 0px 9.66rem;
  background-color: var(--cream);
}
.case_intro .main {
  align-items: flex-start;
}
.case_intro .main > .img {
  flex-shrink: 0;
  width: 68rem;
  height: 54rem;
  border-radius: 3.9rem;
}
.case_intro .main > .img:hover img {
  transform: scale(1.04);
}
.case_intro .info {
  width: 57.6rem;
  padding-top: 8.4rem;
}
.case_intro .tcon p {
  margin-top: 1.5rem;
}
.case_intro .check_list {
  margin-top: 2.5rem;
}
.case_intro .check_list li {
  padding-left: 2.9rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 3.4rem;
}
.case_intro .check_list li::before {
  top: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  background-size: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9' fill='none' stroke='%23f4800c' stroke-width='1.92'%3E%3Cpath d='M1 4.6 4.2 7.6 11 1'/%3E%3C/svg%3E");
}
.case_intro .case_stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 9.8rem;
}
.case_intro .case_stats li {
  padding-left: 3rem;
  border-left: 1px solid rgba(13, 27, 55, 0.14);
}
.case_intro .case_stats strong {
  display: block;
  color: var(--secondary);
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 5.2rem;
}
.case_intro .case_stats p {
  margin-top: 1.2rem;
  color: var(--title);
  font-size: 1.6rem;
  line-height: 2.1rem;
  font-weight: 500;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .case_intro .main > .img {
    width: 48%;
    height: 42rem;
  }
  .case_intro .info {
    width: 48%;
    padding-top: 0px;
  }
}

@media screen and (max-width: 768px) {
  .case_intro {
    padding: 46px 0px 46px;
  }
  .case_intro .main {
    display: block;
  }
  .case_intro .main > .img {
    width: auto;
    height: 220px;
    border-radius: 16px;
  }
  .case_intro .info {
    width: auto;
    padding-top: 0px;
    margin-top: 24px;
  }
  .case_intro .tcon h2 br {
    display: none;
  }
  .case_intro .check_list {
    margin-top: 18px;
  }
  .case_intro .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 26px;
  }
  .case_intro .check_list li::before {
    top: 7px;
    width: 12px;
    height: 12px;
    background-size: 10px 8px;
  }
  .case_intro .case_stats {
    gap: 20px 0px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 30px;
  }
  .case_intro .case_stats li {
    padding-left: 14px;
  }
  .case_intro .case_stats strong {
    font-size: 26px;
    line-height: 30px;
  }
  .case_intro .case_stats p {
    margin-top: 6px;
    font-size: 13px;
    line-height: 18px;
  }
}

/* case-detail3-case_benefits.css */
.case_benefits {
  padding: 13.75rem 0px 15.35rem;
  background-color: #fff;
}
.case_benefits .tcon p {
  margin-top: 1.5rem;
}
.case_benefits .benefit_list {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 5.6rem;
}
.case_benefits .benefit_list > li {
  min-height: 38.02rem;
  padding: 4.96rem 3rem 3rem;
  border-radius: 2.27rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.case_benefits .benefit_list > li.active,
.case_benefits .benefit_list > li:hover {
  /* border-color: var(--navy); */
  box-shadow: 0px 1.6rem 3.6rem rgba(26, 50, 99, 0.08);
}
.case_benefits .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 1.2rem;
  transition: 0.3s;
  background-color: #f4e7d3;
}
.case_benefits .benefit_list > li.active .icon,
.case_benefits .benefit_list > li:hover .icon {
  background-color: var(--secondary);
}
.case_benefits .icon img {
  display: block;
  width: 5.5rem;
  height: 5.5rem;
  object-fit: contain;
  transition: 0.3s;
  filter: brightness(0);
}
.case_benefits .benefit_list > li.active .icon img,
.case_benefits .benefit_list > li:hover .icon img {
  filter: brightness(0) invert(1);
}
.case_benefits h3 {
  margin-top: 3.6rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.75rem;
}
.case_benefits .benefit_list p {
  margin-top: 1.9rem;
  color: rgba(13, 27, 55,1);
  font-size: 1.6rem;
  line-height: 2.2rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .case_benefits .benefit_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .case_benefits {
    padding: 46px 0px 46px;
  }
  .case_benefits .tcon h2 br,
  .case_benefits .tcon p br {
    display: none;
  }
  .case_benefits .benefit_list {
    gap: 14px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 26px;
  }
  .case_benefits .benefit_list > li {
    min-height: 0px;
    padding: 18px 14px 20px;
    border-radius: 14px;
  }
  .case_benefits .icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
  }
  .case_benefits .icon img {
    width: 22px;
    height: 22px;
  }
  .case_benefits h3 {
    margin-top: 16px;
    font-size: 16px;
    line-height: 21px;
  }
  .case_benefits h3 br {
    display: none;
  }
  .case_benefits .benefit_list p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 18px;
  }
}

/* case-detail4-case_process.css */
.case_process {
  overflow: hidden;
  padding: 10.82rem 0px 12.4rem;
  background-color: var(--navy);
}
.case_process .process_main {
  align-items: flex-start;
  margin-top: 5.5rem;
}
.case_process .process_main > .img {
  flex-shrink: 0;
  width: 64.97rem;
  height: 62rem;
  border-radius: 3.9rem;
}
.case_process .process_main > .img:hover img {
  transform: scale(1.04);
}
.case_process .step_list {
  width: 64.97rem;
  min-height: 62rem;
  padding: 4.3rem 4rem 4rem 5.28rem;
  border-radius: 1.8rem;
  background-color: #fff;
  border: 1px solid #e3e8f2;
}
.case_process .step_list > li {
  position: relative;
  display: flex;
  gap: 2.9rem;
  padding-bottom: 3rem;
}
.case_process .step_list > li::before {
  content: '';
  position: absolute;
  left: 2.7rem;
  top: 2.4rem;
  bottom: -0.6rem;
  width: 2.5px;
  opacity: 0.5;
  background-color: #e3e8f2;
}
.case_process .step_list > li:last-child {
  padding-bottom: 0px;
}
.case_process .step_list > li:last-child::before {
  display: none;
}
.case_process .num {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  color: var(--title);
  font-weight: 700;
  font-size: 1.8rem;
  transition: 0.3s;
  background-color: #f4e7d3;
}
.case_process .step_list > li.active .num {
  width: 5.4rem;
  height: 5.4rem;
  margin: -0.5rem 0px 0px -0.5rem;
  color: #fff;
  font-size: 2.2rem;
  background-color: var(--secondary);
}
.case_process .txt {
  flex: 1;
  cursor: pointer;
  padding-top: 0.9rem;
}
.case_process .step_list > li.active .txt {
  padding-top: 0.5rem;
}
.case_process .step_list h3 {
  color: var(--title);
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2rem;
  transition: 0.3s;
}
.case_process .step_list > li.active h3 {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.6rem;
}
.case_process .body {
  display: none;
}
.case_process .step_list > li.active .body {
  display: block;
}
.case_process .body p {
  margin-top: 1.5rem;
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.6rem;
  line-height: 2.3rem;
  font-weight: 500;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .case_process .process_main > .img {
    width: 48%;
    height: 52rem;
  }
  .case_process .step_list {
    width: 48%;
    min-height: 0px;
    padding: 3rem 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .case_process {
    padding: 46px 0px 46px;
  }
  .case_process .process_main {
    display: block;
    margin-top: 24px;
  }
  .case_process .process_main > .img {
    width: auto;
    height: 220px;
    border-radius: 16px;
  }
  .case_process .step_list {
    width: auto;
    min-height: 0px;
    margin-top: 16px;
    padding: 20px 16px;
    border-radius: 14px;
  }
  .case_process .step_list > li {
    gap: 14px;
    padding-bottom: 18px;
  }
  .case_process .step_list > li::before {
    left: 16px;
    top: 36px;
  }
  .case_process .num {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }
  .case_process .step_list > li.active .num {
    width: 38px;
    height: 38px;
    margin: -3px 0px 0px -3px;
    font-size: 16px;
  }
  .case_process .txt {
    padding-top: 6px;
  }
  .case_process .step_list h3 {
    font-size: 15px;
    line-height: 20px;
  }
  .case_process .step_list > li.active h3 {
    font-size: 17px;
    line-height: 22px;
  }
  .case_process .body p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 20px;
  }
}

/* case-detail5-case_products.css */
.case_products {
  overflow: hidden;
  padding: 13.72rem 0px 15.45rem;
  background-color: #fff;
}
.case_products .tcon p {
  max-width: 78rem;
  margin-top: 1.5rem;
}
.case_products .products_swiper {
  position: relative;
  margin-top: 5.5rem;
  overflow: hidden;
}
.case_products .swiper {
  overflow: visible;
}
.case_products .swiper-slide {
  width: 31.25rem;
  height: auto;
  padding-bottom: 3.5rem;
  overflow: hidden;
  border-radius: 2.27rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
  text-align: center;
}
.case_products .swiper-slide.active,
.case_products .swiper-slide:hover {
  /* border-color: var(--navy); */
  box-shadow: 0px 1.6rem 3.6rem rgba(26, 50, 99, 0.1);
}
.case_products .swiper-slide .img {
  height: 24.4rem;
  border-radius: 2.27rem;
  background-color: var(--cream);
  overflow: hidden;
}
.case_products .swiper-slide .img img {
  object-fit: contain;
}
.case_products .swiper-slide:hover .img img {
  transform: scale(1.05);
}
.case_products h3 {
  height: 5.04rem;
  margin: 2.7rem 3rem 0px;
  color: var(--title);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.52rem;
  text-align: left;
}
.case_products .btn,
.case_products .btn_line {
  width: 25.24rem;
  height: 4.8rem;
  margin-top: 5rem;
}
.case_products .btn_line {
  border-color: #5a6e90;
}
.case_products .swiper_btns {
  position: absolute;
  left: -11.8rem;
  right: -11.8rem;
  top: 50%;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}
.case_products .swiper_btns div {
  width: 5.4rem;
  height: 5.4rem;
  pointer-events: auto;
  border-color: rgba(13, 27, 55, 0.2);
  background-color: #fff;
}
.case_products .swiper_btns .btn_next {
  color: #fff;
  border-color: var(--secondary);
  background-color: var(--secondary);
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .case_products .swiper_btns {
    left: -2rem;
    right: -2rem;
  }
}

@media screen and (max-width: 768px) {
  .case_products {
    padding: 46px 0px 46px;
  }
  .case_products .products_swiper {
    margin-top: 24px;
  }
  .case_products .swiper-slide {
    width: 220px;
    padding-bottom: 20px;
    border-radius: 14px;
  }
  .case_products .swiper-slide .img {
    height: 170px;
    border-radius: 14px;
  }
  .case_products h3 {
    height: auto;
    margin: 16px 14px 0px;
    font-size: 16px;
    line-height: 21px;
  }
  .case_products .btn,
  .case_products .btn_line {
    width: calc(100% - 28px);
    height: 38px;
    margin-top: 14px;
    font-size: 13px;
  }
  .case_products .swiper_btns {
    position: static;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    transform: none;
  }
  .case_products .swiper_btns div {
    width: 38px;
    height: 38px;
  }
}

/* case1-page_banner-img_bg.css */
.page_banner {
  height: 76rem;
  background-color: var(--navy);
}
.page_banner .content {
  height: 100%;
  padding-top: 15.85rem;
}
.page_banner .tcon {
  width: 90rem;
}
.page_banner .tcon .tag {
  color: rgba(255, 255, 255, 0.7);
}
.page_banner .tcon h1 {
  margin-top: 2.2rem;
  font-size: 7.4rem;
  line-height: 8.6rem;
  letter-spacing: -0.01em;
}
.page_banner .tcon p {
  width: 60rem;
  margin-top: 0.9rem;
  font-size: 1.8rem;
  line-height: 3rem;
  color: rgba(255, 255, 255, 0.85);
}
.page_banner .btn_box {
  display: flex;
  gap: 2.25rem;
  margin-top: 3rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .page_banner {
    height: 62rem;
  }
  .page_banner .tcon {
    width: 100%;
  }
  .page_banner .tcon h1 {
    font-size: 5.4rem;
    line-height: 6.4rem;
  }
  .page_banner .tcon p {
    width: 80%;
  }
}

@media screen and (max-width: 768px) {
  .page_banner {
    height: auto;
    padding: 46px 0px 46px;
  }
  .page_banner .content {
    padding-top: 0px;
  }
  .page_banner .tcon {
    width: auto;
  }
  .page_banner .tcon h1 {
    margin-top: 12px;
    font-size: 30px;
    line-height: 38px;
  }
  .page_banner .tcon h1 br {
    display: none;
  }
  .page_banner .tcon p {
    width: auto;
    margin-top: 12px;
    font-size: 14px;
    line-height: 23px;
  }
  .page_banner .btn_box {
    gap: 10px;
    margin-top: 22px;
  }
}

/* home1-home_banner-img_bg.css */
.home_banner {
  height: 89.12rem;
  background-color: var(--navy);
}
.home_banner .content {
  height: 100%;
  padding-top: 9.45rem;
}
.home_banner .info {
  width: 66rem;
}
.home_banner .tcon .tag {
  color: rgba(255, 255, 255, 0.7);
}
.home_banner .tcon h1 {
  margin-top: 2.2rem;
  font-size: 7.4rem;
  line-height: 8.6rem;
  letter-spacing: -0.01em;
}
.home_banner .tcon p {
  margin-top: 0.9rem;
  font-size: 1.8rem;
  line-height: 3rem;
}
.home_banner .btn_box {
  display: flex;
  gap: 2.1rem;
  margin-top: 3rem;
}
.home_banner .stats {
  display: flex;
  margin-top: 6.1rem;
  padding-top: 3.3rem;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.home_banner .stats li {
  width: 24.48rem;
}
.home_banner .stats strong {
  display: block;
  color: var(--secondary);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 3.6rem;
  line-height: 4rem;
}
.home_banner .stats p {
  margin-top: 1.2rem;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.8rem;
}
.home_banner .calc {
  position: absolute;
  right: 0px;
  top: 8.12rem;
  width: 57.29rem;
}
.home_banner .calc_card {
  position: relative;
  z-index: 2;
  height: 50.6rem;
  padding: 3.8rem 4rem 0px;
  border-radius: 2rem;
  background-color: var(--card);
}
.home_banner .calc_card h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 3rem;
  line-height: 3.4rem;
}
.home_banner .calc_card > .syedittext p {
  margin-top: 1.2rem;
  color: var(--label);
  font-size: 1.5rem;
  line-height: 2.2rem;
}
.home_banner .calc_tabs {
  display: flex;
  gap: 0.6rem;
  margin-top: 1.9rem;
  padding: 0.75rem;
  border-radius: 1.2rem;
  background-color: #e5e0db;
}
.home_banner .calc_tabs button {
  flex: 1;
  height: 3.89rem;
  border-radius: 0.9rem;
  color: #3c5480;
  font-weight: 600;
  font-size: 1.5rem;
  transition: 0.3s;
}
.home_banner .calc_tabs button:hover {
  color: var(--deep);
}
.home_banner .calc_tabs button.active {
  color: #fff;
  background-color: var(--deep);
}
.home_banner .calc_field {
  margin-top: 1.8rem;
}
.home_banner .calc_field label {
  display: block;
  color: #3c5480;
  font-weight: 600;
  font-size: 1.4rem;
}
.home_banner .calc_input {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  height: 6.52rem;
  margin-top: 1rem;
  padding: 0px 1.7rem;
  border-radius: 1.2rem;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
  transition: border-color 0.3s;
}
.home_banner .calc_input:focus-within {
  border-color: rgba(249, 136, 33, 0.6);
}
.home_banner .calc_input i {
  color: #7c8ca6;
  font-weight: 500;
  font-size: 2rem;
}
.home_banner .calc_input input {
  width: 100%;
  height: 100%;
  color: var(--navy);
  font-weight: 600;
  font-size: 2.6rem;
  background-color: transparent;
}
.home_banner .calc_chips {
  display: flex;
  gap: 0.78rem;
  margin-top: 1.3rem;
}
.home_banner .calc_chips button {
  height: 3.6rem;
  padding: 0px 1.4rem;
  border-radius: 1.8rem;
  color: #3c5480;
  font-weight: 500;
  font-size: 1.4rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid #dddde0;
}
.home_banner .calc_chips button:hover,
.home_banner .calc_chips button.active {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.home_banner .calc_result {
  position: relative;
  margin-top: 2.1rem;
  padding-top: 3.1rem;
  border-top: 1px dashed rgba(26, 50, 99, 0.25);
}
.home_banner .calc_result .label {
  color: #3c5480;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2rem;
}
.home_banner .calc_result .fee {
  position: absolute;
  right: 0px;
  top: 2.1rem;
  color: var(--navy);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 4.2rem;
  line-height: 5rem;
}
.home_banner .calc_result .note {
  margin-top: 2.3rem;
  color: var(--label);
  font-size: 1.6rem;
  line-height: 2rem;
}
.home_banner .calc_foot {
  margin-top: -3.9rem;
  padding: 6rem 4rem 2rem;
  border-radius: 0px 0px 2rem 2rem;
  background-color: var(--navy-light);
}
.home_banner .calc_foot .check_list li {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2.58rem;
}
.home_banner .calc_foot .check_list li::before {
  top: 0.5rem;
}
.home_banner .calc_foot p {
  margin-top: 1.6rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.4rem;
  line-height: 2.2rem;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .home_banner .calc {
    right: 3rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .home_banner .info {
    width: 50rem;
  }
  .home_banner .tcon h1 {
    font-size: 5.6rem;
    line-height: 6.6rem;
  }
  .home_banner .stats li {
    width: 18rem;
  }
}

@media screen and (max-width: 768px) {
  .home_banner {
    height: auto;
    padding-bottom: 40px;
  }
  .home_banner .content {
    padding-top: 40px;
  }
  .home_banner .info {
    width: auto;
  }
  .home_banner .tcon h1 {
    margin-top: 12px;
    font-size: 32px;
    line-height: 40px;
  }
  .home_banner .tcon h1 br {
    display: none;
  }
  .home_banner .tcon p {
    margin-top: 14px;
    font-size: 14px;
    line-height: 24px;
  }
  .home_banner .btn_box {
    gap: 10px;
    margin-top: 22px;
  }
  .home_banner .stats {
    flex-wrap: wrap;
    gap: 18px 0px;
    margin-top: 28px;
    padding-top: 22px;
  }
  .home_banner .stats li {
    width: 50%;
  }
  .home_banner .stats strong {
    font-size: 26px;
    line-height: 30px;
  }
  .home_banner .stats p {
    margin-top: 6px;
    font-size: 13px;
    line-height: 18px;
  }
  .home_banner .calc {
    position: static;
    width: auto;
    margin-top: 30px;
  }
  .home_banner .calc_card {
    height: auto;
    padding: 24px 20px 26px;
    border-radius: 16px;
  }
  .home_banner .calc_card h2 {
    font-size: 22px;
    line-height: 28px;
  }
  .home_banner .calc_card > .syedittext p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 20px;
  }
  .home_banner .calc_tabs {
    gap: 4px;
    margin-top: 16px;
    padding: 5px;
    border-radius: 10px;
  }
  .home_banner .calc_tabs button {
    height: 34px;
    font-size: 12px;
  }
  .home_banner .calc_field {
    margin-top: 16px;
  }
  .home_banner .calc_field label {
    font-size: 13px;
  }
  .home_banner .calc_input {
    height: 52px;
    margin-top: 8px;
    padding: 0px 14px;
    border-radius: 10px;
  }
  .home_banner .calc_input i {
    font-size: 16px;
  }
  .home_banner .calc_input input {
    font-size: 20px;
  }
  .home_banner .calc_chips {
    gap: 6px;
    margin-top: 10px;
  }
  .home_banner .calc_chips button {
    height: 30px;
    padding: 0px 12px;
    font-size: 12px;
  }
  .home_banner .calc_result {
    margin-top: 18px;
    padding-top: 18px;
  }
  .home_banner .calc_result .label {
    font-size: 14px;
  }
  .home_banner .calc_result .fee {
    top: 12px;
    font-size: 30px;
    line-height: 34px;
  }
  .home_banner .calc_result .note {
    margin-top: 12px;
    font-size: 13px;
    line-height: 18px;
  }
  .home_banner .calc_foot {
    margin-top: -20px;
    padding: 36px 20px 20px;
    border-radius: 0px 0px 16px 16px;
  }
  .home_banner .calc_foot .check_list li {
    font-size: 13px;
    line-height: 24px;
  }
  .home_banner .calc_foot p {
    margin-top: 12px;
    font-size: 12px;
    line-height: 18px;
  }
}

/* home2-home_intro.css */
.home_intro {
  padding: 19.4rem 0px 10.4rem;
  background-color: #fff;
}
.home_intro .tcon p {
  max-width: 82rem;
  font-size: 1.8rem;
  line-height: 2.6rem;
}
.home_intro .intro_main {
  margin-top: 5rem;
}
.home_intro .visual {
  position: relative;
  width: 69rem;
}
.home_intro .visual .img {
  height: 64.9rem;
  height: 57.5rem;
  border-radius: 2.4rem;
}
.home_intro .visual .img:hover img {
  transform: scale(1.04);
}
.home_intro .visual .card {
  position: absolute;
  left: 2.88rem;
  bottom: 1.84rem;
  bottom: -2.1rem;
  width: 35.51rem;
  height: 15.57rem;
  padding: 4rem 3rem 0px;
  border-radius: 1.6rem;
  background-color: var(--navy);
}
.home_intro .visual .card strong {
  display: block;
  color: #ffc570;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 3.3rem;
  line-height: 3.6rem;
}
.home_intro .visual .card p {
  margin-top: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.5rem;
  line-height: 2rem;
}
.home_intro .intro_list {
  width: 55.6rem;
  padding-top: 3.4rem;
}
.home_intro .intro_list li {
  display: flex;
  gap: 4.7rem;
}
.home_intro .intro_list li + li {
  margin-top: 3.6rem;
}
.home_intro .intro_list .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.8rem;
  height: 5.8rem;
}
.home_intro .intro_list .icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home_intro .intro_list .txt {
  flex: 1;
  padding-bottom: 3rem;
  border-bottom: 1px solid #dfe5ea;
  transition: border-color 0.3s;
}
.home_intro .intro_list li.active .txt,
.home_intro .intro_list li:hover .txt {
  border-bottom: 2px solid var(--primary);
  padding-bottom: 2.9rem;
}
.home_intro .intro_list h3 {
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.6rem;
}
.home_intro .intro_list p {
  margin-top: 1.3rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.2rem;
}
.home_intro .btn_box {
  margin-top: 9.2rem;
}
.home_intro .btn_box .btn_line {
  border-color: #5a6e90;
}
.home_intro .btn_box .btn_line:hover{
  border-color: var(--primary);
}
@media screen and (min-width: 769px) and (max-width: 1220px) {
  .home_intro .visual {
    width: 50%;
  }
  .home_intro .visual .img {
    height: 50rem;
  }
  .home_intro .intro_list {
    width: 45%;
  }
  .home_intro .intro_list li {
    gap: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .home_intro {
    padding: 50px 0px 46px;
  }
  .home_intro .tcon h2 br {
    display: none;
  }
  .home_intro .intro_main {
    display: block;
    margin-top: 26px;
  }
  .home_intro .visual {
    width: auto;
  }
  .home_intro .visual .img {
    height: 300px;
    border-radius: 16px;
  }
  .home_intro .visual .card {
    left: 14px;
    bottom: 14px;
    width: 76%;
    height: auto;
    padding: 18px 16px 20px;
    border-radius: 12px;
  }
  .home_intro .visual .card strong {
    font-size: 22px;
    line-height: 26px;
  }
  .home_intro .visual .card p {
    font-size: 12px;
    line-height: 17px;
  }
  .home_intro .visual .card p br {
    display: none;
  }
  .home_intro .intro_list {
    width: auto;
    padding-top: 26px;
  }
  .home_intro .intro_list li {
    gap: 16px;
  }
  .home_intro .intro_list li + li {
    margin-top: 20px;
  }
  .home_intro .intro_list .icon {
    width: 38px;
    height: 38px;
  }
  .home_intro .intro_list .txt {
    padding-bottom: 18px;
  }
  .home_intro .intro_list li.active .txt,
  .home_intro .intro_list li:hover .txt {
    padding-bottom: 17px;
  }
  .home_intro .intro_list h3 {
    font-size: 17px;
    line-height: 22px;
  }
  .home_intro .intro_list p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 20px;
  }
  .home_intro .btn_box {
    margin-top: 32px;
  }
}

/* home3-page_ways.css */
.page_ways {
  padding: 12.7rem 0px 10.1rem;
  background-color: var(--cream);
}
.page_ways .tcon p {
  margin-top: 1.5rem;
}
.page_ways .ways_list {
  display: flex;
  gap: 2.95rem;
  margin-top: 4.9rem;
}
.page_ways .ways_list > li {
  width: 65.57rem;
  padding: 1.5rem;
  padding-bottom: 4rem;
  border-radius: 1.8rem;
  transition: transform 0.4s, box-shadow 0.4s;
}
.page_ways .ways_list > li:hover {
  transform: translateY(-0.6rem);
}
.page_ways .way_light {
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.page_ways .way_light:hover {
  box-shadow: 0px 2rem 4rem rgba(26, 50, 99, 0.08);
}
.page_ways .way_dark {
  background-color: var(--navy);
  border: 1px solid var(--navy);
}
.page_ways .way_dark:hover {
  box-shadow: 0px 2rem 4rem rgba(26, 50, 99, 0.28);
}
.page_ways .head {
  position: relative;
  height: 26.33rem;
  padding: 5.1rem 4.3rem 0px;
  border-radius: 1.8rem;
}
.page_ways .way_light .head {
  border: 1px solid #dfe2e9;
  background-image: radial-gradient(90% 190% at 50% 82%, #f6eae0 0%, #f7f5f3 100%);
}
.page_ways .way_dark .head {
  border: 1px solid #2d4f77;
  background-image: radial-gradient(90% 190% at 50% 82%, #304e82 0%, rgba(48, 78, 130, 0) 100%);
}
.page_ways .head .icon {
  position: absolute;
  right: 3.75rem;
  top: 4.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.45rem;
  height: 8.45rem;
  border-radius: 2.11rem;
}
.page_ways .way_light .icon {
  background-color: rgba(255, 255, 255, 0.63);
  border: 1px solid #fff;
}
.page_ways .way_dark .icon {
  background-color: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.page_ways .head .icon img {
  display: block;
  width: 4.4rem;
  height: 4.4rem;
  object-fit: contain;
}
.page_ways .head h3 {
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 3.1rem;
}
.page_ways .head > p {
  max-width: 41rem;
  margin-top: 2rem;
  font-size: 1.7rem;
  line-height: 2.2rem;
}
.page_ways .way_light h3 {
  color: var(--title);
}
.page_ways .way_light .head > p {
  color: var(--text);
}
.page_ways .way_dark h3 {
  color: #fff;
}
.page_ways .way_dark .head > p {
  color: rgba(255, 255, 255, 0.7);
}
.page_ways .rate {
  display: flex;
  align-items: baseline;
  gap: 1.7rem;
  margin-top: 2.4rem;
}
.page_ways .rate strong {
  color: var(--secondary);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 5.7rem;
}
.page_ways .rate em {
  font-weight: 500;
  font-size: 2rem;
}
.page_ways .way_light .rate em {
  color: #66799b;
}
.page_ways .way_dark .rate em {
  color: #fff;
}
.page_ways .body {
  padding: 3.6rem 4.31rem 0px;
}
.page_ways .body .check_list li {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 3.24rem;
}
.page_ways .body .check_list li::before {
  top: 0.85rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  background-size: 1rem 0.75rem;
  background-size: 1.3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8' fill='none' stroke='%23f4800c' stroke-width='1.9'%3E%3Cpath d='M1 4.2 3.5 6.6 9 1.2'/%3E%3C/svg%3E");
}
.page_ways .way_light .check_list li {
  color: #28405f;
}
.page_ways .way_dark .check_list li {
  color: #fff;
}
.page_ways .body .note {
  margin-top: 1.6rem;
  font-size: 1.6rem;
  line-height: 2rem;
}
.page_ways .way_light .note {
  color: var(--text);
}
.page_ways .way_dark .note {
  color: rgba(255, 255, 255, 0.7);
}
.page_ways .body .btn,
.page_ways .body .btn_line {
  width: 25.6rem;
  margin-top: 3.2rem;
}
.page_ways .way_light .btn_line {
  border-color: #5a6e90;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .page_ways .ways_list > li {
    width: 50%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .page_ways .head {
    height: auto;
    padding: 3.4rem 2.6rem 3.4rem;
  }
  .page_ways .head .icon {
    right: 2.4rem;
    top: 2.8rem;
    width: 6.4rem;
    height: 6.4rem;
  }
  .page_ways .head h3 {
    font-size: 2.4rem;
  }
  .page_ways .body {
    padding: 2.6rem 2rem 0px;
  }
}

@media screen and (max-width: 768px) {
  .page_ways {
    padding: 50px 0px 46px;
  }
  .page_ways .tcon p br {
    display: none;
  }
  .page_ways .ways_list {
    display: block;
    margin-top: 24px;
  }
  .page_ways .ways_list > li {
    width: auto;
    padding: 10px;
    border-radius: 16px;
  }
  .page_ways .ways_list > li + li {
    margin-top: 16px;
  }
  .page_ways .head {
    height: auto;
    padding: 22px 18px 24px;
    border-radius: 12px;
  }
  .page_ways .head .icon {
    right: 16px;
    top: 18px;
    width: 52px;
    height: 52px;
    border-radius: 14px;
  }
  .page_ways .head .icon img {
    width: 26px;
    height: 26px;
  }
  .page_ways .head h3 {
    max-width: 62%;
    font-size: 20px;
    line-height: 26px;
  }
  .page_ways .head > p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  .page_ways .rate {
    gap: 10px;
    margin-top: 14px;
  }
  .page_ways .rate strong {
    font-size: 32px;
    line-height: 38px;
  }
  .page_ways .rate em {
    font-size: 14px;
  }
  .page_ways .body {
    padding: 20px 8px 8px;
  }
  .page_ways .body .check_list li {
    font-size: 13px;
    line-height: 26px;
  }
  .page_ways .body .note {
    margin-top: 10px;
    font-size: 13px;
  }
  .page_ways .body .btn,
  .page_ways .body .btn_line {
    width: 100%;
    margin-top: 18px;
  }
}

/* home4-home_process.css */
.home_process {
  overflow: hidden;
  padding: 16.4rem 0px 20.3rem;
  background-color: #fff;
}
.home_process .tcon p {
  margin-top: 1.5rem;
}
.home_process .process_box {
  margin-top: 9.1rem;
}
.home_process .swiper {
  overflow: visible;
}
.home_process .swiper-slide {
  width: 25rem;
  margin-right: 10.71rem;
  text-align: center;
}
.home_process .top {
  position: relative;
  height: 10.41rem;
}
.home_process .top::before {
  content: '';
  position: absolute;
  left: 0px;
  right: -10.71rem;
  top: 5.02rem;
  height: 4px;
  background-image: linear-gradient(to right, #dfe5ea 6px, rgba(223, 229, 234, 0) 0);
  background-size: calc(1.6rem + 6px) 4px;
  background-repeat: repeat-x;

}
.home_process .swiper-slide:first-of-type .top::before{
  left: 12.5rem;
}
.home_process .swiper-slide:last-child .top::before {
  display: none;
}
.home_process .top::after {
  content: '';
  position: absolute;
  right: -5.9rem;
  top: 4.29rem;
  top: 4rem;
  width: 1.1rem;
  height: 2.04rem;
  width: 2rem;
  height: 2.3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 21' fill='none' stroke='%231a3263' stroke-width='4'%3E%3Cpath d='M1 1.5 9 10.5 1 19.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.home_process .swiper-slide:last-child .top::after {
  display: none;
}
.home_process .circle {
  position: absolute;
  left: 50%;
  top: 0px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.41rem;
  height: 10.41rem;
  margin-left: -5.2rem;
  border-radius: 50%;
  transition: 0.3s;
  background-color: #fff;
  border: 3px solid #dfe5ea;
}
.home_process .circle img {
  display: block;
  width: 4.6rem;
  height: 4.6rem;
  object-fit: contain;
}
.home_process .swiper-slide.active .circle,
.home_process .swiper-slide:hover .circle {
  border-color: var(--secondary);
}
.home_process .num {
  position: absolute;
  left: 50%;
  top: -0.53rem;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.09rem;
  height: 3.09rem;
  margin-left: -4.68rem;
  border-radius: 50%;
  color: #fff;
  font-weight: 600;
  font-size: 1.2rem;
  background-color: #15181c;
}
.home_process h3 {
  margin-top: 3.4rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.2rem;
}
.home_process p {
  margin-top: 1.7rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .home_process .swiper-slide {
    width: 22rem;
    margin-right: 7rem;
  }
  .home_process .top::before {
    right: -7rem;
  }
  .home_process .top::after {
    right: -4.2rem;
  }
}

@media screen and (max-width: 768px) {
  .home_process {
    padding: 50px 0px 46px;
  }
  .home_process .tcon p br {
    display: none;
  }
  .home_process .process_box {
    margin-top: 30px;
  }
  .home_process .swiper-slide {
    width: 200px;
    margin-right: 60px;
  }
  .home_process .top {
    height: 70px;
  }
  .home_process .top::before {
    right: -60px;
    top: 33px;
    height: 3px;
    background-size: 10px 3px;
  }
  .home_process .top::after {
    right: -34px;
    top: 28px;
    width: 8px;
    height: 15px;
  }
  .home_process .circle {
    width: 70px;
    height: 70px;
    margin-left: -35px;
    border-width: 2px;
  }
  .home_process .circle img {
    width: 30px;
    height: 30px;
  }
  .home_process .num {
    width: 24px;
    height: 24px;
    margin-left: -33px;
    top: -4px;
    font-size: 10px;
  }
  .home_process h3 {
    margin-top: 18px;
    font-size: 16px;
    line-height: 20px;
  }
  .home_process p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 20px;
  }
}

/* home5-page_rates.css */
.page_rates {
  overflow: hidden;
  position: relative;
  padding-top: 11.15rem;
  background-color: var(--navy);
}
.page_rates .tcon p {
  margin-top: 1.5rem;
}
.page_rates .rates_table {
  margin-top: 6.9rem;
}
.page_rates .rates_head,
.page_rates .rates_list > li {
  display: flex;
  align-items: center;
}
.page_rates .rates_head {
  padding-bottom: 1.3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  color: var(--sand);
  font-weight: 600;
  font-size: 1.35rem;
}
.page_rates .rates_head .name {
  width: 46.63rem;
}
.page_rates .rates_head .cover {
  flex: 1;
}
.page_rates .rates_head .fee {
  width: 22rem;
  text-align: right;
}
.page_rates .rates_list > li {
  position: relative;
  z-index: 1;
  height: 12.46rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  transition: 0.3s;
}
.page_rates .rates_list > li:last-child {
  height: 13.91rem;
  border-bottom: none;
}
.page_rates .rates_list > li::before {
  content: '';
  position: absolute;
  left: -4.6rem;
  right: -4.6rem;
  top: 0px;
  bottom: -1px;
  z-index: -1;
  opacity: 0;
  transition: 0.3s;
  border-radius: 1.71rem;
  background-color: var(--card);
}
.page_rates .rates_list > li.active::before,
.page_rates .rates_list > li:hover::before {
  opacity: 1;
}
.page_rates .rates_list .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 2.11rem;
  transition: 0.3s;
  background-color: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.page_rates .rates_list > li.active .icon,
.page_rates .rates_list > li:hover .icon {
  background-color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
}
.page_rates .rates_list .icon img {
  display: block;
  width: 5.6rem;
  height: 5.6rem;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: 0.3s;
}
.page_rates .rates_list > li.active .icon img,
.page_rates .rates_list > li:hover .icon img {
  filter: none;
  filter: brightness(0);
}
.page_rates .rates_list .name {
  width: 39.43rem;
  width: 35rem;
  margin-left: 4.54rem;
  color: #fff;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 2.75rem;
  transition: color 0.3s;
}
.page_rates .rates_list .cover {
  flex: 1;
  padding-right: 13rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.6rem;
  line-height: 2.1rem;
  transition: color 0.3s;
}
.page_rates .rates_list .fee {
  width: 22rem;
  text-align: right;
}
.page_rates .rates_list .fee strong {
  display: block;
  color: var(--secondary);
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 3.7rem;
}
.page_rates .rates_list .fee em {
  display: block;
  margin-top: 1.4rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.4rem;
  line-height: 1.7rem;
  transition: color 0.3s;
}
.page_rates .rates_list > li.active .name,
.page_rates .rates_list > li:hover .name {
  color: var(--title);
  font-weight: 600;
}
.page_rates .rates_list > li.active .cover,
.page_rates .rates_list > li:hover .cover,
.page_rates .rates_list > li.active .fee em,
.page_rates .rates_list > li:hover .fee em {
  color: var(--text);
  font-weight: 500;
}
.page_rates .rates_more {
  margin-top: 11.2rem;
  padding: 15.75rem 0px 14.97rem;
  border-radius: 3.6rem;
  background-color: var(--navy-light);
}
.page_rates .more_head {
  align-items: flex-end;
}
.page_rates .more_head .tcon {
  width: 82rem;
}
.page_rates .more_head .tcon p {
  margin-top: 2.2rem;
  color: rgba(255, 255, 255, 0.72);
}
.page_rates .more_head .swiper_btns {
  margin-bottom: 0.6rem;
}
.page_rates .more_head .swiper_btns div {
  width: 5.6rem;
  height: 5.6rem;
}
.page_rates .more_swiper {
  margin-top: 6.2rem;
}
.page_rates .more_swiper .swiper {
  overflow: visible;
}
.page_rates .more_swiper .swiper-slide {
  width: 35.4rem;
  height: auto;
  padding: 5.09rem 3.18rem 4.2rem;
  border-radius: 2.27rem;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.page_rates .more_swiper .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.95rem;
  height: 7.95rem;
  border-radius: 2.11rem;
  background-color: #f4e7d3;
}
.page_rates .more_swiper .icon img {
  display: block;
  width: 4.4rem;
  height: 4.4rem;
  object-fit: contain;
}
.page_rates .more_swiper h3 {
  height: 5.6rem;
  margin-top: 3rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.8rem;
}
.page_rates .more_swiper p {
  height: 6.6rem;
  margin-top: 1.8rem;
  overflow: hidden;
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.6rem;
  line-height: 2.2rem;
  font-weight: 500;
}
.page_rates .more_swiper .price {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  margin-top: 3.4rem;
}
.page_rates .more_swiper .price strong {
  color: var(--title);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 3.1rem;
}
.page_rates .more_swiper .price em {
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.4rem;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .page_rates .rates_list > li::before {
    left: -2rem;
    right: -2rem;
  }
  .page_rates .rates_list .name {
    width: 28rem;
    margin-left: 3rem;
  }
  .page_rates .more_head .tcon {
    width: 70%;
  }
}

@media screen and (max-width: 768px) {
  .page_rates {
    padding-top: 50px;
  }
  .page_rates .tcon p br {
    display: none;
  }
  .page_rates .rates_table {
    margin-top: 28px;
  }
  .page_rates .rates_head {
    display: none;
  }
  .page_rates .rates_list > li,
  .page_rates .rates_list > li:last-child {
    display: block;
    height: auto;
    padding: 20px 0px;
  }
  .page_rates .rates_list > li::before {
    left: -14px;
    right: -14px;
    border-radius: 12px;
  }
  .page_rates .rates_list > li.active::before {
    opacity: 0;
  }
  .page_rates .rates_list .icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }
  .page_rates .rates_list .icon img {
    width: 26px;
    height: 26px;
  }
  .page_rates .rates_list .name {
    width: auto;
    margin: 14px 0px 0px;
    font-size: 17px;
    line-height: 22px;
  }
  .page_rates .rates_list .name br {
    display: none;
  }
  .page_rates .rates_list .cover {
    margin-top: 8px;
    padding-right: 0px;
    font-size: 13px;
    line-height: 20px;
  }
  .page_rates .rates_list .fee {
    display: flex;
    align-items: baseline;
    gap: 10px;
    width: auto;
    margin-top: 10px;
    text-align: left;
  }
  .page_rates .rates_list .fee strong {
    font-size: 24px;
    line-height: 28px;
  }
  .page_rates .rates_list .fee em {
    margin-top: 0px;
    font-size: 12px;
  }
  .page_rates .rates_list .fee em br {
    display: none;
  }
  .page_rates .rates_more {
    margin-top: 40px;
    padding: 46px 0px 46px;
    border-radius: 20px;
  }
  .page_rates .more_head {
    display: block;
  }
  .page_rates .more_head .tcon {
    width: auto;
  }
  .page_rates .more_head .tcon p {
    margin-top: 12px;
  }
  .page_rates .more_head .swiper_btns {
    margin: 20px 0px 0px;
  }
  .page_rates .more_head .swiper_btns div {
    width: 38px;
    height: 38px;
  }
  .page_rates .more_swiper {
    margin-top: 24px;
  }
  .page_rates .more_swiper .swiper-slide {
    width: 240px;
    padding: 22px 18px 24px;
    border-radius: 16px;
  }
  .page_rates .more_swiper .icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
  }
  .page_rates .more_swiper .icon img {
    width: 28px;
    height: 28px;
  }
  .page_rates .more_swiper h3 {
    height: auto;
    margin-top: 20px;
    font-size: 17px;
    line-height: 22px;
  }
  .page_rates .more_swiper p {
    height: auto;
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  .page_rates .more_swiper .price {
    margin-top: 16px;
  }
  .page_rates .more_swiper .price strong {
    font-size: 20px;
    line-height: 24px;
  }
}

/* home6-home_team.css */
.home_team {
  overflow: hidden;
  padding: 16rem 0px 15.24rem;
  background-color: #fff;
}
.home_team .content {
  min-height: 81.3rem;
}
.home_team .info {
  width: 55rem;
}
.home_team .tcon p {
  width: 54.2rem;
}
.home_team .tcon p + p {
  margin-top: 2.1rem;
}
.home_team .btn_box {
  margin-top: 3.5rem;
}
.home_team .team_list {
  margin-top: 8.6rem;
}
.home_team .team_list li {
  display: flex;
  gap: 4.8rem;
}
.home_team .team_list li + li {
  margin-top: 4.3rem;
}
.home_team .team_list .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 4.4rem;
  height: 4.4rem;
}
.home_team .team_list .icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.home_team .team_list h3 {
  color: var(--title);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.4rem;
}
.home_team .team_list p {
  margin-top: 1.4rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.2rem;
  max-width: 34rem;
  font-weight: 500;
}
.home_team .visual {
  position: absolute;
  left: 71.36rem;
  right: -18.45rem;
  top: 0px;
  height: 81.3rem;
}
.home_team .visual .img {
  position: absolute;
  border-radius: 1.2rem;
}
.home_team .visual .img:hover img {
  transform: scale(1.04);
}
.home_team .img_main {
  left: 0px;
  top: 6.76rem;
  width: 39.82rem;
  height: 50.55rem;
}
.home_team .img_top {
  left: 42rem;
  top: -5.24rem;
  width: 39.09rem;
  height: 38.72rem;
}
.home_team .img_bot {
  left: 42rem;
  top: 35.31rem;
  width: 39.09rem;
  height: 38.85rem;
}
.home_team .visual .card {
  position: absolute;
  left: 0px;
  top: 60.4rem;
  width: 39.69rem;
  height: 20.87rem;
  padding: 2.62rem 4rem 0px;
  border-radius: 2.2rem;
  background-color: var(--navy);
}
.home_team .visual .card .icon {
  display: block;
  width: 3.22rem;
  height: 4.11rem;
}
.home_team .visual .card .icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home_team .visual .card h3 {
  margin-top: 2.2rem;
  color: #fff;
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.4rem;
}
.home_team .visual .card p {
  margin-top: 1.4rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.6rem;
  line-height: 2.2rem;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .home_team .visual {
    left: 58%;
    right: 0px;
  }
  .home_team .img_main {
    width: 46%;
    height: 44rem;
  }
  .home_team .img_top,
  .home_team .img_bot {
    left: 50%;
    width: 50%;
    height: 34rem;
  }
  .home_team .img_bot {
    top: 40rem;
  }
  .home_team .visual .card {
    width: 46%;
  }
  .home_team .info {
    width: 50%;
  }
  .home_team .tcon p {
    width: auto;
  }
}

@media screen and (max-width: 768px) {
  .home_team {
    padding: 46px 0px 46px;
  }
  .home_team .content {
    min-height: 0px;
  }
  .home_team .info {
    width: auto;
  }
  .home_team .tcon h2 br {
    display: none;
  }
  .home_team .tcon p {
    width: auto;
  }
  .home_team .tcon p + p {
    margin-top: 12px;
  }
  .home_team .btn_box {
    margin-top: 20px;
  }
  .home_team .team_list {
    margin-top: 30px;
  }
  .home_team .team_list li {
    gap: 16px;
  }
  .home_team .team_list li + li {
    margin-top: 20px;
  }
  .home_team .team_list .icon {
    width: 32px;
    height: 32px;
  }
  .home_team .team_list h3 {
    font-size: 16px;
    line-height: 20px;
  }
  .home_team .team_list p {
    margin-top: 6px;
    font-size: 13px;
    line-height: 19px;
  }
  .home_team .visual {
    position: static;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
    height: auto;
    margin-top: 26px;
  }
  .home_team .visual .img,
  .home_team .visual .card {
    position: static;
    width: auto;
    border-radius: 10px;
  }
  .home_team .img_main {
    height: 220px;
    grid-row: span 2;
  }
  .home_team .img_top,
  .home_team .img_bot {
    height: 105px;
  }
  .home_team .visual .card {
    height: auto;
    padding: 16px 16px 18px;
    border-radius: 14px;
    grid-column: span 2;
  }
  .home_team .visual .card .icon {
    width: 24px;
    height: 30px;
  }
  .home_team .visual .card h3 {
    margin-top: 12px;
    font-size: 17px;
    line-height: 21px;
  }
  .home_team .visual .card p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 19px;
  }
}

/* pricing1-page_banner-img_bg.css */
.page_banner {
  height: 76rem;
  background-color: var(--navy);
}
.page_banner .content {
  height: 100%;
  padding-top: 15.85rem;
}
.page_banner .tcon {
  width: 90rem;
}
.page_banner .tcon .tag {
  color: rgba(255, 255, 255, 0.7);
}
.page_banner .tcon h1 {
  margin-top: 2.2rem;
  font-size: 7.4rem;
  line-height: 8.6rem;
  letter-spacing: -0.01em;
}
.page_banner .tcon p {
  width: 60rem;
  margin-top: 0.9rem;
  font-size: 1.8rem;
  line-height: 3rem;
  color: rgba(255, 255, 255, 0.85);
}
.page_banner .btn_box {
  display: flex;
  gap: 2.25rem;
  margin-top: 3rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .page_banner {
    height: 62rem;
  }
  .page_banner .tcon {
    width: 100%;
  }
  .page_banner .tcon h1 {
    font-size: 5.4rem;
    line-height: 6.4rem;
  }
  .page_banner .tcon p {
    width: 80%;
  }
}

@media screen and (max-width: 768px) {
  .page_banner {
    height: auto;
    padding: 46px 0px 46px;
  }
  .page_banner .content {
    padding-top: 0px;
  }
  .page_banner .tcon {
    width: auto;
  }
  .page_banner .tcon h1 {
    margin-top: 12px;
    font-size: 30px;
    line-height: 38px;
  }
  .page_banner .tcon h1 br {
    display: none;
  }
  .page_banner .tcon p {
    width: auto;
    margin-top: 12px;
    font-size: 14px;
    line-height: 23px;
  }
  .page_banner .btn_box {
    gap: 10px;
    margin-top: 22px;
  }
}

/* pricing2-pricing_calc.css */
.pricing_calc {
  padding: 15.52rem 0px 15.4rem;
  background-color: #fff;
}
.pricing_calc .info {
  width: 62rem;
}
.pricing_calc .tcon p {
  width: 61rem;
  margin-top: 2.4rem;
}
.pricing_calc .info .check_list {
  margin-top: 3.6rem;
}
.pricing_calc .info .check_list li {
  padding-left: 2.9rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 3.37rem;
}
.pricing_calc .info .check_list li::before {
  top: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  background-size: 1.2rem 0.9rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9' fill='none' stroke='%23f4800c' stroke-width='1.92'%3E%3Cpath d='M1 4.6 4.2 7.6 11 1'/%3E%3C/svg%3E");
}
.pricing_calc .info .img {
  width: 62rem;
  height: 32rem;
  margin-top: 4.4rem;
  border-radius: 2rem;
}
.pricing_calc .info .img:hover img {
  transform: scale(1.04);
}
.pricing_calc .calc {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 57.29rem;
}
.pricing_calc .calc_card {
  position: relative;
  z-index: 2;
  height: 50.6rem;
  padding: 3.8rem 4rem 0px;
  border-radius: 2rem;
  background-color: var(--card);
}
.pricing_calc .calc_card h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 3rem;
  line-height: 3.4rem;
}
.pricing_calc .calc_card > .syedittext p {
  margin-top: 1.2rem;
  color: var(--label);
  font-size: 1.5rem;
  line-height: 2.2rem;
}
.pricing_calc .calc_tabs {
  display: flex;
  gap: 0.6rem;
  margin-top: 1.9rem;
  padding: 0.75rem;
  border-radius: 1.2rem;
  background-color: #e5e0db;
}
.pricing_calc .calc_tabs button {
  flex: 1;
  height: 3.89rem;
  border-radius: 0.9rem;
  color: #3c5480;
  font-weight: 600;
  font-size: 1.5rem;
  transition: 0.3s;
}
.pricing_calc .calc_tabs button:hover {
  color: var(--deep);
}
.pricing_calc .calc_tabs button.active {
  color: #fff;
  background-color: var(--deep);
}
.pricing_calc .calc_field {
  margin-top: 1.8rem;
}
.pricing_calc .calc_field label {
  display: block;
  color: #3c5480;
  font-weight: 600;
  font-size: 1.4rem;
}
.pricing_calc .calc_input {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  height: 6.52rem;
  margin-top: 1rem;
  padding: 0px 1.7rem;
  border-radius: 1.2rem;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
  transition: border-color 0.3s;
}
.pricing_calc .calc_input:focus-within {
  border-color: rgba(249, 136, 33, 0.6);
}
.pricing_calc .calc_input i {
  color: #7c8ca6;
  font-weight: 500;
  font-size: 2rem;
}
.pricing_calc .calc_input input {
  width: 100%;
  height: 100%;
  color: var(--navy);
  font-weight: 600;
  font-size: 2.6rem;
  background-color: transparent;
}
.pricing_calc .calc_chips {
  display: flex;
  gap: 0.78rem;
  margin-top: 1.3rem;
}
.pricing_calc .calc_chips button {
  height: 3.6rem;
  padding: 0px 1.4rem;
  border-radius: 1.8rem;
  color: #3c5480;
  font-weight: 500;
  font-size: 1.4rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid #dddde0;
}
.pricing_calc .calc_chips button:hover,
.pricing_calc .calc_chips button.active {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.pricing_calc .calc_result {
  position: relative;
  margin-top: 2.1rem;
  padding-top: 3.1rem;
  border-top: 1px dashed rgba(26, 50, 99, 0.25);
}
.pricing_calc .calc_result .label {
  color: #3c5480;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2rem;
}
.pricing_calc .calc_result .fee {
  position: absolute;
  right: 0px;
  top: 2.1rem;
  color: var(--navy);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 4.2rem;
  line-height: 5rem;
}
.pricing_calc .calc_result .note {
  margin-top: 2.3rem;
  color: var(--label);
  font-size: 1.6rem;
  line-height: 2rem;
}
.pricing_calc .calc_foot {
  margin-top: -3.9rem;
  padding: 6rem 4rem 2rem;
  border-radius: 0px 0px 2rem 2rem;
  background-color: var(--navy-light);
}
.pricing_calc .calc_foot .check_list li {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2.58rem;
}
.pricing_calc .calc_foot .check_list li::before {
  top: 0.5rem;
}
.pricing_calc .calc_foot p {
  margin-top: 1.6rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.4rem;
  line-height: 2.2rem;
}

@media screen and (max-width: 768px) {
  .pricing_calc .calc_card {
    height: auto;
    padding: 24px 20px 26px;
    border-radius: 16px;
  }
  .pricing_calc .calc_card h2 {
    font-size: 22px;
    line-height: 28px;
  }
  .pricing_calc .calc_card > .syedittext p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 20px;
  }
  .pricing_calc .calc_tabs {
    gap: 4px;
    margin-top: 16px;
    padding: 5px;
    border-radius: 10px;
  }
  .pricing_calc .calc_tabs button {
    height: 34px;
    font-size: 12px;
  }
  .pricing_calc .calc_field {
    margin-top: 16px;
  }
  .pricing_calc .calc_field label {
    font-size: 13px;
  }
  .pricing_calc .calc_input {
    height: 52px;
    margin-top: 8px;
    padding: 0px 14px;
    border-radius: 10px;
  }
  .pricing_calc .calc_input i {
    font-size: 16px;
  }
  .pricing_calc .calc_input input {
    font-size: 20px;
  }
  .pricing_calc .calc_chips {
    gap: 6px;
    margin-top: 10px;
  }
  .pricing_calc .calc_chips button {
    height: 30px;
    padding: 0px 12px;
    font-size: 12px;
  }
  .pricing_calc .calc_result {
    margin-top: 18px;
    padding-top: 18px;
  }
  .pricing_calc .calc_result .label {
    font-size: 14px;
  }
  .pricing_calc .calc_result .fee {
    top: 12px;
    font-size: 30px;
    line-height: 34px;
  }
  .pricing_calc .calc_result .note {
    margin-top: 12px;
    font-size: 13px;
    line-height: 18px;
  }
  .pricing_calc .calc_foot {
    margin-top: -20px;
    padding: 36px 20px 20px;
    border-radius: 0px 0px 16px 16px;
  }
  .pricing_calc .calc_foot .check_list li {
    font-size: 13px;
    line-height: 24px;
  }
  .pricing_calc .calc_foot p {
    margin-top: 12px;
    font-size: 12px;
    line-height: 18px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1400px) {
  .pricing_calc .info {
    width: 46%;
  }
  .pricing_calc .tcon p,
  .pricing_calc .info .img {
    width: 100%;
  }
  .pricing_calc .calc {
    right: 3rem;
    width: 48%;
  }
}

@media screen and (max-width: 768px) {
  .pricing_calc {
    padding: 46px 0px 46px;
  }
  .pricing_calc .info {
    width: auto;
  }
  .pricing_calc .tcon h2 br {
    display: none;
  }
  .pricing_calc .tcon p {
    width: auto;
    margin-top: 12px;
  }
  .pricing_calc .info .check_list {
    margin-top: 18px;
  }
  .pricing_calc .info .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 26px;
  }
  .pricing_calc .info .check_list li::before {
    top: 7px;
    width: 12px;
    height: 12px;
    background-size: 10px 8px;
  }
  .pricing_calc .info .img {
    width: auto;
    height: 200px;
    margin-top: 22px;
    border-radius: 14px;
  }
  .pricing_calc .calc {
    position: static;
    width: auto;
    margin-top: 26px;
  }
}

/* pricing3-page_faqs.css */
.page_faqs {
  padding: 19.05rem 0px 15.5rem;
  background-color: var(--cream);
}
.page_faqs .faq_list {
  width: 93.6rem;
  margin: 5rem auto 0px;
}
.page_faqs .faq_item {
  border-radius: 1.2rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid rgba(216, 217, 219, 0.14);
}
.page_faqs .faq_item + .faq_item {
  margin-top: 1.41rem;
}
.page_faqs .faq_item.active {
  border-color: #d8d9db;
  margin-bottom: 2.9rem;
}
.page_faqs .question {
  position: relative;
  padding: 2.54rem 8rem 2.54rem 2.92rem;
  cursor: pointer;
  color: var(--title);
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.4rem;
  transition: color 0.3s;
}
.page_faqs .faq_item.active .question {
  color: var(--secondary);
  font-weight: 700;
}
.page_faqs .question:hover {
  color: var(--secondary);
}
.page_faqs .question::after {
  content: '';
  position: absolute;
  right: 2.9rem;
  top: 2.22rem;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50%;
  transition: 0.3s;
  background-color: #f4e7d3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%230d1b37' stroke-width='1.46'%3E%3Cpath d='M7 1v12M1 7h12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.5rem;
}
.page_faqs .faq_item.active .question::after {
  background-color: var(--secondary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.46'%3E%3Cpath d='M1 7h12'/%3E%3C/svg%3E");
}
.page_faqs .answer {
  display: none;
  padding: 0px 6rem 3.2rem 2.92rem;
}
.page_faqs .faq_list .faq_item:nth-of-type(1) .answer{
  display: block;
}
.page_faqs .faq_item.active .answer {
  /* display: block; */
  margin-top: 1.5rem;
}
.page_faqs .answer p {
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 500;
  padding-right: 2rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .page_faqs .faq_list {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .page_faqs {
    padding: 46px 0px 46px;
  }
  .page_faqs .faq_list {
    width: auto;
    margin-top: 24px;
  }
  .page_faqs .faq_item + .faq_item {
    margin-top: 10px;
  }
  .page_faqs .question {
    padding: 16px 48px 16px 16px;
    font-size: 15px;
    line-height: 21px;
  }
  .page_faqs .question::after {
    right: 14px;
    top: 15px;
    width: 26px;
    height: 26px;
    background-size: 10px 10px;
  }
  .page_faqs .answer {
    padding: 0px 16px 18px;
  }
  .page_faqs .answer p {
    font-size: 13px;
    line-height: 21px;
  }
}

/* quote1-quote_form-img_bg.css */
.quote_form {
  padding: 12.52rem 0px 13.22rem;
  background-color: var(--navy);
}
.quote_form .content {
  display: flex;
  justify-content: space-between;
}
.quote_form .info {
  width: 50rem;
  padding-top: 4.3rem;
}
.quote_form .tcon h1 {
  font-size: 7.4rem;
  line-height: 8.6rem;

}
.quote_form .tcon p {
  width: 42rem;
  margin-top: 2.2rem;
  color: rgba(255, 255, 255, 0.8);
}
.quote_form .contacts {
  margin-top: 5.5rem;
}
.quote_form .contacts li {
  display: flex;
  align-items: center;
  gap: 2.27rem;
}
.quote_form .contacts li + li {
  margin-top: 3.24rem;
}
.quote_form .contacts .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.32rem;
  height: 5.32rem;
  border-radius: 1.06rem;
  background-color: #fff;
}
.quote_form .contacts .icon img {
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
}
.quote_form .contacts span {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
}
.quote_form .contacts a,
.quote_form .contacts strong {
  display: block;
  margin-top: 0.9rem;
  color: #fff;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 2rem;
  transition: color 0.3s;
}
.quote_form .contacts a:hover {
  color: var(--primary);
}
.quote_form .form {
  width: 74.4rem;
  padding: 4rem;
  border-radius: 2rem;
  background-color: #fff;
}
.quote_form .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.87rem 1.8rem;
}
.quote_form .item {
  width: 100%;
}
.quote_form .item.col2 {
  width: 32.3rem;
}
.quote_form .label {
  display: block;
  margin-bottom: 0.83rem;
  color: #49515e;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.9rem;
}
.quote_form .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}
.quote_form input[type='text'],
.quote_form input[type='email'],
.quote_form select {
  width: 100%;
  height: 5.4rem;
  padding: 0px 2.2rem;
  border-radius: 1.1rem;
  color: var(--title);
  font-size: 1.6rem;
  transition: border-color 0.3s;
  background-color: #fff;
  border: 1px solid #dfe2e9;
}
.quote_form input::placeholder,
.quote_form textarea::placeholder {
  color: #7c8ca6;
  font-size: 1.5rem;
}
.quote_form input:focus,
.quote_form select:focus,
.quote_form textarea:focus {
  border-color: var(--primary);
}
.quote_form .item_select .wpcf7-form-control-wrap::after {
  content: '';
  position: absolute;
  right: 2.2rem;
  top: 50%;
  width: 1.22rem;
  height: 0.7rem;
  pointer-events: none;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 8' fill='none' stroke='%230d1b37' stroke-width='1.4'%3E%3Cpath d='M1 1.2 6.5 6.5 12 1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.quote_form select {
  cursor: pointer;
  font-weight: 500;
  appearance: none;
  -webkit-appearance: none;
}
.quote_form textarea {
  width: 100%;
  height: 11rem;
  padding: 1.6rem 2.2rem;
  border-radius: 1.1rem;
  font-size: 1.6rem;
  line-height: 2.2rem;
  transition: border-color 0.3s;
  background-color: #fff;
  border: 1px solid #dfe2e9;
}
.quote_form .file_box {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  height: 5.4rem;
  padding: 0px 0.75rem 0px 2.2rem;
  cursor: pointer;
  border-radius: 1.1rem;
  transition: border-color 0.3s;
  border: 1px solid #dfe2e9;
}
.quote_form .file_box:hover {
  border-color: var(--primary);
}
.quote_form .file_box input {
  display: none;
}
.quote_form .file_name {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--title);
  font-size: 1.5rem;
}
.quote_form .file_btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.9rem;
  height: 3.9rem;
  border-radius: 0.89rem;
  background-color: #dfe2e9;
}
.quote_form .file_btn img {
  display: block;
  width: 1.7rem;
  height: 1.8rem;
  object-fit: contain;
}
.quote_form .item_file .tip {
  margin-top: 0.9rem;
  color: #7c8ca6;
  font-size: 1.4rem;
  line-height: 1.7rem;
}
.quote_form .item_submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 0.9rem;
}
.quote_form .item_submit .note {
  color: #7c8ca6;
  font-size: 1.6rem;
  line-height: 2.05rem;
}
.quote_form .item_submit .btn {
  width: 17.62rem;
  background-color: var(--secondary);
}
.quote_form .item_submit .btn:hover {
  background-color: var(--primary);
}
.quote_form .wpcf7-not-valid {
  border-color: #e02b2b;
}
.quote_form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.6rem;
  color: #e02b2b;
  font-size: 1.3rem;
}
.quote_form .wpcf7-response-output {
  display: none;
  margin-top: 2rem;
  padding: 1.4rem 2rem;
  border-radius: 1.1rem;
  color: var(--title);
  font-size: 1.5rem;
  border: 1px solid #dfe2e9;
}
.quote_form .wpcf7-response-output.show {
  display: block;
}
.quote_form .wpcf7-response-output.ok {
  color: #1a7f4b;
  border-color: rgba(26, 127, 75, 0.4);
  background-color: rgba(26, 127, 75, 0.06);
}
.quote_form .wpcf7-response-output.ng {
  color: #e02b2b;
  border-color: rgba(224, 43, 43, 0.4);
  background-color: rgba(224, 43, 43, 0.05);
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .quote_form .info {
    width: 38%;
  }
  .quote_form .tcon p {
    width: auto;
  }
  .quote_form .form {
    width: 58%;
  }
  .quote_form .item.col2 {
    width: calc(50% - 0.9rem);
  }
}

@media screen and (max-width: 768px) {
  .quote_form {
    padding: 46px 0px 46px;
  }
  .quote_form .content {
    display: block;
  }
  .quote_form .info {
    width: auto;
  }
  .quote_form .tcon h2 br {
    display: none;
  }
  .quote_form .tcon p {
    width: auto;
    margin-top: 12px;
  }
  .quote_form .contacts {
    margin-top: 24px;
  }
  .quote_form .contacts li + li {
    margin-top: 14px;
  }
  .quote_form .contacts .icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }
  .quote_form .contacts .icon img {
    width: 17px;
    height: 17px;
  }
  .quote_form .contacts span {
    font-size: 12px;
  }
  .quote_form .contacts a,
  .quote_form .contacts strong {
    margin-top: 4px;
    font-size: 15px;
  }
  .quote_form .form {
    width: auto;
    margin-top: 26px;
    padding: 20px 16px 24px;
    border-radius: 16px;
  }
  .quote_form .wrap {
    gap: 14px 12px;
  }
  .quote_form .item.col2 {
    width: calc(50% - 6px);
  }
  .quote_form .label {
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 16px;
  }
  .quote_form input[type='text'],
  .quote_form input[type='email'],
  .quote_form select,
  .quote_form .file_box {
    height: 44px;
    padding-left: 14px;
    border-radius: 10px;
    font-size: 14px;
  }
  .quote_form input::placeholder,
  .quote_form textarea::placeholder {
    font-size: 13px;
  }
  .quote_form textarea {
    height: 90px;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
  }
  .quote_form .file_btn {
    width: 32px;
    height: 32px;
  }
  .quote_form .item_file .tip {
    font-size: 12px;
  }
  .quote_form .item_submit {
    display: block;
  }
  .quote_form .item_submit .note {
    font-size: 13px;
    line-height: 18px;
  }
  .quote_form .item_submit .btn {
    width: 100%;
    margin-top: 14px;
  }
}

/* services1-page_banner-img_bg.css */
.page_banner {
  height: 76rem;
  background-color: var(--navy);
}
.page_banner .content {
  height: 100%;
  padding-top: 15.85rem;
}
.page_banner .tcon {
  width: 90rem;
}
.page_banner .tcon .tag {
  color: rgba(255, 255, 255, 0.7);
}
.page_banner .tcon h1 {
  margin-top: 2.2rem;
  font-size: 7.4rem;
  line-height: 8.6rem;
  letter-spacing: -0.01em;
}
.page_banner .tcon p {
  width: 60rem;
  margin-top: 0.9rem;
  font-size: 1.8rem;
  line-height: 3rem;
  color: rgba(255, 255, 255, 0.85);
}
.page_banner .btn_box {
  display: flex;
  gap: 2.25rem;
  margin-top: 3rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .page_banner {
    height: 62rem;
  }
  .page_banner .tcon {
    width: 100%;
  }
  .page_banner .tcon h1 {
    font-size: 5.4rem;
    line-height: 6.4rem;
  }
  .page_banner .tcon p {
    width: 80%;
  }
}

@media screen and (max-width: 768px) {
  .page_banner {
    height: auto;
    padding: 46px 0px 46px;
  }
  .page_banner .content {
    padding-top: 0px;
  }
  .page_banner .tcon {
    width: auto;
  }
  .page_banner .tcon h1 {
    margin-top: 12px;
    font-size: 30px;
    line-height: 38px;
  }
  .page_banner .tcon h1 br {
    display: none;
  }
  .page_banner .tcon p {
    width: auto;
    margin-top: 12px;
    font-size: 14px;
    line-height: 23px;
  }
  .page_banner .btn_box {
    gap: 10px;
    margin-top: 22px;
  }
}

/* services2-page_process.css */
.page_process {
  padding: 14.1rem 0px 15rem;
  background-color: #fff;
}
.page_process .tcon p {
  margin-top: 1.5rem;
}
.page_process .process_grid {
  display: grid;
  gap: 6.5rem 0px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 8.5rem;
}
.page_process .process_grid > li {
  text-align: center;
}
.page_process .top {
  position: relative;
  height: 10.41rem;
}
.page_process .top::before {
  content: '';
  position: absolute;
  left: 0px;
  right: 0px;
  top: 5.02rem;
  height: 4px;
  background-image: linear-gradient(to right, #dfe5ea 6px, rgba(223, 229, 234, 0) 0);
  background-size: 1.4rem 4px;
  background-size: calc(1.6rem + 6px) 4px;
  background-repeat: repeat-x;
  z-index: -1;
}
.page_process .process_grid > li:nth-child(3n) .top::before {
  right: 18%;
}
.page_process .top::after {
  content: '';
  position: absolute;
  right: -0.55rem;
  top: 4.29rem;
  width: 1.1rem;
  height: 2.04rem;
  width: 2rem;
  height: 2.3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 21' fill='none' stroke='%231a3263' stroke-width='4'%3E%3Cpath d='M1 1.5 9 10.5 1 19.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page_process .process_grid > li:nth-child(3n) .top::after {
  display: none;
}
.page_process .circle {
  position: absolute;
  left: 50%;
  top: 0px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.41rem;
  height: 10.41rem;
  margin-left: -5.2rem;
  border-radius: 50%;
  transition: 0.3s;
  background-color: #fff;
  border: 3px solid #dfe5ea;
}
.page_process .circle img {
  display: block;
  width: 4.4rem;
  height: 4.4rem;
  object-fit: contain;
}
.page_process .process_grid > li.active .circle,
.page_process .process_grid > li:hover .circle {
  border-color: var(--secondary);
}
.page_process .num {
  position: absolute;
  left: 50%;
  top: -0.53rem;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.09rem;
  height: 3.09rem;
  margin-left: -4.68rem;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  background-color: #15181c;
}
.page_process h3 {
  margin-top: 3.4rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.2rem;
}
.page_process p {
  max-width: 31rem;
  margin: 1.7rem auto 0px;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .page_process {
    padding: 46px 0px 46px;
  }
  .page_process .tcon p br {
    display: none;
  }
  .page_process .process_grid {
    gap: 26px 10px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 28px;
  }
  .page_process .top {
    height: 70px;
  }
  .page_process .top::before,
  .page_process .top::after {
    display: none;
  }
  .page_process .circle {
    width: 70px;
    height: 70px;
    margin-left: -35px;
    border-width: 2px;
  }
  .page_process .circle img {
    width: 30px;
    height: 30px;
  }
  .page_process .num {
    width: 24px;
    height: 24px;
    margin-left: -33px;
    top: -4px;
    font-size: 10px;
  }
  .page_process h3 {
    margin-top: 16px;
    font-size: 16px;
    line-height: 20px;
  }
  .page_process p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 20px;
  }
}

/* services3-services_beyond.css */
.services_beyond {
  padding: 13.87rem 0px 15.49rem;
  background-color: var(--navy);
}
.services_beyond .tcon p {
  margin-top: 2rem;
}
.services_beyond .beyond_list {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 5.44rem;
}
.services_beyond .beyond_list > li {
  position: relative;
  min-height: 46.39rem;
  padding: 4.96rem 3rem 0px;
  border-radius: 2.27rem;
  transition: transform 0.4s;
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.services_beyond .beyond_list > li:hover {
  transform: translateY(-0.6rem);
}
.services_beyond .beyond_list > li.light {
  background-color: var(--card);
  border-color: var(--card);
}
.services_beyond .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 1.2rem;
  background-color: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.services_beyond .beyond_list > li.light .icon {
  background-color: #fff;
  border-color: #fff;
}
.services_beyond .icon img {
  display: block;
  width: 5.5rem;
  height: 5.5rem;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.services_beyond .beyond_list > li.light .icon img {
  filter: none;
}
.services_beyond h3 {
  margin-top: 3.65rem;
  color: #fff;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.6rem;
}
.services_beyond .beyond_list > li > p {
  margin-top: 1.9rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.6rem;
  line-height: 2.3rem;
}
.services_beyond .beyond_list > li.light h3 {
  color: var(--title);
}
.services_beyond .beyond_list > li.light > p,
.services_beyond .beyond_list > li.light .note {
  color: rgba(65, 87, 126, 0.7);
}
.services_beyond .price {
  position: absolute;
  left: 3rem;
  bottom: 7.5rem;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
}
.services_beyond .price strong {
  color: var(--secondary);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 3.1rem;
}
.services_beyond .price em {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.4rem;
}
.services_beyond .beyond_list > li.light .price em {
  color: rgba(65, 87, 126, 0.7);
  font-weight: 500;
}
.services_beyond .note {
  position: absolute;
  left: 3rem;
  right: 3rem;
  bottom: 3.2rem;
  color: rgba(65, 87, 126, 0.7);
  font-size: 1.4rem;
  line-height: 1.75rem;
  font-weight: 500;
  max-width: 27.5rem;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .services_beyond .beyond_list > li {
    min-height: 0px;
    padding: 3rem 2rem 12rem;
  }
}

@media screen and (max-width: 768px) {
  .services_beyond {
    padding: 46px 0px 46px;
  }
  .services_beyond .tcon p br {
    display: none;
  }
  .services_beyond .beyond_list {
    gap: 14px;
    grid-template-columns: 1fr;
    margin-top: 26px;
  }
  .services_beyond .beyond_list > li {
    min-height: 0px;
    padding: 22px 18px 24px;
    border-radius: 16px;
  }
  .services_beyond .icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }
  .services_beyond .icon img {
    width: 26px;
    height: 26px;
  }
  .services_beyond h3 {
    margin-top: 18px;
    font-size: 18px;
    line-height: 23px;
  }
  .services_beyond .beyond_list > li > p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  .services_beyond .price {
    position: static;
    margin-top: 16px;
  }
  .services_beyond .price strong {
    font-size: 22px;
    line-height: 26px;
  }
  .services_beyond .note {
    position: static;
    margin-top: 10px;
    font-size: 12px;
    line-height: 16px;
  }
}

/* services4-services_extra.css */
.services_extra {
  padding: 13.75rem 0px 15.27rem;
  background-color: var(--cream);
}
.services_extra .tcon p {
  margin-top: 2rem;
}
.services_extra .extra_list {
  display: grid;
  gap: 4.5rem 3rem;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 5.6rem;
}
.services_extra .extra_list > li {
  position: relative;
  min-height: 43.42rem;
  padding: 4.96rem 3rem 8rem;
  border-radius: 2.27rem;
  transition: transform 0.4s, box-shadow 0.4s;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
  padding-right: 3.5rem;
}
.services_extra .extra_list > li:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2rem 4rem rgba(26, 50, 99, 0.08);
}
.services_extra .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 1.2rem;
  background-color: #f4e7d3;
}
.services_extra .icon img {
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  object-fit: contain;
}
.services_extra h3 {
  margin-top: 3.5rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 2.9rem;
}
.services_extra .extra_list > li > p {
  margin-top: 1.7rem;
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
}
.services_extra .price {
  position: absolute;
  left: 3rem;
  bottom: 3.9rem;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
}
.services_extra .price strong {
  color: var(--title);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 2.6rem;
  line-height: 3rem;
  color: var(--primary);
}
.services_extra .price em {
  color: rgba(13, 27, 55, 0.7);
  font-size: 1.4rem;
  font-weight: 500;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .services_extra .extra_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .services_extra {
    padding: 46px 0px 46px;
  }
  .services_extra .tcon p br {
    display: none;
  }
  .services_extra .extra_list {
    gap: 14px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 26px;
  }
  .services_extra .extra_list > li {
    min-height: 0px;
    padding: 18px 14px 20px;
    border-radius: 14px;
  }
  .services_extra .icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
  }
  .services_extra .icon img {
    width: 24px;
    height: 24px;
  }
  .services_extra h3 {
    margin-top: 16px;
    font-size: 15px;
    line-height: 20px;
  }
  .services_extra .extra_list > li > p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 18px;
  }
  .services_extra .price {
    position: static;
    margin-top: 14px;
  }
  .services_extra .price strong {
    font-size: 19px;
    line-height: 23px;
  }
  .services_extra .price em {
    font-size: 12px;
  }
}

/* services5-services_never.css */
.services_never {
  overflow: hidden;
  padding: 21.13rem 0px 15.4rem;
  background-color: #fff;
}
.services_never .content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.services_never .info {
  width: 55rem;
  padding-top: 0.3rem;
}
.services_never .tcon p {
  width: 50rem;
  margin-top: 2.4rem;
}
.services_never .check_list {
  margin-top: 4.3rem;
  margin-top: 3rem;
}
.services_never .check_list li {
  padding-left: 2.9rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 3.4rem;
}
.services_never .check_list li::before {
  top: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  background-size: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9' fill='none' stroke='%23f4800c' stroke-width='1.92'%3E%3Cpath d='M1 4.6 4.2 7.6 11 1'/%3E%3C/svg%3E");
}
.services_never .btn_box {
  margin-top: 3.3rem;
}
.services_never .btn_box .btn {
  background-color: var(--secondary);
}
.services_never .btn_box .btn:hover {
  background-color: var(--primary);
}
.services_never .img {
  flex-shrink: 0;
  margin-top: -5.72rem;
  width: 68rem;
  height: 54rem;
  border-radius: 3.9rem;
}
.services_never .img:hover img {
  transform: scale(1.04);
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .services_never .info {
    width: 45%;
  }
  .services_never .tcon p {
    width: auto;
  }
  .services_never .img {
    width: 50%;
    height: 40rem;
  }
}

@media screen and (max-width: 768px) {
  .services_never {
    padding: 46px 0px 46px;
  }
  .services_never .content {
    display: block;
  }
  .services_never .info {
    width: auto;
  }
  .services_never .tcon h2 br {
    display: none;
  }
  .services_never .tcon p {
    width: auto;
    margin-top: 12px;
  }
  .services_never .check_list {
    margin-top: 20px;
  }
  .services_never .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 26px;
  }
  .services_never .check_list li::before {
    top: 7px;
    width: 12px;
    height: 12px;
    background-size: 10px 8px;
  }
  .services_never .btn_box {
    margin-top: 20px;
  }
  .services_never .img {
    width: auto;
    height: 240px;
    margin-top: 26px;
    border-radius: 14px;
  }
}

/* sourcing1-page_banner-img_bg.css: differences from case-detail1-page_banner-img_bg.css, scoped to .page_banner_sourcing */
.page_banner.page_banner_sourcing.banner_cat {
  height: auto;
  padding-bottom: 6rem;
  background-color: var(--cream);
}
.page_banner.page_banner_sourcing.banner_cat.img_bg > img {
  height: 76rem;
}
.page_banner.page_banner_sourcing.banner_cat > .content {
  height: 76rem;
}
.page_banner.page_banner_sourcing .banner_stats {
  padding-top: 6rem;
}
.page_banner.page_banner_sourcing .banner_stats ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.page_banner.page_banner_sourcing .banner_stats li {
  padding-left: 3rem;
  border-left: 1px solid rgba(13, 27, 55, 0.14);
}
.page_banner.page_banner_sourcing .banner_stats strong {
  display: block;
  color: var(--secondary);
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 5.2rem;
}
.page_banner.page_banner_sourcing .banner_stats p {
  margin-top: 1.2rem;
  color: var(--title);
  font-size: 1.6rem;
  line-height: 2.1rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_sourcing.banner_cat {
  padding-bottom: 30px;
}
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_sourcing.banner_cat > .content, .page_banner.page_banner_sourcing.banner_cat.img_bg > img {
  height: auto;
}
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_sourcing .banner_stats {
  padding-top: 30px;
}
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_sourcing .banner_stats ul {
  gap: 18px 0px;
    grid-template-columns: repeat(2, 1fr);
}
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_sourcing .banner_stats li {
  padding-left: 12px;
}
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_sourcing .banner_stats strong {
  font-size: 24px;
    line-height: 28px;
}
}
@media screen and (max-width: 768px) {
.page_banner.page_banner_sourcing .banner_stats p {
  margin-top: 6px;
    font-size: 12px;
    line-height: 17px;
}
}
/* sourcing2-sourcing_why.css */
.sourcing_why {
  overflow: hidden;
  padding: 15.5rem 0px 5rem;
  background-color: #fff;
}
.sourcing_why .content > .img {
  flex-shrink: 0;
  width: 68rem;
  height: 54rem;
  border-radius: 3.9rem;
}
.sourcing_why .content > .img:hover img {
  transform: scale(1.04);
}
.sourcing_why .info {
  width: 57.6rem;
  padding-top: 0rem;
}
.sourcing_why .tcon p {
  margin-top: 3rem;
  max-width: 53.3rem;
}
.sourcing_why .check_list {
  margin-top: 3rem;
}
.sourcing_why .check_list li {
  padding-left: 2.9rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 3.4rem;
}
.sourcing_why .check_list li::before {
  top: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  background-size: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9' fill='none' stroke='%23f4800c' stroke-width='1.92'%3E%3Cpath d='M1 4.6 4.2 7.6 11 1'/%3E%3C/svg%3E");
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .sourcing_why .content > .img {
    width: 48%;
    height: 42rem;
  }
  .sourcing_why .info {
    width: 48%;
    padding-top: 0px;
  }
}

@media screen and (max-width: 768px) {
  .sourcing_why {
    padding: 46px 0px 46px;
  }
  .sourcing_why .content {
    display: block;
  }
  .sourcing_why .content > .img {
    width: auto;
    height: 220px;
    border-radius: 16px;
  }
  .sourcing_why .info {
    width: auto;
    padding-top: 0px;
    margin-top: 24px;
  }
  .sourcing_why .tcon h2 br {
    display: none;
  }
  .sourcing_why .check_list {
    margin-top: 18px;
  }
  .sourcing_why .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 26px;
  }
  .sourcing_why .check_list li::before {
    top: 7px;
    width: 12px;
    height: 12px;
    background-size: 10px 8px;
  }
}

/* sourcing3-sourcing_products.css */
.sourcing_products {
  overflow: hidden;
  padding: 13.7rem 0px 15.4rem;
  background-color: #fff;
}
.sourcing_products .tcon p {
  max-width: 78rem;
  margin-top: 1.5rem;
}
.sourcing_products .products_swiper {
  position: relative;
  margin-top: 5.5rem;
}
.sourcing_products .swiper {
  overflow: visible;
  overflow: hidden;
}
.sourcing_products .swiper-slide {
  width: 31.25rem;
  height: auto;
  padding-bottom: 3rem;
  overflow: hidden;
  border-radius: 2.27rem;
  transition: 0.3s;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
  text-align: center;
}
.sourcing_products .swiper-slide.active,
.sourcing_products .swiper-slide:hover {
  box-shadow: 0px 1.6rem 3.6rem rgba(26, 50, 99, 0.1);
}
.sourcing_products .swiper-slide .img {
  height: 24.4rem;
  border-radius: 2.27rem;
  background-color: var(--cream);
  overflow: hidden;
}
.sourcing_products .swiper-slide .img img {
  object-fit: contain;
}
.sourcing_products .swiper-slide:hover .img img {
  transform: scale(1.05);
}
.sourcing_products h3 {
  height: 5.04rem;
  margin: 2.7rem 3rem 0px;
  color: var(--title);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.52rem;
  text-align: left;
}
.sourcing_products .btn,
.sourcing_products .btn_line {
  width: 25.24rem;
  height: 4.8rem;
  margin-top: 2.3rem;
  margin-top: 4.4rem;
}
.sourcing_products .btn_line {
  border-color: #5a6e90;
}
.sourcing_products .swiper_btns {
  position: absolute;
  left: -11.8rem;
  right: -11.8rem;
  top: 50%;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 9;
}
.sourcing_products .swiper_btns div {
  width: 5.4rem;
  height: 5.4rem;
  pointer-events: auto;
  border-color: rgba(13, 27, 55, 0.2);
  background-color: #fff;
}
.sourcing_products .swiper_btns .btn_next {
  color: #fff;
  border-color: var(--secondary);
  background-color: var(--secondary);
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .sourcing_products .swiper_btns {
    left: -2rem;
    right: -2rem;
  }
}

@media screen and (max-width: 768px) {
  .sourcing_products {
    padding: 46px 0px 46px;
  }
  .sourcing_products .products_swiper {
    margin-top: 24px;
  }
  .sourcing_products .swiper-slide {
    width: 220px;
    padding-bottom: 20px;
    border-radius: 14px;
  }
  .sourcing_products .swiper-slide .img {
    height: 170px;
    border-radius: 14px;
  }
  .sourcing_products h3 {
    height: auto;
    margin: 16px 14px 0px;
    font-size: 16px;
    line-height: 21px;
  }
  .sourcing_products .btn,
  .sourcing_products .btn_line {
    width: calc(100% - 28px);
    height: 38px;
    margin-top: 14px;
    font-size: 13px;
  }
  .sourcing_products .swiper_btns {
    position: static;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    transform: none;
  }
  .sourcing_products .swiper_btns div {
    width: 38px;
    height: 38px;
  }
}

/* sourcing4-sourcing_ways.css */
.sourcing_ways {
  padding: 12.67rem 0px 8.23rem;
  background-color: var(--cream);
}
.sourcing_ways .tcon p {
  margin-top: 1.5rem;
}
.sourcing_ways .ways_list {
  margin-top: 5rem;
}
.sourcing_ways .ways_list > li {
  display: flex;
  justify-content: space-between;
  height: 59.54rem;
  padding: 1.5rem;
  border-radius: 1.8rem;
  background-color: #fff;
  border: 1px solid rgba(26, 50, 99, 0.14);
}
.sourcing_ways .ways_list > li + li {
  margin-top: 3.31rem;
}
.sourcing_ways .txt {
  width: 63.25rem;
}
.sourcing_ways .head {
  position: relative;
  height: 26.33rem;
  padding: 5.1rem 4.3rem 0px;
  border-radius: 1.8rem;
  border: 1px solid #dfe2e9;
  background-image: radial-gradient(90% 190% at 50% 82%, #f6eae0 0%, #f7f5f3 100%);
}
.sourcing_ways .head .icon {
  position: absolute;
  right: 3.75rem;
  top: 4.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.45rem;
  height: 8.45rem;
  border-radius: 2.11rem;
  background-color: rgba(255, 255, 255, 0.63);
  border: 1px solid #fff;
}
.sourcing_ways .head .icon img {
  display: block;
  width: 5rem;
  height: 5rem;
  object-fit: contain;
  filter: brightness(0);
}
.sourcing_ways .head h3 {
  color: var(--title);
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 3.1rem;
}
.sourcing_ways .head > p {
  max-width: 41rem;
  margin-top: 2rem;
  color: var(--text);
  font-size: 1.7rem;
  line-height: 2.2rem;
}
.sourcing_ways .rate {
  display: flex;
  align-items: baseline;
  gap: 1.7rem;
  margin-top: 2.4rem;
}
.sourcing_ways .rate strong {
  color: var(--secondary);
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 5.7rem;
}
.sourcing_ways .rate em {
  color: #66799b;
  font-weight: 500;
  font-size: 2rem;
}
.sourcing_ways .body {
  padding: 3rem 4.31rem 0px;
}
.sourcing_ways .body .check_list li {
  color: #28405f;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 3.24rem;
}
.sourcing_ways .body .check_list li::before {
  top: 0.85rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  background-size: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8' fill='none' stroke='%23f4800c' stroke-width='1.9'%3E%3Cpath d='M1 4.2 3.5 6.6 9 1.2'/%3E%3C/svg%3E");
}
.sourcing_ways .body .note {
  margin-top: 1.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2rem;
}
.sourcing_ways .body .btn,
.sourcing_ways .body .btn_line {
  width: 25.6rem;
  margin-top: 3.2rem;
}
.sourcing_ways .body .btn_line {
  border-color: #5a6e90;
}
.sourcing_ways .ways_list .img {
  flex-shrink: 0;
  width: 63.1rem;
  height: 55.81rem;
  border-radius: 1.8rem;
}
.sourcing_ways .ways_list .img:hover img {
  transform: scale(1.04);
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .sourcing_ways .ways_list > li {
    height: auto;
  }
  .sourcing_ways .txt {
    width: 48%;
  }
  .sourcing_ways .ways_list .img {
    width: 48%;
    height: auto;
    min-height: 40rem;
  }
}

@media screen and (max-width: 768px) {
  .sourcing_ways {
    padding: 46px 0px 30px;
  }
  .sourcing_ways .tcon p br {
    display: none;
  }
  .sourcing_ways .ways_list {
    margin-top: 24px;
  }
  .sourcing_ways .ways_list > li {
    display: block;
    height: auto;
    padding: 10px;
    border-radius: 16px;
  }
  .sourcing_ways .ways_list > li + li {
    margin-top: 16px;
  }
  .sourcing_ways .txt {
    width: auto;
  }
  .sourcing_ways .head {
    height: auto;
    padding: 22px 18px 24px;
    border-radius: 12px;
  }
  .sourcing_ways .head .icon {
    right: 16px;
    top: 18px;
    width: 52px;
    height: 52px;
    border-radius: 14px;
  }
  .sourcing_ways .head .icon img {
    width: 26px;
    height: 26px;
  }
  .sourcing_ways .head h3 {
    max-width: 62%;
    font-size: 20px;
    line-height: 26px;
  }
  .sourcing_ways .head > p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  .sourcing_ways .rate {
    gap: 10px;
    margin-top: 14px;
  }
  .sourcing_ways .rate strong {
    font-size: 32px;
    line-height: 38px;
  }
  .sourcing_ways .rate em {
    font-size: 14px;
  }
  .sourcing_ways .body {
    padding: 20px 8px 8px;
  }
  .sourcing_ways .body .check_list li {
    font-size: 13px;
    line-height: 26px;
  }
  .sourcing_ways .body .note {
    margin-top: 10px;
    font-size: 13px;
  }
  .sourcing_ways .body .btn,
  .sourcing_ways .body .btn_line {
    width: 100%;
    margin-top: 18px;
  }
  .sourcing_ways .ways_list .img {
    width: auto;
    height: 200px;
    margin-top: 16px;
    border-radius: 12px;
  }
}

/* sourcing5-sourcing_quality.css */
.sourcing_quality {
  overflow: hidden;
  padding: 11rem 0px 11rem;
  background-color: var(--navy);
}
.sourcing_quality .q_row + .q_row {
  margin-top: 7.2rem;
}
.sourcing_quality .q_row_rev {
  flex-direction: row-reverse;
}
.sourcing_quality .info {
  width: 55.4rem;
}
.sourcing_quality .tcon p {
  margin-top: 1.6rem;
  color: rgba(255, 255, 255, 0.8);
}
.sourcing_quality .btn_box {
  margin-top: 3.4rem;
}
.sourcing_quality .btn_box .btn {
  background-color: var(--secondary);
}
.sourcing_quality .btn_box .btn:hover {
  background-color: var(--primary);
}
.sourcing_quality .img {
  flex-shrink: 0;
  width: 68rem;
  height: 54rem;
  border-radius: 3.9rem;
}
.sourcing_quality .img:hover img {
  transform: scale(1.04);
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .sourcing_quality .info {
    width: 46%;
  }
  .sourcing_quality .img {
    width: 48%;
    height: 42rem;
  }
}

@media screen and (max-width: 768px) {
  .sourcing_quality {
    padding: 46px 0px 46px;
  }
  .sourcing_quality .q_row {
    display: block;
  }
  .sourcing_quality .q_row + .q_row {
    margin-top: 36px;
  }
  .sourcing_quality .info {
    width: auto;
    margin-top: 20px;
  }
  .sourcing_quality .tcon h2 br {
    display: none;
  }
  .sourcing_quality .tcon p {
    margin-top: 12px;
  }
  .sourcing_quality .btn_box {
    margin-top: 18px;
  }
  .sourcing_quality .img {
    width: auto;
    height: 220px;
    border-radius: 16px;
  }
}

/* sourcing6-page_faqs.css: differences from pricing3-page_faqs.css, scoped to .page_faqs_sourcing */
.page_faqs.page_faqs_sourcing {
  padding: 13.9rem 0px 15.4rem;
  background-color: var(--cream);
}
@media screen and (max-width: 768px) {
.page_faqs.page_faqs_sourcing {
  padding: 46px 0px 46px;
}
}
/* _base.css (again, see above) */
* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  --primary: #f98821;
  --secondary: #f4800c;
  --title: #0d1b37;
  --text: #41577e;
  --label: #4a6188;
  --navy: #1a3263;
  --navy-light: #304e82;
  --deep: #08294b;
  --cream: #f7f4ef;
  --card: #faf2e7;
  --sand: #efd2b0;
  --line: #e4e2dd;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 134rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
}
button {
  cursor: pointer;
  background-color: transparent;
}
body {
  font-size: 1.6rem;
  color: var(--title);
  font-weight: 400;
  font-family: 'Instrument Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: 'Archivo', 'Instrument Sans', Helvetica, Arial, sans-serif;
  font-weight: 700;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.5s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  color: var(--label);
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-image: radial-gradient(var(--secondary) 0%, var(--secondary) 17%, rgba(249, 136, 33, 0.19) 31%, rgba(249, 136, 33, 0.19) 33%, rgba(249, 136, 33, 0.12) 34%);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 5.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--primary);
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon p {
  color: var(--text);
  font-size: 1.8rem;
  line-height: 2.6rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2rem;
}
.tcon_white h1,
.tcon_white h2 {
  color: #fff;
}
.tcon_white p {
  color: rgba(255, 255, 255, 0.7);
}
.tcon_white .tag {
  color: rgba(255, 255, 255, 0.7);
}
.tcon_center {
  text-align: center;
}
.tcon_center p {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}
.btn,
.btn_line,
.btn_white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 5.4rem;
  padding: 0px 3.2rem;
  border-radius: 10rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 600;
  font-size: 1.6rem;
  transition: 0.3s;
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: #ff9737;
  box-shadow: 0px 0.8rem 2rem rgba(249, 136, 33, 0.32);
}
.btn_line {
  color: var(--title);
  border: 1px solid rgba(13, 27, 55, 0.25);
}
.btn_line:hover {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.btn_white {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.42);
}
.btn_white:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.6rem;
  color: var(--title);
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  transition: 0.3s;
  background-color: var(--secondary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23fff' stroke-width='1.4'%3E%3Cpath d='M0 6h12M7.6 1.4 12.2 6l-4.6 4.6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.4rem 1.2rem;
}
.btn_text:hover::after {
  transform: translateX(0.4rem);
}
.swiper_btns {
  display: flex;
  gap: 2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  transition: 0.3s;
  color: var(--title);
  border: 1px solid rgba(13, 27, 55, 0.2);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M14 6H2M6.4 1.4 1.8 6l4.6 4.6'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M14 6H2M6.4 1.4 1.8 6l4.6 4.6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns .btn_next {
  color: #fff;
  border-color: var(--secondary);
  background-color: var(--secondary);
}
.swiper_btns div:hover {
  color: #fff;
  border-color: var(--secondary);
  background-color: var(--secondary);
}
.swiper_btns .btn_next:hover {
  background-color: #ff9737;
  border-color: #ff9737;
}
.swiper_btns_white div {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
}
.swiper_btns .swiper-button-disabled {
  /* opacity: 0.4; */
  pointer-events: none;
}
.swiper_btns:has(.swiper-button-lock) {
  display: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  font-size: 1.5rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.5rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background-color: var(--secondary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M1 4.2 3.5 6.6 9 1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.9rem 0.7rem;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .content {
    padding: 0px 3rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 896px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.4rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    gap: 8px;
    font-size: 13px;
  }
  .tag::before {
    width: 18px;
    height: 18px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.22;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon p {
    font-size: 14px;
    line-height: 1.6;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 12px;
  }
  .tcon_center p {
    max-width: none;
  }
  .btn,
  .btn_line,
  .btn_white {
    height: 44px;
    padding: 0px 22px;
    font-size: 14px;
  }
  .btn_text {
    font-size: 14px;
  }
  .btn_text::after {
    width: 26px;
    height: 26px;
    background-size: 12px 10px;
  }
  .swiper_btns {
    gap: 10px;
  }
  .swiper_btns div {
    width: 38px;
    height: 38px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 13px;
    line-height: 22px;
  }
  .check_list li::before {
    width: 14px;
    height: 14px;
    top: 4px;
  }
}

/* home7-page_enquiry.css */
.page_enquiry {
  padding: 19.4rem 0px 10.83rem;
  background-color: var(--sand);
}
.page_enquiry .content {
  display: flex;
  justify-content: space-between;
}
.page_enquiry .info {
  width: 50rem;
  padding-top: 7rem;
}
.page_enquiry .tcon p {
  width: 40rem;
  margin-top: 2.4rem;
}
.page_enquiry .contacts {
  margin-top: 7.9rem;
  margin-top: 5.5rem;
}
.page_enquiry .contacts li {
  display: flex;
  align-items: center;
  gap: 2.27rem;
}
.page_enquiry .contacts li + li {
  margin-top: 3.37rem;
}
.page_enquiry .contacts .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.32rem;
  height: 5.32rem;
  border-radius: 1.06rem;
  background-color: #fff;
}
.page_enquiry .contacts .icon img {
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
}
.page_enquiry .contacts span {
  display: block;
  color: rgba(0, 40, 66, 0.5);
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
}
.page_enquiry .contacts a,
.page_enquiry .contacts strong {
  display: block;
  margin-top: 0.9rem;
  color: #002842;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 2rem;
  transition: color 0.3s;
}
.page_enquiry .contacts a:hover {
  color: var(--primary);
}
.page_enquiry .form {
  width: 74.4rem;
  padding: 4rem;
  border-radius: 2rem;
  background-color: #fff;
}
.page_enquiry .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.87rem 1.8rem;
}
.page_enquiry .item {
  width: 100%;
}
.page_enquiry .item.col2 {
  width: 32.3rem;
}
.page_enquiry .label {
  display: block;
  margin-bottom: 0.83rem;
  color: #49515e;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.9rem;
}
.page_enquiry .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}
.page_enquiry input[type='text'],
.page_enquiry input[type='email'],
.page_enquiry select {
  width: 100%;
  height: 5.4rem;
  padding: 0px 2.2rem;
  border-radius: 1.1rem;
  color: var(--title);
  font-size: 1.6rem;
  transition: border-color 0.3s;
  background-color: #fff;
  border: 1px solid #dfe2e9;
}
.page_enquiry input::placeholder,
.page_enquiry textarea::placeholder {
  color: #7c8ca6;
  font-size: 1.5rem;
}
.page_enquiry input:focus,
.page_enquiry select:focus,
.page_enquiry textarea:focus {
  border-color: var(--primary);
}
.page_enquiry .item_select .wpcf7-form-control-wrap::after {
  content: '';
  position: absolute;
  right: 2.2rem;
  top: 50%;
  width: 1.22rem;
  height: 0.7rem;
  pointer-events: none;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 8' fill='none' stroke='%230d1b37' stroke-width='1.4'%3E%3Cpath d='M1 1.2 6.5 6.5 12 1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page_enquiry select {
  cursor: pointer;
  font-weight: 500;
  appearance: none;
  -webkit-appearance: none;
}
.page_enquiry textarea {
  width: 100%;
  height: 11rem;
  padding: 1.6rem 2.2rem;
  border-radius: 1.1rem;
  font-size: 1.6rem;
  line-height: 2.2rem;
  transition: border-color 0.3s;
  background-color: #fff;
  border: 1px solid #dfe2e9;
}
.page_enquiry .file_box {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  height: 5.4rem;
  padding: 0px 0.75rem 0px 2.2rem;
  cursor: pointer;
  border-radius: 1.1rem;
  transition: border-color 0.3s;
  border: 1px solid #dfe2e9;
}
.page_enquiry .file_box:hover {
  border-color: var(--primary);
}
.page_enquiry .file_box input {
  display: none;
}
.page_enquiry .file_name {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--title);
  font-size: 1.5rem;
}
.page_enquiry .file_btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.9rem;
  height: 3.9rem;
  border-radius: 0.89rem;
  background-color: #dfe2e9;
}
.page_enquiry .file_btn img {
  display: block;
  width: 1.7rem;
  height: 1.8rem;
  object-fit: contain;
}
.page_enquiry .item_file .tip {
  margin-top: 0.9rem;
  color: #7c8ca6;
  font-size: 1.4rem;
  line-height: 1.7rem;
}
.page_enquiry .item_submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 0.9rem;
}
.page_enquiry .item_submit .note {
  color: #7c8ca6;
  font-size: 1.6rem;
  line-height: 2.05rem;
}
.page_enquiry .item_submit .btn {
  width: 17.62rem;
  background-color: var(--secondary);
}
.page_enquiry .item_submit .btn:hover {
  background-color: var(--primary);
}
.page_enquiry .wpcf7-not-valid {
  border-color: #e02b2b;
}
.page_enquiry .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.6rem;
  color: #e02b2b;
  font-size: 1.3rem;
}
.page_enquiry .wpcf7-response-output {
  display: none;
  margin-top: 2rem;
  padding: 1.4rem 2rem;
  border-radius: 1.1rem;
  color: var(--title);
  font-size: 1.5rem;
  border: 1px solid #dfe2e9;
}
.page_enquiry .wpcf7-response-output.show {
  display: block;
}
.page_enquiry .wpcf7-response-output.ok {
  color: #1a7f4b;
  border-color: rgba(26, 127, 75, 0.4);
  background-color: rgba(26, 127, 75, 0.06);
}
.page_enquiry .wpcf7-response-output.ng {
  color: #e02b2b;
  border-color: rgba(224, 43, 43, 0.4);
  background-color: rgba(224, 43, 43, 0.05);
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .page_enquiry .info {
    width: 38%;
  }
  .page_enquiry .tcon p {
    width: auto;
  }
  .page_enquiry .form {
    width: 58%;
  }
  .page_enquiry .item.col2 {
    width: calc(50% - 0.9rem);
  }
}

@media screen and (max-width: 768px) {
  .page_enquiry {
    padding: 46px 0px 46px;
  }
  .page_enquiry .content {
    display: block;
  }
  .page_enquiry .info {
    width: auto;
  }
  .page_enquiry .tcon h2 br {
    display: none;
  }
  .page_enquiry .tcon p {
    width: auto;
    margin-top: 12px;
  }
  .page_enquiry .contacts {
    margin-top: 24px;
  }
  .page_enquiry .contacts li + li {
    margin-top: 14px;
  }
  .page_enquiry .contacts .icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }
  .page_enquiry .contacts .icon img {
    width: 17px;
    height: 17px;
  }
  .page_enquiry .contacts span {
    font-size: 12px;
  }
  .page_enquiry .contacts a,
  .page_enquiry .contacts strong {
    margin-top: 4px;
    font-size: 15px;
  }
  .page_enquiry .form {
    width: auto;
    margin-top: 26px;
    padding: 20px 16px 24px;
    border-radius: 16px;
  }
  .page_enquiry .wrap {
    gap: 14px 12px;
  }
  .page_enquiry .item.col2 {
    width: calc(50% - 6px);
  }
  .page_enquiry .label {
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 16px;
  }
  .page_enquiry input[type='text'],
  .page_enquiry input[type='email'],
  .page_enquiry select,
  .page_enquiry .file_box {
    height: 44px;
    padding-left: 14px;
    border-radius: 10px;
    font-size: 14px;
  }
  .page_enquiry input::placeholder,
  .page_enquiry textarea::placeholder {
    font-size: 13px;
  }
  .page_enquiry textarea {
    height: 90px;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
  }
  .page_enquiry .file_btn {
    width: 32px;
    height: 32px;
  }
  .page_enquiry .item_file .tip {
    font-size: 12px;
  }
  .page_enquiry .item_submit {
    display: block;
  }
  .page_enquiry .item_submit .note {
    font-size: 13px;
    line-height: 18px;
  }
  .page_enquiry .item_submit .btn {
    width: 100%;
    margin-top: 14px;
  }
}

/* quote2-quote_map.css */
.quote_map {
  overflow: hidden;
  padding: 13.69rem 0px 15.4rem;
  background-color: #fff;
}
.quote_map .map_box {
  display: flex;
  margin-top: 4.8rem;
}
.quote_map .map {
  position: relative;
  flex-shrink: 0;
  width: 56.8rem;
  height: 54rem;
  z-index: 2;
}
.quote_map .map .img {
  width: 100%;
  height: 100%;
  border-radius: 1.96rem;
}
.quote_map .map_card {
  position: absolute;
  left: 9.11rem;
  top: 13.6rem;
  width: 38rem;
  padding: 2.1rem 2.4rem 2.4rem;
  border-radius: 1.64rem;
  background-color: #fff;
  box-shadow: 0px 1.2rem 3rem rgba(13, 27, 55, 0.12);
}
.quote_map .map_card .logo img {
  display: block;
  width: 14.5rem;
  height: auto;
}
.quote_map .map_card strong {
  display: block;
  margin-top: 2.4rem;
  color: #0d0c33;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.9rem;
}
.quote_map .map_card p {
  margin-top: 0.8rem;
  color: var(--text);
  font-size: 1.4rem;
  line-height: 1.95rem;
  font-weight: 500;
}
.quote_map .map_card .pin {
  position: absolute;
  left: 50%;
  bottom: -8.4rem;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.6rem;
  height: 4.6rem;
}
.quote_map .map_card .pin img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.quote_map .map_info {
  flex: 1;
  margin-left: -5.5rem;
  padding: 14.3rem 6rem 0px 12.2rem;
  border-radius: 2.27rem;
  background-color: var(--cream);
}
.quote_map .map_info h3 {
  color: var(--title);
  font-weight: 600;
  font-size: 3.6rem;
  line-height: 3rem;
}
.quote_map .map_info > p {
  max-width: 52rem;
  margin-top: 1.6rem;
  color: var(--text);
  font-size: 1.8rem;
  line-height: 2.6rem;
}
.quote_map .address {
  display: flex;
  align-items: flex-start;
  gap: 3.6rem;
  margin-top: 4.4rem;
  padding-top: 3.2rem;
  border-top: 1px solid rgba(13, 27, 55, 0.12);
}
.quote_map .address .icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 1.05rem;
  background-color: var(--navy);
}
.quote_map .address .icon img {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.quote_map .address strong {
  display: block;
  color: var(--title);
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.5rem;
}
.quote_map .address p {
  max-width: 44rem;
  margin-top: 1.5rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.8rem;
  font-weight: 500;
}

@media screen and (min-width: 769px) and (max-width: 1220px) {
  .quote_map .map {
    width: 45%;
    height: 42rem;
  }
  .quote_map .map_card {
    left: 3rem;
    width: 28rem;
  }
  .quote_map .map_info {
    padding: 6rem 3rem 3rem 8rem;
  }
}

@media screen and (max-width: 768px) {
  .quote_map {
    padding: 46px 0px 46px;
  }
  .quote_map .tcon h2 br {
    display: none;
  }
  .quote_map .map_box {
    display: block;
    margin-top: 24px;
  }
  .quote_map .map {
    width: auto;
    height: 260px;
  }
  .quote_map .map .img {
    border-radius: 14px;
  }
  .quote_map .map_card {
    left: 14px;
    top: 14px;
    width: 76%;
    padding: 14px;
    border-radius: 12px;
  }
  .quote_map .map_card .logo img {
    width: 80px;
  }
  .quote_map .map_card strong {
    margin-top: 10px;
    font-size: 13px;
    line-height: 17px;
  }
  .quote_map .map_card p {
    font-size: 12px;
    line-height: 16px;
  }
  .quote_map .map_card .pin {
    right: 12px;
    bottom: -18px;
    width: 34px;
    height: 34px;
  }
  .quote_map .map_info {
    margin: -14px 0px 0px;
    padding: 34px 16px 22px;
    border-radius: 14px;
  }
  .quote_map .map_info h3 {
    font-size: 19px;
    line-height: 24px;
  }
  .quote_map .map_info > p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  .quote_map .address {
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
  }
  .quote_map .address .icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }
  .quote_map .address .icon img {
    width: 15px;
    height: 15px;
  }
  .quote_map .address strong {
    font-size: 15px;
    line-height: 19px;
  }
  .quote_map .address p {
    margin-top: 6px;
    font-size: 12px;
    line-height: 18px;
  }
}

/* Contact Form 7 states */
.wpcf7 .hidden-fields-container { border: 0px; margin: 0px; padding: 0px; }
.wpcf7 .screen-reader-response { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; padding: 0px; border: 0px; word-wrap: normal !important; }
.wpcf7-spinner { display: none; }
/* CF7 puts its wrapper inside label.file_box: drop that box so the flex row matches the static markup */
:is(.page_enquiry, .quote_form) .file_box > .wpcf7-form-control-wrap { display: contents; }
.wpcf7-form.submitting .wpcf7-submit { opacity: 0.6; pointer-events: none; }
.wpcf7-form.sent .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.payment-required .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output { display: block; }
.wpcf7-form.sent .wpcf7-response-output { color: #1a7f4b; border-color: rgba(26, 127, 75, 0.4); background-color: rgba(26, 127, 75, 0.06); }
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output { color: #e02b2b; border-color: rgba(224, 43, 43, 0.4); background-color: rgba(224, 43, 43, 0.05); }
