/* Global fonts — Nunito body, Buttershine Serif headings */
@font-face {
  font-family: "Buttershine Serif";
  src: url("../fonts/ButtershineSerif.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --bs-font-sans-serif: "Nunito", sans-serif;
  --bs-body-font-family: "Nunito", sans-serif;
  --font-family-sans-serif: "Nunito", sans-serif;
  --font-heading: "Buttershine Serif", Georgia, "Times New Roman", serif;
}
html,
body {
  font-family: "Nunito", sans-serif !important;
  font-size: 14px;
  color: #000;
  scroll-behavior: smooth;
}
body,
p, a, span, li, ul, ol, label, button, input, textarea, select,
td, th, .btn, .form-control, .nav-link, .dropdown-item {
  font-family: "Nunito", sans-serif !important;
}
a:hover,
a:focus,
button:hover,
button:focus {
  outline: 0;
}
section {
  padding: 60px 0;
  position: relative;
  clear: both;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading) !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.05em;
}
h1,
h2 {
  letter-spacing: 0.06em;
}

/* Buttershine is a single-weight display face — block faux-bold everywhere */
h1,
h2,
h3,
h4,
h5,
h6,
.our-banner h1,
.our-banner h3,
.our-banner h5,
.home-banner .gates h1,
.about-copy-block h1,
.about-copy-block h2,
.about-section-head h2,
.about-stat-card h3,
.about-vision-hero h3,
.about-banner h3,
.about-banner .about-manifesto h1,
.cbi-page h1,
.cbi-page h2,
.cbi-page h3,
.our-packages .packages-head h2,
.package-card .packg-hed h3,
.ad-pop h2,
.ad-pop h3,
.ad-pop__headline {
  font-weight: 400 !important;
  font-synthesis: none;
}
p {
  font-family: "Nunito", sans-serif !important;
  color: #2c2f39;
}
.desktop-header header ul li a {
  color: #000;
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  display: inline-block;
  width: 100%;
}
.desktop-header header.fixed ul li a {
  color: #000;
}
.desktop-header header ul li {
  padding: 0 8px;
  display: flex;
  align-items: center;
}
.desktop-header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: #fff;
}
body:has(.home-banner) .desktop-header {
  position: absolute;
}
.desktop-header header {
  padding: 15px 0;
}
.desktop-header header .row {
  align-items: center;
}
.desktop-header header ul li img {
  position: relative;
  bottom: 3px;
  padding-right: 3px;
}
.btn {
  border: 0;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 25px;
  color: #000;
  border-radius: 0;
  position: relative;
  text-transform: uppercase;
  border: 0;
}
header .btn {
  padding: 8px 8px;
}
.desktop-header header ul li a.btn {
  background: #008461;
  color: #fff;
}
.desktop-header header ul li.phone-a a {
  font-size: 15px;
  margin-left: 15px;
}
.btn.focus,
.btn:focus {
  box-shadow: none;
  outline: 0;
}
footer {
  background: #1c1c1c;
  padding: 40px 0;
}
footer .info-foot p {
  color: #fcfdffad;
  margin: 10px 0 10px;
  font-size: 13px;
}
footer .info-foot a {
  display: block;
  line-height: 22px;
  font-size: 16px;
  font-weight: 700;
  color: #008461;
  font-family: "Nunito", sans-serif;
  margin-bottom: 7px;
}
footer .info-foot li {
  color: #fff !important;
  line-height: 18px;
}
footer .info-foot li a {
  color: #fff;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
}
footer * {
  color: #fff;
}
footer .ql li {
  line-height: 24px;
  font-size: 14px;
  font-weight: 500;
}
footer h4 {
  font-size: 25px;
  font-weight: 600;
}
footer h4 > span {
  position: relative;
  z-index: 1;
}
footer h4 > span::before {
  background: #575656;
  content: "";
  width: 80px;
  height: 8px;
  position: absolute;
  bottom: 7px;
  left: -7px;
  right: 0;
  z-index: -1;
  display: none;
}
footer .foot-form {
  background: #09483f;
  padding: 40px 30px 30px;
  margin-top: -60px;
  border-radius: 20px;
  width: 85%;
  float: right;
  position: relative !important;
  overflow: hidden !important;
}
.foot-form::after {
  content: "LIMITED TIME OFFER";
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  vertical-align: middle;
  padding: 8px 10px 10px 18px;
  text-indent: -15px;
  display: block;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  height: 35px;
  width: 247px;
  background-color: #e62e2d;
  position: absolute;
  border: 2px solid #008461;
  box-shadow: 2px 1px 7px -1px #ee9d2d;
  right: -80px;
  top: 31px;
  z-index: 0;
  text-align: center !important;
  animation: makeItBlink 1s infinite alternate;
}
.foot-form .form-control {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #979797;
  height: 40px;
  margin-bottom: 15px;
  font-size: 14px;
}
footer ::placeholder {
  color: #fff !important;
}
.foot-form textarea.form-control {
  height: 100px;
  margin-bottom: 30px;
  border: 1px solid #979797;
  resize: none;
}
footer input.btn-yellow {
  background: #008461;
  width: 150px;
  position: relative;
}
footer .foot-form h3 {
  font-size: 24px;
  font-weight: 600;
  color: #e6f8f3;
  text-transform: capitalize;
  margin-bottom: 20px;
}
.foot-form span {
  position: absolute;
}
.foot-form span > i {
  color: #000;
}
.btn-submit {
  display: inline-block;
  position: relative;
}
.form-control:focus {
  box-shadow: none;
  outline: 0;
}
input.required.error,
textarea.required.error,
select.required.error {
  border-bottom: red 2px solid !important;
  color: red !important;
}
label.error {
  display: none !important;
}
.copyright {
  background: #121316;
  position: relative;
  padding: 8px 0;
  color: #fff;
  font-size: 12px;
}
.copyright p {
  margin: 0;
}
.copyright a {
  color: #0d042f;
}
.our-banner {
  background-size: cover;
  width: 100%;
  margin: auto;
}

.our-banner h6 {
  line-height: 1.8;
}
.our-banner .row {
  align-items: center;
}
.logo img {
  max-width: 100%;
}
.fixed .logo img {
  max-width: 100%;
}
.info-foot .logo img {
  max-width: 50%;
}
.our-banner h1 {
  font-size: 45px;
  font-weight: 400 !important;
  letter-spacing: 0.06em;
  line-height: 45px;
  margin-bottom: 15px;
}
.our-banner h3 {
  font-size: 20px;
  font-weight: 800;
  position: relative;
  display: inline-block;
  z-index: 1;
}
.our-banner h3::before {
  width: 104%;
  height: 23px;
  position: absolute;
  content: "";
  left: -10px;
  z-index: -1;
  top: -5px;
}
.our-banner h5 {
  font-size: 18px;
  font-weight: 700;
  max-width: 100%;
}
.our-banner .btn-block {
  margin-top: 30px;
}
.our-banner .btn-block a.btn:first-child {
  margin-right: 10px;
}
.our-banner .btn-block a.btn:nth-child(2) {
  margin-right: 10px;
}
.btn-block a.btn:nth-child(1) {
  margin-right: 10px;
}
.btn-block a.btn:nth-child(2) {
  margin-right: 10px;
}
.btn-blue {
  background: #cedffb;
}
.btn-white {
  background: #fefcfb;
  border-color: #b4b3b2;
}
.our-banner .layer:nth-child(2) img {
  left: 160px;
  position: relative;
  top: 60px;
  max-width: 550px;
}
.our-banner .layer:nth-child(3) img {
  left: 80px;
  top: 0;
  position: absolute;
}
.our-banner .layer:nth-child(4) img {
  position: absolute;
  top: 40px;
  left: 10px;
}
.site-logos {
  padding: 30px 0;
}
.owl-site-logo.owl-carousel {
  text-align: center;
}
.owl-site-logo.owl-carousel img {
  max-width: 70%;
}
.site-brand {
  max-width: 80%;
  margin: auto;
  background: #d1d1d1;
}
h2 {
  font-size: 36px;
  color: #1c2421;
  font-weight: 400;
  line-height: 1.25;
  margin-bottom: 12px;
  position: relative;
  z-index: 6;
  letter-spacing: 0.02em;
}
/* Keep heading spans on Buttershine — do not shrink/grey them */
h1 > span,
h2 > span,
h3 > span,
h4 > span,
h5 > span,
h6 > span {
  font-family: var(--font-heading) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: inherit;
  line-height: inherit;
  color: inherit;
}
span.star {
  color: #f8c600;
  display: block;
  margin-bottom: 10px;
}
.our-service span.star i {
  font-size: 18px;
  letter-spacing: 2px;
}
.btn-yel {
  background: #ecf7f2;
}
.img-ser {
  position: relative;
  display: inline-block;
  z-index: 0;
}
/* .img-ser::before {
  content: "";
  background: #f7eae0;
  width: 72px;
  height: 72px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
  border-radius: 50%;
} */
.img-ser img {
  position: relative;
  z-index: 1;
}
.info-service {
  position: relative;
  padding: 20px 40px;
}

.info-service h4 {
  font-size: 20px;
  line-height: 24px;
  font-weight: 600;
  margin: 6px 0;
}
.info-service img {
  margin-bottom: 15px;
}
.info-service p {
  margin-bottom: 30px;
}
.info-service::before {
  content: "";
  border-right: 1px solid #c5c5c5;
  position: absolute;
  right: 0;
  height: 65%;
  top: 10px;
}
.info-service::after {
  content: "";
  width: 40px;
  height: 1px;
  background: #c5c5c5;
  position: absolute;
  top: 10px;
  right: -20px;
}
.our-service [class*="col-"] {
  padding: 0;
}
.btn > span::before,
.info-gen > span::before,
.show-s span::before {
  content: "";
  position: absolute;
  width: 11px;
  height: 1px;
  background: #000;
  margin-top: 5px;
}
.btn > span::after,
.info-gen > span::after,
.show-s span::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 11px;
  background: #000;
  margin-left: 5px;
}
.btn > span,
.info-gen > span,
.show-s span {
  position: absolute;
  display: none;
}
.info-gen > span:nth-child(3) {
  top: -6px;
  left: -6px;
}
.info-gen > span:nth-child(4) {
  top: -6px;
  right: 5px;
}
.info-gen > span:nth-child(5) {
  bottom: 5px;
  left: -6px;
}
.info-gen > span:nth-child(6) {
  bottom: 5px;
  right: 5px;
}
.btn > span:first-child {
  top: -6px;
  left: -6px;
}
.btn > span:nth-child(2) {
  top: -6px;
  right: 5px;
}
.btn > span:nth-child(3) {
  bottom: 5px;
  left: -6px;
}
.btn > span:nth-child(4) {
  bottom: 5px;
  right: 5px;
}
.show-s {
  position: relative;
  display: block;
}
.show-s input.show-span + span + span + span {
  left: -5px;
  bottom: 6px;
}
.show-s input.show-span + span + span {
  right: 6px;
  top: -5px;
}
.show-s input.show-span + span {
  top: -5px;
  left: -5px;
}
.show-s input.show-span + span + span + span + span {
  bottom: 6px;
  right: 6px;
}
.our-service::before {
  content: "";
  background: url("../images/before-service.jpg") no-repeat;
  width: 302px;
  height: 229px;
  position: absolute;
  display: none;
  left: 0;
  top: 30px;
  display: none;
}
.our-service h2 {
  margin-bottom: 70px;
}
.hire::before {
  content: "";
  background: url("../images/bg-hire.jpg") no-repeat;
  position: absolute;
  background-size: cover;
  width: 91%;
  height: 559px;
  top: 0;
  left: 0;
  z-index: -1;
}
.hire {
  height: 560px;
  padding-top: 100px;
  margin-top: 40px;
  margin-bottom: 60px;
}
.hire .layer img {
  position: absolute;
}
.hire .layer:first-child img {
  left: -115px;
  top: -140px;
}
.hire .layer:nth-child(2) img {
  left: 70px;
  top: -90px;
}
.hire .layer:nth-child(3) img {
  top: 160px;
  left: -110px;
}
.hire .layer:nth-child(4) img {
  left: 104px;
  top: 210px;
}
.hire::after {
  background: url("../images/after-hire.png") no-repeat;
  width: 260px;
  height: 630px;
  content: "";
  position: absolute;
  right: 50px;
  top: -40px;
}
.hire h2 > span {
  color: inherit;
}
.hire p > span {
  background: #fff;
  border: 1px solid #93bed1;
  padding: 0 5px;
  margin: 0 5px;
}
.hire p {
  line-height: 26px;
}
.hire .container {
  position: relative;
}
.our-process .container::before {
  content: "";
  background: url("../images/hire-before.png") no-repeat;
  display: none;
  width: 295px;
  height: 251px;
  position: absolute;
  left: -190px;
  top: -220px;
}
.who h2 {
  font-size: 36px;
  line-height: 1.25;
  margin-bottom: 12px;
  position: relative;
  z-index: 5;
}
.who p {
  font-size: 13px;
  position: relative;
  z-index: 5;
}
.who img {
  max-width: 100%;
}
.who .row {
  align-items: center;
  overflow: hidden;
}
.who .btn-block {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  text-align: center;
}
.who .btn-block a.btn {
  margin: 0;
}
.our-testimonial {
  background: #f7eae0;
}
.our-testimonial .info-test {
  background: #fff;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 0 10px rgba(20, 20, 20, 0.1);
}
.our-testimonial::before {
  content: "";
  width: 50%;
  height: 470px;
  border-radius: 50%;
  clip-path: polygon(
    52% 12%,
    83% 12%,
    100% 0,
    100% 100%,
    75% 100%,
    20% 100%,
    -32% 50%,
    0 0,
    17% 12%
  );
  position: absolute;
  top: -54px;
  left: 0;
  right: 0;
  margin: auto;
  background: linear-gradient(180deg, #d8f0e8 0, #00a878 100%);
  z-index: 1;
}
.our-testimonial .owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #008461;
}
.our-testimonial .owl-theme .owl-dots .owl-dot span {
  background: #00a878;
  width: 15px;
  height: 15px;
}
.our-testimonial .owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 30px;
}
.our-testimonial .info-test p {
  font-size: 14px;
  margin: 20px 0 10px;
  font-weight: 400;
  min-height: auto;
  /* min-height: 260px; */
}
.our-testimonial .info-test h3 {
  font-size: 15px;
  margin-bottom: 0;
  font-weight: 600;
  color: #000;
}
.our-testimonial .info-test h4 {
  font-size: 12px;
  color: #989898;
  margin-bottom: 0;
}
.our-testimonial .info-test .img-txt {
  display: inline-block;
}
.our-testimonial .container {
  position: relative;
}
.our-testimonial .container::before {
  background: url("../images/test-before.webp") no-repeat;
  width: 222px;
  height: 222px;
  content: "";
  position: absolute;
  right: 0;
  bottom: 40px;
}
.our-testimonial {
  position: relative;
  padding-top: 100px;
}
.our-testimonial::after {
  background: url("../images/test-before2.webp") no-repeat;
  display: none;
  width: 198px;
  height: 198px;
  content: "";
  position: absolute;
  left: 110px;
  top: -40px;
}
.who::before {
  content: "WHO WE ARE";
  font-size: 130px;
  position: absolute;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1px #f7eae0;
  top: -80px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  z-index: 1;
}
.info-test .star {
  font-size: 18px;
  color: #008461;
}
.reviews-slider-sec .reviewsSwiper {
  overflow: hidden;
  padding: 10px 8px 50px;
  position: relative;
}
.reviews-slider-sec .swiper-slide {
  height: auto;
}
.reviews-slider-sec .info-test {
  height: 100%;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0, 75, 55, 0.08);
}
.reviews-slider-sec .info-test p {
  flex: 1;
  min-height: 0;
}
.reviews-slider-sec .info-test img {
  display: none;
}
.reviews-slider-sec .reviews-nav {
  color: #008461;
  width: 42px;
  height: 42px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  top: 45%;
}
.reviews-slider-sec .reviews-nav::after {
  font-size: 16px;
  font-weight: 700;
}
.reviews-slider-sec .swiper-button-prev {
  left: 0;
}
.reviews-slider-sec .swiper-button-next {
  right: 0;
}
.reviews-slider-sec .reviews-pagination {
  bottom: 8px;
}
.reviews-slider-sec .reviews-pagination .swiper-pagination-bullet-active {
  background: #008461;
}
.info-cta h2 > span.white-bg::before {
  content: "";
  width: 100%;
  position: absolute;
  height: 50%;
  z-index: -1;
  left: 0;
  top: 0;
}
.info-cta h2 > span {
  color: inherit;
  font-weight: 400 !important;
  font-size: inherit !important;
}
.info-cta h2 {
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #1c2421;
}
.cta .container h2,
.cta .container span {
  color: #fff;
}
.cta .container {
  background-color: #09483f;
  background-image:
    linear-gradient(
      135deg,
      rgba(9, 72, 63, 0.82) 0%,
      rgba(0, 75, 55, 0.78) 55%,
      rgba(4, 40, 34, 0.85) 100%
    ),
    url("../images/banner-01.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 80px 0;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.cta .container .info-cta {
  position: relative;
  z-index: 2;
}
.cta .info-cta a.btn,
.cta .info-cta a.btn-yel,
.cta a.btn.chat {
  background: #fff !important;
  background-image: none !important;
  color: #008461 !important;
  border: 0 !important;
  font-weight: 700;
}
.cta .info-cta a.btn::before,
.cta .info-cta a.btn::after,
.cta .info-cta a.btn-yel::before,
.cta .info-cta a.btn-yel::after,
.cta a.btn.chat::before,
.cta a.btn.chat::after {
  display: none !important;
}
.cta .info-cta a.btn:hover,
.cta .info-cta a.btn-yel:hover,
.cta a.btn.chat:hover {
  background: #ecf7f2 !important;
  background-image: none !important;
  color: #004b37 !important;
}
.info-cta a span::before {
  content: "";
}
.info-cta h2 > span.white-bg {
  position: relative;
  font-size: 28px;
  vertical-align: baseline;
}
/* .cta .container::before {
  content: "";
  position: absolute;
  background: #f7eae0;
  width: 105%;
  height: 65%;
  left: -2.5%;
  border-radius: 20px;
  z-index: -1;
  top: 50%;
} */
.cta {
  margin-bottom: 60px;
}
/* .cta .container::after {
  content: "";
  background: url("../images/cta-after.webp") no-repeat;
  background-size: 100%;
  position: absolute;
  right: -40px;
  top: -25px;
  max-width: 196px;
  height: 172px;
  width: 14%;
} */
.cta::before {
  content: "";
  background: url("../images/bg-cta.webp") no-repeat;
  width: 256px;
  height: 468px;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 1;
  display: none;
}
.cta .info-cta::before {
  content: "";
  background: url("../images/bg-info-cta.png") no-repeat;
  left: -80px;
  top: 40px;
  position: absolute;
  width: 246px;
  height: 186px;
  z-index: -2;
}
.our-process h2 > span.bg {
  font-size: inherit !important;
  color: inherit;
  font-weight: 400 !important;
  vertical-align: baseline;
  position: relative;
}
.our-process h2 > span.bg::before {
  content: "";
  left: 0;
  width: 100%;
  height: 50%;
  top: 0;
  position: absolute;
  z-index: -1;
}
.our-process p {
  max-width: 60%;
  margin: auto;
  margin-bottom: 60px;
  font-size: 12px;
}
.info-process img {
  margin: 0 auto 14px;
  position: static;
  display: block;
  max-width: 72px;
  height: auto;
  animation: none !important;
}
.info-process h5 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 10px;
  color: #111;
}
.info-process p {
  max-width: 100%;
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: #5a5f66;
}
.info-process h6 {
  font-size: 18px;
  font-weight: 700;
  color: #008461;
  position: static;
  top: auto;
  left: auto;
  margin: 0 0 12px;
  letter-spacing: 0.04em;
}
.info-process {
  background: #fff;
  border-radius: 16px;
  width: 100%;
  height: 100%;
  min-height: 340px;
  padding: 24px 18px 22px;
  position: relative;
  box-shadow: none;
  border: 1px solid #d7e5df;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.info-process::before {
  display: none !important;
  content: none !important;
}
.our-process .row {
  align-items: stretch;
}
.our-process [class*="col-"] {
  display: flex;
  margin-bottom: 20px;
}
.our-process [class*="col-"]::before {
  display: none !important;
  content: none !important;
}
.our-process [class*="col-"]:nth-child(even) h6 {
  bottom: auto;
  left: auto;
  top: auto;
}
.our-process [class*="col-"]:nth-child(even)::before {
  display: none !important;
}
.our-process [class*="col-"]:last-child::before {
  display: none !important;
}
.our-process [class*="col-"]:nth-child(1) .info-process::before,
.our-process [class*="col-"]:nth-child(2) .info-process::before,
.our-process [class*="col-"]:nth-child(3) .info-process::before,
.our-process [class*="col-"]:nth-child(4) .info-process::before {
  display: none !important;
  background: none !important;
}
.our-srvc-sct {
  margin-top: 30px;
  margin-bottom: 20px;
}
.our-srvc-sct .col-md-4 {
  margin-bottom: 30px;
}
.our-service [class*="col-"]:nth-child(3n) .info-service::before,
.our-service [class*="col-"]:nth-child(3n) .info-service::after,
.our-service [class*="col-"]:last-child .info-service::before {
  display: none;
}
.our-service [class*="col-"]:last-child .info-service::after {
  display: none;
}
.pd-lft {
  padding-left: 50px;
}
.our-banner .layer:nth-child(1) img {
  left: 50px;
}
.our-banner .layer img {
  position: relative;
}
.info-test:before {
  content: open-quote open-quote;
  font-size: 140px;
  font-weight: 600;
  color: #e5e5e5;
  position: absolute;
  right: 25px;
  top: -42px;
  letter-spacing: -10px;
}
.about-banner {
  background: linear-gradient(135deg, #f7fbf9 0%, #ffffff 45%, #eef6f2 100%);
  overflow: hidden;
  padding: 70px 0 80px;
}

/* About page — CBI-style layout */
.about-page {
  --about-green: #008461;
  --about-ink: #1c2421;
  --about-muted: #5f6b66;
  --about-mint: #e8f6f1;
  --about-paper: #f7fbf9;
}
.about-top-banner {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  line-height: 0;
  background: #0f3d32;
  min-height: 280px;
}
.about-top-banner__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  max-height: 420px;
  object-fit: cover;
  object-position: right center;
}
.about-top-banner__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 2;
  line-height: normal;
  pointer-events: none;
}
.about-top-banner__content .container {
  pointer-events: auto;
}
.about-top-banner__title {
  margin: 0 0 10px;
  max-width: 14ch;
  color: #fff;
  font-family: var(--font-heading);
  font-size: clamp(34px, 4.2vw, 56px);
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: 0.02em;
  line-height: 1.1;
}
.about-top-banner__text {
  margin: 0;
  max-width: 34ch;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 991px) {
  .about-top-banner__title {
    max-width: 18ch;
  }
}
@media (max-width: 767px) {
  .about-top-banner {
    min-height: 240px;
  }
  .about-top-banner__img {
    min-height: 240px;
    max-height: 280px;
    object-position: 78% center;
  }
  .about-top-banner__content {
    background: linear-gradient(
      90deg,
      rgba(15, 61, 50, 0.82) 0%,
      rgba(15, 61, 50, 0.45) 55%,
      rgba(15, 61, 50, 0.15) 100%
    );
  }
  .about-top-banner__title {
    max-width: none;
    font-size: 30px;
  }
  .about-top-banner__text {
    max-width: 28ch;
    font-size: 14px;
  }
}
.about-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--about-green);
  background: var(--about-mint);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.about-label--light {
  background: rgba(255, 255, 255, 0.16);
  color: #7dffc9;
}
.about-hero,
.about-split {
  padding: 70px 0;
  background: #fff;
}
.about-split--mint {
  background:
    radial-gradient(circle at top left, rgba(0, 168, 120, 0.08), transparent 42%),
    linear-gradient(180deg, #fff 0%, var(--about-paper) 100%);
}
.about-copy-block h1,
.about-copy-block h2 {
  color: var(--about-ink);
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin: 0 0 12px;
}
.about-copy-block h1 {
  font-size: 42px;
}
.about-copy-block h2 {
  font-size: 34px;
}
.about-lead {
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 700;
  color: #2c2f39;
}
.about-divider {
  width: 56px;
  height: 3px;
  margin: 0 0 20px;
  background: var(--about-green);
  border-radius: 2px;
}
.about-copy-block > p {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--about-muted);
  max-width: 560px;
}
.about-closer {
  font-weight: 700 !important;
  color: var(--about-ink) !important;
}
.about-closer--light {
  color: #fff !important;
}
.about-points {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
}
.about-points li {
  position: relative;
  padding: 10px 0 10px 28px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--about-muted);
  border-bottom: 1px solid #e4ebe8;
}
.about-points li:last-child {
  border-bottom: 0;
}
.about-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--about-green);
  box-shadow: 0 0 0 4px rgba(0, 132, 97, 0.15);
}
.about-media {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #dceae4;
  box-shadow: 0 18px 40px rgba(0, 75, 55, 0.08);
  background: #fff;
}
.about-media img {
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: cover;
  display: block;
}
.about-page .btn-block {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.about-stats {
  padding: 70px 0;
  background: var(--about-paper);
}
.about-section-head {
  max-width: 560px;
  margin: 0 auto 28px;
}
.about-section-head h2 {
  margin: 0;
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  color: var(--about-ink);
  letter-spacing: 0.02em;
  line-height: 1.25;
}
.about-stat-card {
  background: #fff;
  border: 1px solid #dceae4;
  border-radius: 16px;
  padding: 28px 16px;
  text-align: center;
  height: 100%;
  box-shadow: 0 10px 24px rgba(0, 75, 55, 0.06);
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.about-stat-card:hover {
  transform: translateY(-4px);
  border-color: var(--about-green);
}
.about-stat-card h3 {
  margin: 0 0 6px;
  font-size: 36px;
  font-weight: 800;
  color: var(--about-green);
  letter-spacing: 0.02em;
  line-height: 1.1;
}
.about-stat-card p {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--about-muted);
}

/* Our Vision — full-bleed image + centered text */
.about-vision-hero {
  position: relative;
  min-height: 560px;
  padding: 90px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: url("../images/our-vision.png") center center / cover no-repeat;
  background-position: center right;
}
.about-vision-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 75, 55, 0.72) 0%,
    rgba(0, 132, 97, 0.58) 50%,
    rgba(0, 75, 55, 0.78) 100%
  );
  z-index: 0;
}
.about-vision-hero .container {
  position: relative;
  z-index: 1;
}
.about-vision-hero__content {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.about-vision-hero h3 {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin: 0 0 16px;
  color: #fff;
}
.about-vision-hero p {
  font-size: 17px;
  line-height: 1.7;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 12px;
}
.about-vision-hero .btn-block {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.about-vision-hero .btn-block a.btn {
  margin: 0;
}

.about-choose-hero {
  background-image: url("../images/why-choose-us.png");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 560px;
}
.about-choose-hero::before {
  background: linear-gradient(
    180deg,
    rgba(0, 75, 55, 0.7) 0%,
    rgba(0, 132, 97, 0.55) 50%,
    rgba(0, 75, 55, 0.75) 100%
  );
}
.about-banner h3 {
  font-size: 42px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 14px;
  color: #111;
}
.about-banner h3::before {
  display: none;
}
.about-banner h6 {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
  color: #3a3f47;
  margin-bottom: 10px;
}
.about-manifesto {
  position: relative;
  padding-left: 22px;
}
.about-manifesto::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: linear-gradient(180deg, #00a878 0%, #008461 55%, #004b37 100%);
  border-radius: 3px;
}
.about-eyebrow {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #008461;
}
.about-banner .about-manifesto h1 {
  margin: 0 0 8px;
  font-size: 42px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #111;
}
.about-copy p {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.7;
  color: #3a3f47;
  max-width: 540px;
}
.about-copy p:last-child {
  margin-bottom: 0;
}
.about-banner .btn-block {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.about-banner .btn-block a.btn {
  margin: 0;
  border-radius: 5px;
}
.about-move-right {
  position: relative;
}
.about-move-right img {
  position: relative;
  z-index: 1;
  width: 100%;
  border-radius: 14px;
  height: auto;
  max-height: 560px;
  object-fit: cover;
  box-shadow: none;
  display: block;
}

@media (max-width: 991px) {
  .about-banner,
  .about-hero,
  .about-split,
  .about-stats {
    padding: 48px 0;
  }
  .about-copy-block h1,
  .about-banner .about-manifesto h1,
  .about-banner h3,
  .about-vision-hero h3 {
    font-size: 32px !important;
  }
  .about-copy-block h2,
  .about-section-head h2 {
    font-size: 28px;
  }
  .about-lead {
    font-size: 18px;
  }
  .about-media {
    margin-top: 10px;
  }
  .about-stat-card h3 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .about-manifesto {
    padding-left: 16px;
  }
  .about-copy-block h1,
  .about-banner .about-manifesto h1,
  .about-banner h3 {
    font-size: 28px !important;
  }
  .about-copy-block > p,
  .about-points li {
    font-size: 15px;
  }
}
.unmatch h2 {
  font-family: var(--font-heading) !important;
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #1c2421;
  margin: 0 0 16px;
}
.unmatch h2 > span,
.unmatch h2 > span.bg {
  font-family: var(--font-heading) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: inherit;
  line-height: inherit;
  color: inherit !important;
  vertical-align: baseline;
  position: relative;
}
.unmatch a {
  padding: 8px 30px;
  margin-top: 20px;
}
.unmatch::before {
  content: "";
  background: url("../images/unmatch-before.jpg") no-repeat;
  height: 240px;
  width: 55px;
  position: absolute;
  right: 0;
  top: 100px;
}
.unmatch {
  padding-bottom: 80px;
  text-align: center;
}
.unmatch .row {
  justify-content: center;
}
.unmatch [class*="col-"] {
  text-align: center;
}
.unmatch-copy {
  max-width: 900px;
  margin: 0 auto 10px;
}
.unmatch-copy p {
  margin: 0 0 18px;
  text-align: center;
  font-size: 16px;
  line-height: 1.7;
  color: #3a3f47;
}
.unmatch2 .unmatch-copy {
  max-width: 920px;
}
.unmatch2 .unmatch-copy p:last-child {
  margin-bottom: 0;
}
.unmatch .btn-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}
.unmatch .btn-block a.btn {
  margin: 0;
}
.our-counter {
  background: url("../images/banner-01.jpg") center center / cover no-repeat;
  width: 100%;
  z-index: 2;
  /* margin: 50px 0 70px; */
  min-height: 580px;
  height: auto;
  padding: 110px 0 120px;
  overflow: hidden;
  position: relative;
}
.our-counter::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(4, 40, 34, 0.82) 0%,
    rgba(0, 75, 55, 0.78) 45%,
    rgba(4, 40, 34, 0.85) 100%
  );
  z-index: 0;
}
.our-counter .container {
  position: relative;
  z-index: 1;
}
.counter-head {
  text-align: center;
  margin-bottom: 48px;
}
.counter-eyebrow {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7ddec4;
}
.our-counter .counter-head h2 {
  margin: 0;
  font-size: 40px;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  color: #fff;
  line-height: 1.2;
}
.our-counter .row {
  align-items: stretch;
  justify-content: center;
}
.our-counter [class*="col-"] {
  display: flex;
  margin-bottom: 20px;
  justify-content: center;
}
.info-counter {
  background: #fff;
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 210px;
  height: auto;
  min-height: 0;
  border-radius: 16px;
  padding: 24px 18px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
  transition: 0.3s all;
  text-align: center;
  border-top: 4px solid #008461;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.info-counter h5 {
  display: inline-block;
  font-size: 42px;
  font-weight: 700;
  color: #008461;
  margin: 0 0 10px;
  line-height: 1;
}
.info-counter h5 .timer {
  display: inline-block;
}
.info-counter h6 {
  font-size: 15px;
  color: #5a5f66;
  font-weight: 600;
  margin: 0;
  line-height: 1.35;
  max-width: 140px;
}
.about-banner .layer:nth-child(1) img {
  left: -150px;
}
.about-banner .layer:nth-child(2) img {
  left: 0;
  top: 0;
}
.about-banner .layer:nth-child(3) img {
  top: 240px;
  left: -25px;
}
.main-test {
  background: transparent;
  z-index: 1;
  padding-top: 60px;
}
.main-test .our-banner {
  background: transparent;
  margin-bottom: 50px;
}
.main-test::before {
  z-index: -1;
  background: #e4f6f1;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 0,
    rgba(219, 236, 231, 1) 100%
  );
  top: 110px;
}
.main-test::after {
  display: none;
}
.main-test .our-banner h1 {
  font-weight: 500;
}
.main-test .row {
  margin-bottom: 30px;
}
.main-test .container::before {
  top: 150px;
  right: -20px;
}
.info-contact h1 {
  font-weight: 500;
  font-size: 36px;
  line-height: 38px;
}
.info-contact h1 + p {
  color: #858585;
}
.info-contact h3 {
  font-size: 22px;
  font-weight: 800;
  position: relative;
  display: inline-block;
  z-index: 1;
  margin-top: 20px;
  line-height: 25px;
}
.info-contact h3::before {
  width: 85%;
  height: 19px;
  background: #f8c600;
  position: absolute;
  content: "";
  left: -10px;
  z-index: -1;
  top: -5px;
}
.link-contact h4 {
  font-size: 22px;
  color: #7f7f7f;
  margin-bottom: 0;
}
.link-contact a {
  font-weight: 700;
  color: #000;
  font-size: 34px;
}
.link-contact {
  margin-top: 15px;
}
.our-contact {
  padding: 50px 0 40px;
}
.contact-page .our-contact {
  min-height: calc(100vh - 90px);
  display: flex;
  align-items: center;
  padding: 60px 0 50px;
}
.contact-page .our-contact > .container {
  width: 100%;
}
.our-contact .contact-map {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  line-height: 0;
  isolation: isolate;
  background: #eef2f0;
  min-height: 520px;
}
.our-contact .contact-map iframe {
  display: block;
  width: 100%;
  height: 520px;
  max-width: 100%;
  border: 0;
  border-radius: 30px;
  pointer-events: none !important;
}
.our-contact .contact-map__shield {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  border-radius: 30px;
  cursor: pointer;
  background: transparent;
}
.author-banner img,
.service-banner img {
  max-width: 100%;
}
.author-banner {
  background: 0;
  padding-top: 40px;
  padding-bottom: 50px;
}
.service-banner {
  background-color: #0a2e2a;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  padding-top: 100px;
  padding-bottom: 70px;
  min-height: 520px;
}
.author-banner .row {
  align-items: center;
}
.author-banner h1 {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 12px;
  color: #111;
}
.author-banner h3 {
  font-size: 20px;
  font-weight: 600;
  color: #2c2f39;
  margin-bottom: 14px;
}
.author-banner h5 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3f47;
  max-width: 90%;
}
.author-banner-media {
  position: relative;
}
.author-banner-media img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}
.author-banner h1,
.service-banner h1 {
  font-weight: 400 !important;
  font-synthesis: none;
}
.unmatch h2 > span.bg::before {
  content: "";
  background: #f8c600;
  left: 0;
  width: 100%;
  height: 44%;
  top: 4px;
  position: absolute;
  z-index: -1;
  display: none;
}
.unmatch2::after {
  content: "";
  background: url("../images/bg-unmatch.png") no-repeat;
  width: 260px;
  height: 347px;
  position: absolute;
  right: 50px;
  bottom: -170px;
  z-index: 3;
  display: none;
}
.genre {
  background: #f2f2f2;
  width: 98%;
  margin: 60px auto;
  border-radius: 15px;
  padding: 60px 0;
}

.genre:has(+ .our-packages) {
  margin-bottom: 0;
  padding-bottom: 40px;
}
.genre.genre-home:has(+ .our-packages) {
  padding-bottom: 64px;
}

/* Home genre — Figma redesign */
.genre.genre-home {
  background: #e6fff8;
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  padding: 72px 0 64px;
  position: relative;
  overflow: hidden;
  text-align: left;
}
.genre.genre-home::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/genres-home/bg-pattern.png") center / cover no-repeat;
  opacity: 0.035;
  pointer-events: none;
  z-index: 0;
}
.genre.genre-home > .container {
  position: relative;
  z-index: 1;
}
.genre-home__top {
  margin-bottom: 36px;
  justify-content: space-between;
}
.genre-home__top > [class*="col-"] {
  min-width: 0;
}
.genre-home__aside {
  max-width: 480px;
  margin-left: auto;
  width: 100%;
  padding-left: 8px;
}
.genre-home__title {
  margin: 0;
  color: #000 !important;
  text-transform: uppercase;
  font-family: var(--font-heading) !important;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.08;
  font-weight: 400 !important;
  letter-spacing: 0.02em;
  max-width: 100%;
  width: 100%;
  overflow-wrap: anywhere;
}
.genre-home__title span {
  display: block;
  white-space: normal;
  color: #000 !important;
  font-family: var(--font-heading) !important;
  font-weight: 400 !important;
  font-size: inherit !important;
  letter-spacing: inherit;
  line-height: inherit;
}
.genre-home__copy {
  margin: 0 0 14px;
  color: #252525;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 400 !important;
  font-family: "Nunito", sans-serif !important;
  max-width: none;
}
.genre-home__quote {
  margin: 0 0 22px;
  color: #252525;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700 !important;
  font-family: "Nunito", sans-serif !important;
  max-width: none;
}
.genre-home__btns {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: center;
  width: 100%;
}
.genre-home__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600 !important;
  font-family: "Nunito", sans-serif !important;
  line-height: 1.15;
  white-space: nowrap;
  text-decoration: none !important;
  color: #fff !important;
  background: linear-gradient(265deg, #00a175 16%, #007d5f 98%);
  border: 1px solid transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.genre-home__btn:hover {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0, 125, 95, 0.25);
}
.genre-home__btn--outline {
  background: #e7fff8;
  border-color: #000;
  color: #008061 !important;
}
.genre-home__btn--outline:hover {
  color: #008061 !important;
  background: #fff;
}
.genre-home__grid {
  margin-left: -8px;
  margin-right: -8px;
}
.genre-home__grid > [class*="col-"] {
  padding-left: 8px;
  padding-right: 8px;
  margin-bottom: 16px;
}
.genre-card {
  position: relative;
  display: block;
  height: 280px;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none !important;
  color: #fff;
  box-shadow: 0 10px 28px rgba(0, 75, 55, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.genre-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(0, 75, 55, 0.18);
  color: #fff;
}
.genre-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.genre-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 55%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #008061 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
  transition: height 0.25s ease, background 0.25s ease, inset 0.25s ease;
}
.genre-card span {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 18px;
  z-index: 2;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading) !important;
  font-weight: 400 !important;
  font-size: clamp(18px, 1.5vw, 26px);
  line-height: 1.1;
  letter-spacing: 0.03em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}
.genre-card::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 72px;
  height: 72px;
  z-index: 2;
  border-radius: 50%;
  background: #fff url("../images/genres-home/satire-arrow.svg") center / 28px 28px no-repeat;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%) scale(0.85);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  pointer-events: none;
}
.genre-card:hover::before {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.genre-card:hover::after {
  inset: 0;
  height: 100%;
  background: rgba(0, 128, 97, 0.8);
  mix-blend-mode: normal;
}
@media (min-width: 1200px) {
  .genre-card {
    height: 320px;
  }
  .genre-home__title {
    font-size: clamp(40px, 3.4vw, 56px);
  }
}
@media (min-width: 1400px) {
  .genre-home__title {
    font-size: 60px;
  }
  .genre-home__aside {
    max-width: 520px;
  }
  .genre-home__btn {
    padding: 8px 14px;
    font-size: 13px;
  }
}
.genre > .container > h2 {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
.genre > .container > h5 {
  max-width: 540px;
  margin: 10px auto 0;
  line-height: 1.7;
  font-weight: 500;
  color: #5f6763;
}
.genre > .container > h5 + h5 {
  max-width: 480px;
  margin-top: 8px;
  margin-bottom: 8px;
  font-style: italic;
}
.genre-head {
  max-width: 680px;
  margin: 0 auto 40px;
  text-align: center;
}
.genre-head h2 {
  margin: 0 0 10px;
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  line-height: 1.25;
  color: #1c2421;
  letter-spacing: 0.02em;
}
.genre-sub {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 600;
  color: #008461;
}
.genre-intro,
.genre-quote {
  margin: 0 auto;
  max-width: 560px;
  font-size: 15px;
  line-height: 1.7;
  color: #5f6763;
  font-weight: 400;
}
.genre-quote {
  font-style: italic;
  color: #3a3f47;
  margin-top: 10px;
  margin-bottom: 0;
}
.genre h2 + p {
  width: 60%;
  margin: 20px auto 40px;
  font-size: 16px;
  font-weight: 500;
  color: #858585;
}
.our-process .container {
  position: relative;
}
.genre-grid {
  margin-left: -12px;
  margin-right: -12px;
  align-items: stretch;
}

/* Authors page genre slider */
.genre-slider-wrap {
  margin-top: 28px;
  position: relative;
}
.authorsGenreSlider {
  padding: 8px 4px 16px;
  overflow: hidden;
}
.authorsGenreSlider .swiper-slide {
  height: auto;
}
.authorsGenreSlider .swiper-slide > a {
  display: block;
  text-decoration: none;
  height: 100%;
}
.authorsGenreSlider .info-gen {
  padding: 12px 12px 0;
  justify-content: flex-start;
  min-height: 0;
  border: 1px solid #e4ebe8;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0, 75, 55, 0.06);
  background: #fff;
  overflow: hidden;
}
.authorsGenreSlider .info-gen img {
  width: 100%;
  height: 280px;
  object-fit: contain;
  object-position: center;
  margin: 0;
  border-radius: 8px;
  display: block;
  background: #f7fbf9;
}
.authorsGenreSlider .info-gen h4 {
  width: 100%;
  margin: 0;
  padding: 14px 12px 16px;
  font-size: 16px;
  font-weight: 700;
  color: #1a1f1d;
  text-align: center;
  border-top: 3px solid #008461;
  background: #fff;
}
.authorsGenreSlider .info-gen:hover {
  border-color: #008461;
  transform: translateY(-4px);
}
.genre-slider-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 10px;
}
.genre-nav {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #dceae4;
  background: #fff;
  color: #008461;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(0, 75, 55, 0.08);
  transition: 0.2s ease;
}
.genre-nav:hover {
  background: #008461;
  color: #fff;
  border-color: #008461;
}
.genre-pagination {
  position: relative !important;
  width: auto !important;
  bottom: auto !important;
}
.genre-pagination .swiper-pagination-bullet {
  background: #9fcfbf;
  opacity: 1;
}
.genre-pagination .swiper-pagination-bullet-active {
  background: #008461;
  width: 22px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .authorsGenreSlider .info-gen img {
    height: 240px;
  }
}
.genre-grid > [class*="col-"] {
  padding: 12px;
  margin-bottom: 0;
  display: flex;
}
.genre-grid > [class*="col-"] > a {
  display: flex;
  width: 100%;
  text-decoration: none;
}
@media (min-width: 768px) {
  .genre-grid > .col-md-4,
  .genre-grid > .col-lg-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    width: 33.333333% !important;
  }
}
.info-gen {
  position: relative;
  background: #fff;
  padding: 28px 16px 22px;
  border: 1px solid #d7e5df;
  border-radius: 12px;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  transition: 0.25s ease;
  box-shadow: 0 4px 14px rgba(0, 75, 55, 0.05);
  overflow: hidden;
}
.info-gen::before,
.info-gen::after {
  content: none !important;
  display: none !important;
}
.genre-grid .info-gen {
  padding: 0;
  justify-content: flex-start;
  min-height: 0;
  border: 1px solid #e4ebe8;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0, 75, 55, 0.06);
  background: #fff;
}
.genre-grid .info-gen:hover {
  border-color: #008461;
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(0, 75, 55, 0.12);
}
.genre-grid .info-gen-media {
  width: 100%;
  height: 190px;
  overflow: hidden;
  background: #eef3f1;
  position: relative;
}
.genre-grid .info-gen-media::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.18), transparent);
  pointer-events: none;
}
.genre-grid .info-gen img,
.genre-grid .info-gen-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
  border-radius: 0;
  transition: transform 0.35s ease;
}
.genre-grid .info-gen > img {
  height: 190px;
}
.genre-grid .info-gen:hover .info-gen-media img,
.genre-grid .info-gen:hover > img {
  transform: scale(1.05);
}
.genre-grid .info-gen h4 {
  width: 100%;
  margin: 0;
  padding: 16px 14px 18px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #1a1f1d;
  text-align: center;
  line-height: 1.3;
  background: #fff;
  border-top: 3px solid #008461;
}
.info-gen:hover {
  border-color: #008461;
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0, 75, 55, 0.1);
}
.info-gen h4 {
  font-size: 18px;
  font-weight: 600;
  color: #111;
  margin: 0;
  text-align: center;
}
.genre .col-md-2,
.genre .col-md-4 {
  padding: 10px;
}
.genre .btn-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
}
.genre .btn-block a.btn {
  margin: 0;
}
.mt-20 {
  margin-top: 18px;
}
img.resize-img {
  margin-left: -35px;
}
.shape .row {
  align-items: center;
}
.shape h2 + p {
  width: 75%;
  margin: 15px auto;
  margin-bottom: 50px;
}
.shape h2 {
  font-family: var(--font-heading) !important;
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #1c2421;
  margin: 0 0 12px;
}
.shape h2 > span,
.shape h2 > span.bg {
  font-family: var(--font-heading) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: inherit;
  line-height: inherit;
  color: inherit !important;
  vertical-align: baseline;
  position: relative;
}
.shape h2 > span.bg::before {
  content: "";
  width: 100%;
  left: 0;
  position: absolute;
  height: 32%;
  background: #f8c600;
  z-index: -1;
  display: none;
  bottom: 4px;
}
.shape .container {
  position: relative;
}
.shape::before {
  content: "";
  background: url("../images/before-shape.png") no-repeat;
  width: 328px;
  height: 342px;
  position: absolute;
  right: 20px;
  top: -90px;
  transform: scale(-1);
  z-index: -1;
  opacity: 0.7;
}
.shape {
  padding-top: 40px;
}
.our-process [class*="col-"]:hover {
  transform: none;
}
.our-process [class*="col-"] {
  display: flex;
  transition: none;
  margin-bottom: 20px;
}
.our-process .info-process {
  height: 100%;
  flex: 1;
}
.our-service [class*="col-"]:nth-child(1) .info-service img {
  animation: none !important;
}
.our-service [class*="col-"]:nth-child(2) .info-service img {
  animation: none !important;
}
.our-service [class*="col-"]:nth-child(3) .info-service img {
  animation: none !important;
}
.our-process .info-process img {
  animation: none !important;
}
.our-process .info-process:hover img {
  animation: none !important;
}
.info-counter:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0, 75, 55, 0.14);
}
/*.genre [class*="col-"]:nth-child(1) .info-gen img {*/
/*  animation: shake 2s ease-In-Out infinite;*/
/*}*/
.info-gen img {
  margin-bottom: 16px;
  width: 160px;
  height: 160px;
  object-fit: contain;
  display: block;
}
.genre-grid .info-gen img {
  margin-bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  background: transparent;
}
/*.genre [class*="col-"]:nth-child(2) .info-gen img {*/
/*  animation: flash 3s ease-In-Out infinite;*/
/*}*/
/*.genre [class*="col-"]:nth-child(3) .info-gen img {*/
/*  animation: bounceIn 3s ease-In-Out infinite;*/
/*}*/
/*.genre [class*="col-"]:nth-child(6) .info-gen img {*/
/*  animation: tada 1.2s ease-In-Out infinite;*/
/*}*/
/*.genre [class*="col-"]:nth-child(5) .info-gen img {*/
/*  animation: pulse 1s ease-In-Out infinite;*/
/*}*/
/*.genre [class*="col-"]:nth-child(4) .info-gen img {*/
/*  animation: flipInX 2s ease-In-Out infinite;*/
/*}*/
.btn,
.btn::after {
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
.btn::before,
.btn::after {
  background: #004b37;
  content: "";
  position: absolute;
  z-index: -1;
}
.btn {
  position: relative;
  z-index: 1;
  border-radius: 6px;
}
.btn:hover {
  color: #000;
}
.btn::before {
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  border-radius: 6px;
}
.btn::after {
  background: #008461;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  border-radius: 6px;
}
.btn:hover:after {
  height: 0;
  left: 50%;
  top: 50%;
  width: 0;
}
header .btn::before,
header .btn::after {
  background: #004b37;
}
header .btn:hover,
.popup-content input.btn:hover {
  color: #000 !important;
  background: #004b37 !important;
}
header .btn::after,
.popup-content input.btn::after {
  background: inherit;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}
header .btn:hover:after,
.popup-content input.btn:hover:after {
  height: 0;
  left: 50%;
  top: 50%;
  width: 0;
}
.desktop-header header ul li:hover img {
  animation: wobble 1s linear infinite;
}
.pricing-page .content-area-heading {
  color: #0d042e;
  position: relative;
  margin-bottom: 30px;
}
.pricing-page .content-area-heading::before {
  content: "";
  position: absolute;
  left: -40px;
  bottom: -40px;
  height: 400px;
  width: 30%;
  border-radius: 30px 0 0 30px;
  background: #3f2895;
}
.pricing-tab-main {
  background: transparent;
  border-radius: 0 30px 30px 30px;
}
.pricing-nav-container {
  padding: 0;
  background: #eefaff;
  border-radius: 30px 0 0 30px;
}
.pricing-tab h2 {
  font-size: 38px;
  color: #000;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  line-height: 1.25;
  margin: 0;
  padding: 34px 54px 34px 34px;
  background: #eefaff;
  border-radius: 30px 0 0 0;
  padding-bottom: 0;
}
.pricing-tab .nav-tabs {
  width: 100%;
  display: inline-block;
  padding-top: 30px;
  padding-bottom: 30px;
  border: 0;
}
.pricing-tab .nav-tabs li a.active {
  background: #f8c600;
  color: #000 !important;
}
.pricing-tab .nav-tabs li a {
  width: 100%;
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  color: #9f9f9f;
  padding: 15px 50px;
  border-radius: 30px 0 0 30px;
}
.pricing-tab .nav-tabs li a .fa-circle {
  display: none;
  font-size: 6px;
  margin-right: 8px;
}
.pricing-tab-main .col-md-12 {
  padding: 46px;
}
.second-tab-heading {
  padding-bottom: 10px;
  border-bottom: 1px solid #736c8e;
}
.second-tab-heading h2 {
  font-size: 32px;
  color: #000;
  font-weight: 700;
}
.second-tab-heading p {
  color: #858585;
}
.content-area-heading p {
  margin-top: 0;
  color: #858585;
}
.content-main-tab {
  width: 100%;
  display: inline-block;
  position: relative;
  padding-bottom: 90px;
}
.content-main-tab::before {
  position: absolute;
  content: "";
  height: 100%;
  width: 1px;
  background: #736c8e;
  left: 0;
  right: 0;
  margin: auto;
}
.second-tab-leftbullets {
  padding-right: 20px;
}
.second-tab-leftbullets,
.second-tab-rightbullets {
  width: 50%;
  float: left;
  padding: 20px 0;
  min-height: 350px;
}
.content-main-tab h3 {
  color: #000;
  font-size: 20px;
  margin-bottom: 5px;
  font-weight: 600;
}
.content-main-tab ul {
  width: 100%;
  display: inline-block;
  color: #858585;
}
.content-main-tab ul li {
  width: 100%;
  display: inline-block;
  position: relative;
  padding-left: 20px;
  padding-bottom: 10px;
}
.content-main-tab ul li i {
  font-size: 9px;
  color: #f8c600;
  position: absolute;
  left: 0;
  top: 5px;
}
.second-tab-amount {
  position: absolute;
  bottom: 30px;
}
.second-tab-amount .tab-price {
  font-weight: 600;
  font-size: 30px;
  color: #c80808;
  margin-bottom: 10px;
}
.second-tab-rightbullets {
  padding-left: 30px;
}
.content-main-tab-single .second-tab-leftbullets {
  padding-right: 0;
  width: 100%;
  min-height: 430px;
}
.second-tab-rightbullets.showthis {
  width: 100%;
  min-height: 280px;
}
.hidethis::before {
  display: none;
}
.content-main-tab-single::before {
  display: none;
}
li.me-btn {
  padding-right: 0 !important;
}
.desktop-header header ul li.phone-a {
  margin-left: 0;
}
ul.navbar-nav.menu {
  justify-content: flex-end;
}

@media (min-width: 1200px) {
  .container {
    max-width: 1320px;
  }
}

@media (min-width: 1400px) {
  .container {
    max-width: 1440px;
  }
}

@media (min-width: 1600px) {
  .container {
    max-width: 1540px;
  }
}

.desktop-header .logo img {
  max-width: 180px;
  width: 180px;
  height: auto;
  display: block;
}
.desktop-header ul.navbar-nav.menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}
.desktop-header header ul li a {
  width: auto;
  white-space: nowrap;
}

@media (min-width: 992px) {
  .desktop-header header .row {
    flex-wrap: nowrap;
    align-items: center;
  }
  .desktop-header header .col-md-2 {
    flex: 0 0 200px;
    max-width: 200px;
    width: 200px;
  }
  .desktop-header header .col-md-10 {
    flex: 1 1 auto;
    max-width: none;
    width: auto;
  }
  .desktop-header ul.navbar-nav.menu {
    justify-content: flex-start;
  }
  .desktop-header ul.navbar-nav.menu > li:first-child {
    margin-left: auto;
  }
  .desktop-header ul.navbar-nav.menu > li.phone-a {
    margin-left: auto;
  }
}

@media (min-width: 1200px) {
  .desktop-header ul.navbar-nav.menu > li > a {
    font-size: 16px;
  }
  .desktop-header ul.navbar-nav.menu > li {
    padding: 0 10px;
  }
  .desktop-header header ul li.phone-a a,
  header .btn {
    font-size: 15px;
  }
}

@media (min-width: 1400px) {
  .desktop-header ul.navbar-nav.menu > li > a {
    font-size: 17px;
  }
  .desktop-header ul.navbar-nav.menu > li {
    padding: 0 12px;
  }
}
.pricing-tab {
  text-align: right;
}
.pricing-tab-main .row {
  height: 100%;
}
.pricing-tab-main .col-md-8.main-div {
  background: #fff;
  margin-left: -30px;
  position: relative;
  z-index: 22;
  border-radius: 30px;
  box-shadow: 0 0 15px #d0d0d0;
}
.pricing-page .content-area-heading::before {
  display: none;
}
.pricing-page::before {
  content: "";
  background: url(../images/hire-before.webp) no-repeat;
  width: 295px;
  height: 251px;
  position: absolute;
  right: 140px;
  top: 200px;
}
.pricing-page .our-banner {
  background: 0;
  width: 100%;
  margin-bottom: 80px;
}
.shape img {
  max-width: 100%;
  transition: 0.5s all;
}
.shape img:hover {
  transform: scale(1.08);
}
.shape::after {
  content: "";
  font-size: 130px;
  position: absolute;
  font-weight: 500;
  color: #f7eae0;
  -webkit-text-stroke: 1px #f7eae0;
  bottom: 10px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  z-index: -1;
}
ul.submenu {
  position: absolute;
  left: 0;
  top: 100%;
  width: 300px;
  text-align: left;
  background-color: #f3faf7;
  z-index: 999999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  padding: 6px 0;
  margin: 0;
  border-radius: 5px;
  box-shadow: 0 10px 28px rgba(0, 75, 55, 0.16);
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
ul.submenu li:first-child {
  border-top: 0;
}
ul.submenu > li {
  border-top: 1px solid #d5ebe3;
  width: 100%;
  display: block;
  padding: 0;
  margin: 0;
}
ul.submenu > li > a {
  display: block;
  color: #111;
  text-decoration: none;
  padding: 12px 36px 12px 18px;
  line-height: 1.35;
  transition: color 0.2s ease;
  font-size: 14px;
  font-weight: 500;
  white-space: normal;
}
ul.submenu1,
ul.submenu2,
ul.submenu3 {
  position: absolute;
  left: 100%;
  top: 0;
  width: 280px;
  text-align: left;
  background-color: #f3faf7;
  z-index: 999999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  padding: 6px 0;
  margin: 0;
  border-radius: 5px;
  box-shadow: 0 10px 28px rgba(0, 75, 55, 0.16);
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
ul.submenu1 li:first-child,
ul.submenu2 li:first-child,
ul.submenu3 li:first-child {
  border-top: 0;
}
ul.submenu1 > li,
ul.submenu2 > li,
ul.submenu3 > li {
  border-top: 1px solid #d5ebe3;
  width: 100%;
  display: block;
  padding: 0;
  margin: 0;
}
ul.submenu2,
.custom-navbar ul.submenu3 {
  left: 100%;
}
.menu-dropdown {
  position: relative;
}
li.menu-dropdown:hover .submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
li.menu-dropdown1:hover .submenu1,
li.menu-dropdown2:hover .submenu2,
li.menu-dropdown4:hover .submenu3 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
ul.submenu1 > li > a,
ul.submenu2 > li > a,
ul.submenu3 > li > a {
  display: block;
  color: #111;
  text-decoration: none;
  padding: 12px 36px 12px 18px;
  line-height: 1.35;
  transition: color 0.2s ease;
  font-size: 14px;
  font-weight: 500;
  white-space: normal;
}
.menu-dropdown1 i.fa.fa-chevron-down,
.menu-dropdown2 i.fa.fa-chevron-down,
.menu-dropdown4 i.fa.fa-chevron-down {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  font-size: 11px;
}
.menu-dropdown i.fa.fa-chevron-down {
  font-size: 11px;
  margin-left: 4px;
}
li.menu-dropdown1,
li.menu-dropdown2,
li.menu-dropdown4,
li.menu-dropdown3 {
  position: relative;
}
a#back-top.show {
  display: inline-block;
  background-color: #cedffb;
  width: 46px;
  height: 46px;
  line-height: 45px;
  font-size: 22px;
  text-align: center;
  color: #000;
  border-radius: 4px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  transition: background-color 0.3s, opacity 0.5s, visibility 0.5s;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
  border-radius: 50%;
  display: none;
}
a#back-top.show {
  cursor: pointer;
  background-color: #008461;
}
a#back-top.show {
  background-color: #008461;
}
.fa-arrow-up:before {
  color: #fff;
  content: "\f062";
}
a#back-top.show {
  opacity: 1;
  visibility: visible;
}
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  border: 0;
  transition: 0.3s all;
  background: #fff;
  z-index: 100;
  padding: 15px 0 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
header * {
  transition: 0.3s all;
}
.fancybox-content {
  background: transparent;
  max-width: 1040px;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}
.fancybox-slide--html {
  padding: 24px 16px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
}
.fancybox-slide--html .fancybox-content {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  margin: 0 auto !important;
  position: relative;
}
.popup-bann img {
  max-width: 100%;
}
.popup-bann {
  max-width: 283px;
  display: inline-block;
  position: relative;
  z-index: 1;
}
.popup-content {
  max-width: 900px;
  display: inline-block;
  background: #fff;
  margin-left: -240px;
  padding: 30px 30px 30px 290px;
  margin-top: 40px;
  border-top-right-radius: 30px;
  position: relative;
}
.bg-none {
  background: 0;
}
.popup-content .our-banner h1 {
  font-size: 30px;
  line-height: 35px;
  font-weight: 600;
  margin-bottom: 10px;
}
.popup-content .our-banner h3::before {
  top: inherit;
  bottom: 0;
  height: 20px;
}
.popup-content .our-banner h3 {
  margin-bottom: 25px;
}
.popup-content .form-control {
  background: #f0f3f6;
  margin-bottom: 14px;
  border-radius: 0;
  height: 40px;
  resize: none;
  font-size: 13px;
}
.popup-content [class*="col-"] {
  padding: 0 7px;
}
.popup-content textarea.form-control {
  height: 92%;
}
.popup-content p.form_tagline {
  font-size: 11px;
  color: #727272;
  font-weight: 500;
  text-align: left;
}
.popup-content::before {
  content: "";
  background: url("../images/bg-popup.png") no-repeat;
  height: 102px;
  width: 194px;
  position: absolute;
  right: -23px;
  top: -45px;
  filter: brightness(10);
  z-index: -1;
}
input[type="checkbox"],
input[type="radio"] {
  vertical-align: inherit;
  filter: hue-rotate(155deg);
}
.fancybox-slide--html .fancybox-close-small {
  top: 14px;
  right: 14px;
  padding: 0;
  width: 36px;
  height: 36px;
  background: #008461;
  border-radius: 50%;
  color: #fff;
  opacity: 1;
  z-index: 50;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  overflow: visible;
}
.fancybox-slide--html .fancybox-close-small:after {
  color: #fff;
  font-size: 20px;
  line-height: 36px;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 0;
  top: 0;
  right: 0;
}
.fancybox-button svg {
  color: #fff;
  height: 30px;
  width: 30px;
  background: #008461;
  border-radius: 50%;
  padding: 4px;
}
.popup-content input.btn.btn-black {
  background: #008461;
  color: #000;
  padding: 12px 30px;
  position: relative;
  z-index: 17;
}
.fancybox-is-open .fancybox-bg {
  opacity: 0.5 !important;
  background: #000 !important;
}
.modal-body {
  overflow: hidden;
}
a#back-top.show i {
  color: #000;
}
.info-cta a img {
  max-width: 91px;
  height: 45px;
}
.info-cta a:hover img {
  animation: wobble 1s linear infinite;
}
a {
  text-decoration: none !important;
}
.loader-inner {
  vertical-align: top;
  display: inline-block;
  width: 100%;
  animation: loader-inner 2s infinite ease-in;
}
#overlayer {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 10000;
  background: #d0ecf8;
  top: 0;
  bottom: 0;
}
.loader {
  display: inline-block;
  position: absolute;
  z-index: 3;
  top: 44%;
  animation: loader 2s infinite ease;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
.ovr-show {
  overflow: hidden;
}
.copyright * {
  color: #fff;
}
.copyright a {
  color: #fff;
}
.submenu li::before,
.submenu1 li::before,
.submenu2 li::before,
.submenu3 li::before {
  content: "";
  background: #008461;
  width: 2px;
  height: 100%;
  position: absolute;
  left: 0;
}
.submenu li,
.submenu1 li,
.submenu2 li,
.submenu3 li {
  position: relative;
}
.submenu li::before,
.submenu1 li::before,
.submenu2 li::before,
.submenu3 li::before {
  transition: width 0.2s ease;
  z-index: 0;
}
.submenu li:hover::before,
.submenu1 li:hover::before,
.submenu2 li:hover::before,
.submenu3 li:hover::before {
  width: 100%;
}
.desktop-header header ul.submenu li,
.desktop-header header ul.submenu1 li,
.desktop-header header ul.submenu2 li,
.desktop-header header ul.submenu3 li {
  padding: 0;
}
.desktop-header header ul.submenu li a,
.desktop-header header ul.submenu1 li a,
.desktop-header header ul.submenu2 li a,
.desktop-header header ul.submenu3 li a {
  font-size: 14px;
  font-weight: 500;
  color: #111;
  width: 100%;
}
.desktop-header header ul.submenu li a::before,
.desktop-header header ul.submenu1 li a::before,
.desktop-header header ul.submenu2 li a::before,
.desktop-header header ul.submenu3 li a::before {
  display: none;
}
.submenu li > a,
.submenu1 li > a,
.submenu2 li > a,
.submenu3 li > a {
  position: relative;
  z-index: 1;
}
.desktop-header header ul.submenu li:hover > a,
.desktop-header header ul.submenu1 li:hover > a,
.desktop-header header ul.submenu2 li:hover > a,
.desktop-header header ul.submenu3 li:hover > a {
  color: #fff;
}
footer ul li a {
  color: #fff !important;
}
footer ul li a > i {
  position: absolute;
  top: 5px;
  left: 0;
  color: #ffffff78;
}
footer ul li a {
  position: relative;
  transition: 0.5s all;
  padding-left: 10px;
}
footer ul li a i {
  font-size: 10px;
  transition: 0.5s all;
}
footer ul li a:hover {
  padding-left: 20px;
}
ul.address li a {
  padding: 0;
  text-transform: inherit;
}
ul.address li a:hover {
  padding: 0;
}
.error-404,
.thank-you {
  height: 100vh;
  overflow: hidden;
}
.error-404::before {
  content: "";
  background: url("../images/before-error.jpg") no-repeat;
  width: 229px;
  height: 189px;
  position: absolute;
  left: 0;
  top: 0;
}
.thank-you::before {
  content: "";
  background: url("../images/before-thank.png") no-repeat;
  width: 292px;
  height: 295px;
  position: absolute;
  left: 0;
  top: 0;
}
.error-404::after {
  content: "";
  background: url("../images/after-error.png") no-repeat;
  width: 213px;
  height: 461px;
  position: absolute;
  right: 0;
  top: 0;
}
.thank-you::after {
  content: "";
  background: url("../images/after-thank.png") no-repeat;
  width: 121px;
  height: 479px;
  position: absolute;
  right: 0;
  top: 0;
}
img.thank-ab {
  position: absolute;
  top: 50px;
  left: 50%;
  right: 0;
  margin: auto;
  animation: rollOut 2s linear infinite;
  animation-direction: alternate;
}
.error-404 img {
  display: inline-block;
}
.error-404 .info-error {
  display: inline-block;
}
.error-404 h4,
.thank-you h4 {
  font-size: 32px;
  font-weight: 500;
  position: relative;
  z-index: 2;
}
.error-404 h3,
.thank-you h3 {
  font-size: 50px;
  font-weight: 700;
  position: relative;
  display: inline-block;
  z-index: 2;
}
.error-404 h3::before,
.thank-you h2::before {
  content: "";
  background: #f8c600;
  width: 100%;
  height: 30px;
  position: absolute;
  left: 0;
  bottom: 5px;
  z-index: -1;
}
.hg-90 {
  height: 90vh;
}
.error-404 .row,
.thank-you .row {
  align-items: center;
}
.error-404 .info-error::before,
.thank-you .info-thank::before {
  content: "404";
  position: absolute;
  color: #def4ff;
  font-size: 600px;
  font-weight: 800;
  top: -290px;
  z-index: -2;
  left: -180px;
  text-transform: uppercase;
}
.thank-you .info-thank::before {
  content: "THANK YOU";
  position: fixed;
  font-size: 208px;
  top: -80px;
  right: 0;
  left: 70px;
  margin: auto;
  white-space: nowrap;
}
.error-404 .info-error::after,
.thank-you .info-thank::after {
  content: "404";
  position: absolute;
  -webkit-text-stroke: 2px #c4dbe6;
  font-size: 600px;
  font-weight: 800;
  top: -310px;
  z-index: -1;
  left: -130px;
  color: transparent;
  text-transform: uppercase;
}
.thank-you .info-thank::after {
  content: "Thank YOU";
  content: "THANK YOU";
  position: fixed;
  font-size: 208px;
  top: -90px;
  right: 0;
  left: 90px;
  margin: auto;
  white-space: nowrap;
}
.error-404 a {
  display: block;
  width: 200px;
  margin: auto;
  margin-top: 50px;
  position: relative;
  z-index: 2;
}
.error-404 img {
  animation: hinge 5s linear infinite;
  z-index: 1;
  position: relative;
  right: -100px;
  top: 50px;
}
.thank-you {
  padding-top: 160px;
}
.thank-you p {
  font-size: 23px;
  width: 70%;
  margin: auto;
  margin-bottom: 50px;
}
.thank-you h3 span {
  position: relative;
  z-index: 2;
}
.thank-you h3 span::before {
  content: "";
  position: absolute;
  background: #f1c100;
  height: 30px;
  width: 100%;
  left: 0;
  bottom: 5px;
  z-index: -1;
  display: none;
}
.thank-you h4 {
  margin-bottom: 0;
}
canvas {
  display: block;
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  position: absolute;
}
.desktop-header header ul li a::before {
  content: "";
  border-bottom: 2px solid #000;
  width: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  transition: 0.5s ease-In-Out;
  margin: auto;
}
.desktop-header header ul li a {
  position: relative;
}
.desktop-header header ul li a:hover::before {
  width: 100%;
}
.desktop-header header ul li.phone-a a:before {
  display: none;
}
.submenu li:hover > a::before {
  display: none;
}
ul.ftr-social li {
  display: inline-block;
  text-align: center;
  margin-right: 10px;
}
ul.ftr-social li a i {
  font-size: 20px !important;
  color: #fff;
  width: 25px;
}
.desktop-header header ul li.me-btn a::before {
  border-bottom: 1px;
  bottom: 0;
}
footer .ftr-social li a:hover {
  padding-left: 15px;
}
.main-test .row:first-child [class*="col-"]:first-child .info-test::before {
  content: open-quote;
}
p {
  line-height: 1.6em;
}
.home-banner {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 100vh;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 0;
  box-sizing: border-box;
}
.home-banner .container {
  margin-top: 20px;
}
.home-banner .gates {
  max-width: 720px;
  margin: 0 auto;
}
.home-banner .gates h1,
.home-banner .gates h3,
.home-banner .gates h5 {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.home-banner .gates h1 {
  font-weight: 400 !important;
  letter-spacing: 0.06em;
  font-synthesis: none;
}
.home-banner .gates h3 {
  max-width: 580px;
  line-height: 1.55;
}
.home-banner .gates h5 {
  max-width: 420px;
}
.privacy-page .our-banner {
  background: 0;
}
.privacy-page {
  background: #d0ecf8;
  padding: 40px 0;
}
.content-page h5 {
  font-family: var(--font-heading) !important;
  font-weight: 700;
  font-size: 24px;
}
.content-page ul li i {
  font-size: 8px;
  color: #0060ff;
  margin-right: 6px;
}
.content-page ul {
  padding-left: 20px;
  margin-bottom: 20px;
}
.content-page p {
  line-height: 20px;
}
.main-test .our-banner h5 {
  margin: auto;
}
.who h2 br {
  display: none;
}
ul.ftr-social li:hover a i {
  color: #008461;
}
.pricing-page .our-banner h5 {
  margin: auto;
}
.author-banner h5 br {
  display: none;
}
.marketing-content {
  padding: 70px 0 80px;
  background:
    radial-gradient(circle at top left, rgba(0, 168, 120, 0.07), transparent 42%),
    linear-gradient(180deg, #fff 0%, #f7fbf9 100%);
}
.mkt-head {
  max-width: 620px;
  margin: 0 auto 40px;
}
.mkt-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #008461;
  background: #e8f6f1;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.mkt-head h2 {
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  color: #1c2421;
  letter-spacing: 0.02em;
  margin: 0 0 12px;
  line-height: 1.25;
}
.mkt-head p {
  margin: 0;
  color: #5f6b66;
  font-size: 15px;
  line-height: 1.7;
}
.marketing-content .row > [class*="col-"] {
  background: transparent;
  border: 0;
  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 0;
  display: flex;
}
.mkt-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  width: 100%;
  background: #fff;
  border: 1px solid #dceae4;
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 10px 26px rgba(0, 75, 55, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  height: 100%;
}
.mkt-card:hover {
  transform: translateY(-5px);
  border-color: #008461;
  box-shadow: 0 16px 34px rgba(0, 75, 55, 0.1);
}
.mkt-card__icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #e8f6f1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.mkt-card__icon img,
.marketing-content .icon-image {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: block;
}
.mkt-card__body {
  flex: 1;
  min-width: 0;
  text-align: left;
}
.mkt-card__body h3,
.marketing-content h3 {
  font-size: 20px;
  margin: 0 0 8px;
  font-weight: 800;
  color: #1c2421;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.mkt-card__body p,
.marketing-content p {
  margin: 0;
  line-height: 1.65;
  font-size: 14px;
  color: #5f6b66;
}
@media (max-width: 767px) {
  .mkt-head h2 {
    font-size: 26px;
  }
  .mkt-card {
    padding: 18px 16px;
  }
  .mkt-card__body h3,
  .marketing-content h3 {
    font-size: 18px;
  }
}
.info-contact h1 br {
  display: none;
}
#tab-1 .second-tab-leftbullets,
#tab-1 .second-tab-rightbullets {
  min-height: 320px;
}
#tab-2 .content-main-tab-single .second-tab-leftbullets {
  margin-bottom: 10px;
}
#tab-3 .content-main-tab-single .second-tab-leftbullets {
  min-height: auto;
  margin-bottom: 30px;
}
#tab-4 .second-tab-rightbullets.showthis {
  min-height: auto;
  margin-bottom: 30px;
}
#tab-5 .content-main-tab-single .second-tab-leftbullets {
  min-height: 250px;
}
#tab-7 .content-main-tab-single .second-tab-leftbullets {
  min-height: 290px;
}
#tab-8 .second-tab-leftbullets,
#tab-8 .second-tab-rightbullets {
  min-height: 290px;
}
#tab-9 .second-tab-leftbullets,
#tab-9 .second-tab-rightbullets {
  min-height: 290px;
}
#tab-10 .second-tab-leftbullets,
#tab-10 .second-tab-rightbullets {
  min-height: 230px;
}
#tab-11 .content-main-tab-single .second-tab-leftbullets {
  min-height: 340px;
}
.author-banner h5 {
  max-width: 90%;
}
.book img {
  box-shadow: -6px 10px 10px #bfbebe;
  margin-bottom: 15px;
  transition: 0.5s all;
}
.book h2::before {
  content: "Our Books";
  position: absolute;
  font-size: 150px;
  left: 0;
  right: 0;
  margin: auto;
  top: -2px;
  font-weight: 600;
  text-transform: capitalize;
  color: #f5f3f3;
  z-index: -1;
  letter-spacing: -12px;
}
.book h2 {
  font-weight: 600;
  font-size: 38px;
  z-index: -1;
}
.mt-30 {
  margin-top: 30px;
}
.book {
  background: #fff;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 50%,
    rgba(238, 238, 238, 1) 50%
  );
  z-index: 0;
  padding: 80px 0;
}
.book img:hover {
  transform: translate(0, -10px);
}
.btn-black {
  background: #000;
  color: #fff;
}
.btn-black::before {
  background: #ebe9e8;
}
.our-banner h1 {
  font-size: 32px;
  letter-spacing: 0.05em;
  font-weight: 400 !important;
}

@media (min-width: 1200px) {
  .our-banner h1 {
    font-size: 56px;
    letter-spacing: 0.06em;
    line-height: 1.35;
    font-weight: 400 !important;
  }
}
.our-banner h3 {
  font-weight: 600;
}
.our-banner h5 {
  font-weight: 400;
}
.service-banner h1,
.service-banner h2,
.service-banner h3,
.service-banner h4,
.service-banner h5,
.service-banner h6,
.service-banner p {
  color: #fff;
}
.service-banner li {
  color: #fff;
}
.ty-page .banner-paragraph {
  color: #fff;
}
.ty-page .home-banner {
  height: calc(100vh - 50px);
  background-position: top;
  align-items: center;
  padding: 0;
}
.form-countdown {
  font-size: 16px;
  font-weight: 800;
  color: #e62e2d;
}
input.form-control {
  border-radius: 0;
}
.desktop-header header.fixed ul li.menu-dropdown ul li a {
  color: #000;
}
.desktop-header header.fixed ul li.menu-dropdown ul li:hover a {
  color: #fff;
}
.desktop-header header.fixed ul li.menu-dropdown ul li:hover .submenu1 a {
  color: #000;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li:hover
  .submenu1
  li:hover
  a {
  color: #fff;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu2
  li
  a {
  color: #000;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu3
  li
  a {
  color: #000;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu2
  li:hover
  a {
  color: #fff;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu3
  li:hover
  a {
  color: #fff;
}
.desktop-header header.fixed ul li.menu-dropdown ul li:hover .submenu1 a {
  color: #000;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li:hover
  .submenu1
  li:hover
  a {
  color: #fff;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu2
  li
  a {
  color: #000;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu3
  li
  a {
  color: #000;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu2
  li:hover
  a {
  color: #fff;
}
.desktop-header
  header.fixed
  ul
  li.menu-dropdown
  ul
  li
  .submenu1
  li:hover
  .submenu3
  li:hover
  a {
  color: #fff;
}
footer .foot-form h3 {
  display: block;
  text-align: center;
  margin: 30px auto 10px;
  font-weight: 800;
}
.foot-form h3 span {
  position: relative;
  color: #008461;
  font-weight: 800;
}
.foot-form {
  border: 2px solid #008461;
  box-shadow: 0px 0px 10px #ffffff80;
}

.small-banner ul {
  margin-bottom: 30px;
  margin-left: 40px;
}

.small-banner h4 {
  margin-top: 30px;
  font-weight: 600;
}

.small-banner p {
  font-size: 16px;
}

.small-banner ul li {
  list-style: disc;
  margin-bottom: 10px;
}

@keyframes makeItBlink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*tabs css*/

.shape .nav-tabs {
  border-bottom: transparent;
}

.shape .nav-tabs .nav-link.active {
  border-radius: 6px;
  background: #008461;
  color: #fff;
}

.shape .nav-tabs .nav-link {
  border-radius: 6px;
  border: 1px solid #008461;
  color: #000;
  font-size: 16px;
  padding: 8px 22px;
  font-weight: 500;
  outline: none;
}
.shape .nav-tabs .nav-link:hover {
  background: #008461;
  color: #fff;
}
.shape .nav-tabs .nav-link.active:hover,
.shape .nav-tabs .nav-link:focus,
.shape .nav-tabs .nav-link:active {
  color: #fff;
}

.shape .nav-tabs .nav-link:focus-visible {
  outline: none;
  box-shadow: none;
}

/*footer css*/

.pd-link ul li {
  border-radius: 3px;
  /* background: rgba(255, 255, 255, 0.07); */
  padding: 6px 0 6px 0;
  margin: 10px 0 10px 0;
  font-size: 14px;
}

.pd-link ul li:hover {
  border-radius: 3px;
  background: #008461;
}

.pd-link ul li:hover a {
  color: #000 !important;
}

.social-icon {
  margin: 20px 0 20px 0;
}
.social-icon ul li {
  display: contents;
}
.social-icon ul li a img {
  width: 45px;
  height: 45px;
  border-radius: 10px;
}

/**/
.foot-form .form-control:focus {
  box-shadow: none;
  background: transparent;
  /*border: none;*/
}
.pilot-review .trust {
  margin: 0 0 10px 0;
  display: block;
}

.pilot-review .trust span {
  font-size: 24px;
  color: #008461;
  padding-right: 12px;
  font-weight: 500;
}

.pilot-review .trust img {
  width: 150px;
}

.pilot-review .trust h6 {
  font-size: 14px;
  padding: 10px 0 0 0;
  font-weight: 300;
}

.pilot-review p {
  color: #fcfdffad;
}

/* service pages */

.ghost-service .row {
  align-items: center;
}
.ghost-service h1 {
  font-weight: 600;
}
.ghost-service .right-pic img {
  width: 100%;
}
.right-pic video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.offer-wrapper {
  border-radius: 10px;
  border: 1px solid #008461;
  background: rgba(255, 162, 24, 0.05);
  padding: 20px;
  height: 100%;
}

.offer-wrapper img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  margin: 0 0 10px 0;
}

.offer-wrapper h5 {
  font-weight: 600;
  font-size: 18px;
  line-height: 25px;
}
.offer-wrapper p {
  padding: 8px;
}

.portfolio-sct .swiper-slide {
  background: transparent;
}

.portfolio-sct .swiper-slide img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: contain;
}

.sct-count .counter {
  color: #09483f;
  font-weight: 600;
  font-size: 80px;
}

.sct-count h3 {
  font-size: 18px;
  font-weight: 400;
}

/* packages pages */

.our-packages {
  padding: 36px 0 70px;
  background:
    radial-gradient(circle at top center, rgba(0, 168, 120, 0.08), transparent 45%),
    linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
  position: relative;
}

.our-packages .packages-head {
  margin-bottom: 32px;
}

.packages-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #008461;
  background: #e8f6f1;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}

.our-packages .packages-head h2 {
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  color: #1c2421;
  margin: 0 0 12px;
  letter-spacing: 0.02em;
  line-height: 1.25;
}

.our-packages .packages-head p {
  max-width: 520px;
  margin: 0 auto;
  color: #5f6b66;
  font-size: 15px;
  line-height: 1.7;
}

.our-packages .packages-row {
  align-items: stretch;
}

.our-packages .packages-row > [class*="col-"] {
  display: flex;
  margin-bottom: 24px;
}

.package-card {
  position: relative;
  width: 100%;
  border-radius: 20px;
  border: 1px solid #dceae4;
  background: #fff;
  padding: 0;
  text-align: center;
  margin: 0;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0, 75, 55, 0.06);
  transition: box-shadow 0.28s ease, transform 0.28s ease, border-color 0.28s ease;
}

.package-card--featured {
  border-color: #008461;
  box-shadow: 0 18px 40px rgba(0, 75, 55, 0.14);
  transform: translateY(-8px);
}

.packg-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  background: linear-gradient(90deg, #00a878 0%, #008461 100%);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
}

.package-card .packg-hed {
  background: #fff;
  padding: 28px 22px 18px;
  border-bottom: 0;
}

.packg-tier {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #008461;
  margin-bottom: 10px;
}

.package-card .packg-hed h3 {
  font-size: 28px;
  font-weight: 800;
  text-transform: none;
  color: #1c2421;
  margin: 0 0 10px;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.02em;
}

.packg-hed h2,
.packg-hed h2 span {
  display: none !important;
}

.package-card .packg-hed p {
  font-size: 14px;
  line-height: 1.6;
  color: #5f6b66;
  margin: 0 auto;
  max-width: 280px;
  text-align: center;
}

.info-packages {
  margin: 0 16px;
  padding: 16px 18px 12px;
  height: 320px;
  min-height: 320px;
  max-height: 320px;
  overflow-y: auto;
  flex: 0 0 320px;
  background: #f3f8f6;
  border: 1px solid #e4ebe8;
  border-radius: 14px;
  text-align: left;
}

.info-packages h4 {
  font-size: 14px;
  font-weight: 800;
  color: #008461;
  margin: 0 0 10px;
  text-align: left;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.info-packages ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.info-packages ul li {
  font-size: 14px;
  line-height: 1.45;
  padding: 8px 0 8px 28px;
  color: #1c2421;
  position: relative;
  border-bottom: 1px solid rgba(0, 132, 97, 0.08);
}

.info-packages ul li:last-child {
  border-bottom: 0;
}

.info-packages ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e8f6f1;
  box-shadow: 0 0 0 1px rgba(0, 132, 97, 0.18);
}

.info-packages ul li::after {
  content: "✓";
  position: absolute;
  left: 4px;
  top: 11px;
  color: #008461;
  font-size: 11px;
  font-weight: 800;
  font-family: "Nunito", sans-serif;
  line-height: 1;
}

.info-packages::-webkit-scrollbar {
  width: 4px;
}

.info-packages::-webkit-scrollbar-track {
  background: #e4ebe8;
  border-radius: 10px;
}

.info-packages::-webkit-scrollbar-thumb {
  background: #008461;
  border-radius: 10px;
}

.packg-cta {
  background: transparent;
  padding: 14px 22px 12px;
  display: flex;
  justify-content: center;
}

.pkg-quote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  padding: 13px 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #00a878 0%, #008461 50%, #004b37 100%) !important;
  background-image: linear-gradient(90deg, #00a878 0%, #008461 50%, #004b37 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: 0 8px 20px rgba(0, 132, 97, 0.28) !important;
}

.pkg-quote::before,
.pkg-quote::after {
  display: none !important;
}

.pkg-quote:hover {
  filter: brightness(1.05);
  color: #fff !important;
}

.package-card--featured .pkg-quote {
  background: #fff !important;
  background-image: none !important;
  color: #008461 !important;
  border: 2px solid #008461 !important;
  box-shadow: none !important;
}

.package-card--featured .pkg-quote:hover {
  background: #008461 !important;
  color: #fff !important;
}

.packg-foot {
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #e4ebe8;
  background: #fff;
}

.packg-foot__item {
  padding: 16px 12px;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transition: 0.2s ease;
}

.packg-foot__item:first-child {
  border-right: 1px solid #e4ebe8;
}

.packg-foot__item span {
  color: #008461 !important;
  font-size: 12px;
  font-weight: 700;
}

.packg-foot__item strong {
  color: #1c2421 !important;
  font-size: 14px;
  font-weight: 800;
}

.packg-foot__item:hover {
  background: #f7fbf9;
}

.package-card:hover {
  transform: translateY(-6px);
  border-color: #008461;
  box-shadow: 0 18px 40px rgba(0, 75, 55, 0.12);
}

.package-card--featured:hover {
  transform: translateY(-12px);
}

.package-card:hover .packg-hed h3 {
  color: #008461;
}

.package-card:hover .packg-hed p,
.package-card:hover ul li {
  color: inherit;
}

@media (max-width: 991px) {
  .package-card,
  .package-card--featured {
    min-height: 0;
    transform: none;
  }

  .package-card--featured:hover,
  .package-card:hover {
    transform: translateY(-4px);
  }
}

@media (max-width: 575px) {
  .our-packages .packages-head h2 {
    font-size: 28px;
  }

  .info-packages {
    height: 280px;
    min-height: 280px;
    max-height: 280px;
    flex: 0 0 280px;
    margin: 0 12px;
  }

  .packg-foot__item strong {
    font-size: 12px;
  }
}

/* about us page */

.our-testimonial p {
  text-align: center;
  position: relative;
  z-index: 2;
  font-size: 16px;
  margin: 0 0 20px 0;
}

.testi-new {
  background: #f4f1ed;
  padding: 80px 0 70px;
}
.testi-new::before,
.testi-new::after,
.testi-new .container::before {
  display: none !important;
}
.testi-new h2 {
  font-family: var(--font-heading) !important;
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #1c2421;
  margin: 0 0 36px;
  position: relative;
  z-index: 2;
}
.testi-new .info-test {
  background: #f0ede9;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  padding: 28px 24px 22px;
  min-height: 340px;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  text-align: left;
}
.testi-new a {
  color: inherit;
  text-decoration: none;
  display: block;
  height: 100%;
}
.testi-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 42px;
  margin-bottom: 12px;
}
.testi-stars {
  display: inline-flex;
  gap: 3px;
  background: #1f5c4e;
  border-radius: 4px;
  padding: 5px 7px;
}
.testi-stars i {
  color: #fff;
  font-size: 10px;
}
.testi-us {
  position: absolute;
  top: 0;
  right: 0;
  width: 72px;
  height: 72px;
  background: #1f5c4e;
  border-bottom-left-radius: 100%;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 10px 12px 0 0;
  letter-spacing: 0.4px;
}
.testi-us::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 1.5px solid #fff;
  border-radius: 50%;
  margin-right: 4px;
  margin-top: 3px;
  box-shadow: 0 0 0 2px #1f5c4e, 0 0 0 3px #fff;
}
.testi-new .info-test h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 40px 12px 0;
  color: #111;
  font-family: var(--font-heading) !important;
}
.testi-new .info-test p {
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: #111;
  text-align: left;
  margin: 0 0 18px;
  flex: 1;
}
.testi-new .info-test h4 {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin: 0;
  font-family: var(--font-heading) !important;
}
.testi-new .swiper-slide {
  height: auto;
  padding: 8px 8px 16px;
  background: transparent;
  font-size: inherit;
  overflow: hidden;
}
.testi-new .myVerticalSwiper,
.testi-new .swiper {
  overflow: hidden;
}
.testi-new .container {
  overflow: hidden;
}
.testi-new .testi-nav {
  color: #b9b9b9;
  width: 42px;
  height: 42px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  z-index: 6;
}
.testi-new .testi-nav::after {
  font-size: 16px;
  font-weight: 700;
}
.testi-new .swiper-button-prev {
  left: 8px;
}
.testi-new .swiper-button-next {
  right: 8px;
}
.img-ser h6 {
  font-size: 40px;
}

@media (max-width: 768px) {
  .info-service h5 {
    font-size: 16px;
    padding-left: 67px;
    text-align: left;
  }
}

.floatbutton {
  top: 50%;
  margin-top: -162px;
}
.btns_wrap {
  top: 50%;
  margin-top: -162px;
}

.services-mosaic-sec {
  background: #5b746c;
  padding: 70px 0;
}

/* Home services — Figma card slider */
.svc-figma {
  background: #fff;
  padding: 70px 0 60px;
  text-align: left;
}
.svc-figma__head {
  margin-bottom: 36px;
}
.svc-figma__eyebrow {
  margin: 0 0 12px;
  color: #252525;
  font-size: 16px;
  line-height: 1.4;
  font-family: "Nunito", sans-serif !important;
  font-weight: 400 !important;
  max-width: 420px;
}
.svc-figma__title {
  margin: 0;
  color: #000;
  text-transform: uppercase;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.05;
  font-weight: 400 !important;
  letter-spacing: 0.04em;
}
.svc-figma__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
}
.svc-figma__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 41px;
  padding: 8px 18px;
  border-radius: 43px;
  font-size: 13px;
  font-weight: 600 !important;
  font-family: "Nunito", sans-serif !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.svc-figma__btn--outline {
  background: #fff;
  border: 1px solid #000;
  color: #008061 !important;
}
.svc-figma__btn--solid {
  background: linear-gradient(263deg, #00a175 16%, #007d5f 98%);
  border: 1px solid transparent;
  color: #fff !important;
}
.svc-figma__btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0, 125, 95, 0.2);
}
.svcFigmaSlider {
  overflow: hidden;
  padding-bottom: 8px;
}
.svcFigmaSlider .swiper-slide {
  height: auto;
}
.svc-slide-card {
  height: 100%;
  min-height: 360px;
  background: #fff;
  border: 1px solid #f3f3f3;
  border-radius: 10px;
  padding: 28px 26px 30px;
  display: flex;
  flex-direction: column;
  text-align: left;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.svc-slide-card.is-accent,
.svcFigmaSlider .swiper-slide-active .svc-slide-card {
  background: #e6fff8;
  border-color: transparent;
}
.svc-slide-card__icon {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: #e6fff8;
  color: #004b37;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  flex-shrink: 0;
  overflow: hidden;
}
.svc-slide-card.is-accent .svc-slide-card__icon,
.svcFigmaSlider .swiper-slide-active .svc-slide-card__icon {
  background: #fff;
}
.svc-slide-card__icon img {
  width: 72%;
  height: 72%;
  object-fit: contain;
  display: block;
}
.svc-slide-card__icon svg {
  width: 30px;
  height: 30px;
  display: block;
}
.svc-slide-card h3 {
  margin: 0 0 10px;
  color: #000;
  font-size: 28px;
  line-height: 1.15;
  font-weight: 400 !important;
  letter-spacing: 0.03em;
}
.svc-slide-card__tag {
  margin: 0 0 14px;
  color: #000;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700 !important;
  font-family: "Nunito", sans-serif !important;
}
.svc-slide-card__desc {
  margin: 0;
  color: #515151;
  font-size: 13px;
  line-height: 1.5;
  font-family: "Nunito", sans-serif !important;
  font-weight: 400 !important;
}
.svc-figma__pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
}
.svc-figma__pager .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin: 0 !important;
  opacity: 1;
  background: #cfd8d4;
  transition: transform 0.2s ease, background 0.2s ease;
}
.svc-figma__pager .swiper-pagination-bullet-active {
  background: #008461;
  transform: scale(1.15);
}
.services-mosaic-sec h2 {
  color: #fff;
  margin-bottom: 40px;
}
.services-mosaic-sec h2 span {
  display: block;
  margin-top: 10px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.75);
}
.services-mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  text-align: left;
  margin-bottom: 40px;
}
.svc-tile {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
  border-radius: 5px;
}
.svc-tile.svc-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px 24px 22px;
  color: #111;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.svc-tile.svc-text::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(236, 247, 242, 0.88);
  z-index: 0;
}
.svc-tile.svc-text > * {
  position: relative;
  z-index: 1;
}
.svc-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  z-index: 2;
}
.svc-icon {
  width: 44px;
  height: 44px;
  color: #004b37;
  flex-shrink: 0;
}
.svc-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.svc-num {
  position: static;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: #111;
  text-align: right;
  min-width: 36px;
}
.svc-num::after {
  content: "";
  display: block;
  width: 28px;
  height: 3px;
  background: #111;
  margin-top: 8px;
  margin-left: auto;
}
.svc-tile.svc-text p {
  margin: 0;
  max-width: 100%;
  font-size: 17px;
  line-height: 1.5;
  color: #111;
  font-style: italic;
  flex: 1;
  display: flex;
  align-items: center;
  padding: 12px 0 16px;
}
.svc-tile.svc-text h3 {
  margin: 0;
  padding-right: 36px;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #111;
  min-height: 46px;
  display: flex;
  align-items: flex-end;
}
.svc-dot {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 28px;
  height: 28px;
  background: #008461;
  z-index: 2;
  border-radius: 5px 0 5px 0;
}
.svc-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.services-mosaic-sec .btn-block a.btn {
  margin: 6px;
}

@media (min-width: 1200px) {
  .svc-tile.svc-text {
    padding: 32px 30px 28px;
  }
  .svc-icon {
    width: 56px;
    height: 56px;
  }
  .svc-num {
    font-size: 28px;
  }
  .svc-num::after {
    width: 36px;
    height: 4px;
    margin-top: 10px;
  }
  .svc-tile.svc-text p {
    font-size: 20px;
    line-height: 1.5;
    padding: 18px 0 22px;
  }
  .svc-tile.svc-text h3 {
    font-size: 24px;
    min-height: 58px;
  }
}

@media (min-width: 1400px) {
  .svc-tile.svc-text {
    padding: 36px 34px 32px;
  }
  .svc-icon {
    width: 64px;
    height: 64px;
  }
  .svc-num {
    font-size: 32px;
  }
  .svc-tile.svc-text p {
    font-size: 22px;
  }
  .svc-tile.svc-text h3 {
    font-size: 26px;
    min-height: 64px;
  }
}

@media (max-width: 991px) {
  .services-mosaic {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .services-mosaic {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .svc-tile.svc-text {
    padding: 16px 14px 14px;
  }
  .svc-icon {
    width: 32px;
    height: 32px;
  }
  .svc-tile.svc-text p {
    font-size: 13px;
    padding: 8px 0 10px;
  }
  .svc-tile.svc-text h3 {
    font-size: 14px;
    min-height: 36px;
  }
  .svc-num {
    font-size: 16px;
  }
}

:root {
  --btn-grad: linear-gradient(90deg, #00a878 0%, #008461 50%, #004b37 100%);
}

.btn,
.btn-blue,
.btn-white,
.btn-black,
.btn-yellow,
.desktop-header header ul li a.btn,
header .btn,
.popup-content input.btn,
input[type="submit"].btn,
footer input.btn-yellow {
  background: var(--btn-grad) !important;
  background-image: var(--btn-grad) !important;
  border-color: transparent !important;
  color: #fff !important;
}

.btn::before,
.btn::after,
header .btn::before,
header .btn::after {
  background: var(--btn-grad) !important;
}

header .btn:hover,
.popup-content input.btn:hover,
.btn:hover {
  background: var(--btn-grad) !important;
  color: #fff !important;
}

.about-banner h3 {
  font-size: 42px !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0.02em;
  margin-bottom: 14px !important;
  color: #111;
}
.about-banner > .container > .row > [class*="col-"] > h6:first-of-type {
  font-size: 20px;
  font-weight: 600;
  color: #2c2f39;
  margin-bottom: 14px;
}

.btns_wrap .chat_wrap,
.btns_wrap .call_wrap {
  border-radius: 5px 0 0 5px !important;
}
.btns_wrap .call_wrap span.icoo,
.btns_wrap .chat_wrap span.icoo {
  background: var(--btn-grad) !important;
  border-right: 0 !important;
  border-radius: 5px 0 0 5px !important;
}

.floatbutton .clickbutton {
  background: linear-gradient(180deg, #00a878 0%, #008461 50%, #004b37 100%) !important;
  color: #fff !important;
  border-radius: 5px 0 0 5px !important;
}

/* Labor Day promo popup */
.ad-pop {
  --ad-navy: #008461;
  --ad-teal: #004b37;
  --ad-mint: #b8e8d8;
  --ad-gold: #f5d76e;
  --ad-green: #008461;
  --ad-green-light: #00a878;
  --ad-green-dark: #004b37;
  position: relative;
  width: 100%;
  max-width: 1040px;
  max-height: 94vh;
  margin: 0 auto;
  border-radius: 18px;
  overflow: visible;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  background: #fff;
  font-family: "Nunito", sans-serif;
}
.ad-pop *,
.ad-pop p,
.ad-pop strong,
.ad-pop span,
.ad-pop input,
.ad-pop textarea,
.ad-pop button {
  font-family: "Nunito", sans-serif !important;
}
.ad-pop h2,
.ad-pop h3,
.ad-pop__headline {
  font-family: var(--font-heading) !important;
}
.ad-pop__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 18px;
  overflow: hidden;
  min-height: 580px;
  max-height: 94vh;
}
.ad-pop__left {
  position: relative;
  background:
    linear-gradient(135deg, #0a3d3a 0%, #0f4f4a 55%, #082830 100%);
  color: #fff !important;
  padding: 28px 26px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}
.ad-pop__left::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 14px,
      rgba(255, 255, 255, 0.04) 14px,
      rgba(255, 255, 255, 0.04) 15px
    );
  pointer-events: none;
}
.ad-pop__left::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 10%;
  bottom: 10%;
  width: 90px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath fill='none' stroke='rgba(255,255,255,0.18)' stroke-width='1' d='M20 2 L38 20 L20 38 L2 20 Z'/%3E%3C/svg%3E");
  background-size: 36px 36px;
  opacity: 0.9;
  pointer-events: none;
}
.ad-pop__badge {
  display: inline-block;
  background: var(--ad-mint);
  color: #0a2e2c !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.ad-pop__offer-title {
  font-size: 36px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0 0 6px !important;
  color: #fff !important;
  position: relative;
  z-index: 1;
}
.ad-pop__offer-date {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 14px !important;
  color: #ffffff !important;
  opacity: 1 !important;
  position: relative;
  z-index: 1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.ad-pop__books {
  position: relative;
  width: 300px;
  height: 260px;
  margin: 6px auto 12px;
  z-index: 1;
  flex: 1;
  min-height: 240px;
  background: transparent !important;
  box-shadow: none !important;
}
.ad-pop__book {
  position: absolute;
  width: 140px;
  height: 205px;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none !important;
  background: transparent !important;
  filter: none;
}
.ad-pop__book--1 {
  left: 10px;
  top: 28px;
  transform: rotate(-12deg);
  z-index: 1;
}
.ad-pop__book--2 {
  left: 80px;
  top: 4px;
  width: 155px;
  height: 225px;
  transform: rotate(0deg);
  z-index: 3;
}
.ad-pop__book--3 {
  right: 10px;
  top: 32px;
  transform: rotate(11deg);
  z-index: 2;
}
.ad-pop__save {
  position: absolute;
  left: 50%;
  bottom: 4px;
  transform: translateX(-50%);
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #00a878, var(--ad-navy) 70%);
  border: 3px solid rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 5;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  line-height: 1.05;
  color: #fff !important;
}
.ad-pop__save span,
.ad-pop__save strong {
  color: #fff !important;
}
.ad-pop__save span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ad-pop__save strong {
  font-size: 22px;
  font-weight: 800;
}
.ad-pop__packages {
  margin: 10px 0 0;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
  position: relative;
  z-index: 1;
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.ad-pop__packages i {
  flex: 1;
  max-width: 60px;
  border-top: 1px dashed rgba(255, 255, 255, 0.7);
  height: 0;
}
.ad-pop__right {
  background: #fff;
  padding: 28px 32px 24px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ad-pop__eyebrow {
  color: #008461 !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 6px !important;
}
.ad-pop__headline {
  font-size: 26px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: var(--ad-navy) !important;
  margin: 0 0 10px !important;
}
.ad-pop__copy {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #4a5160 !important;
  margin: 0 0 12px !important;
}
.ad-pop__copy em {
  font-style: normal;
  background: var(--ad-navy);
  color: #fff !important;
  padding: 1px 5px;
  border-radius: 3px;
  font-weight: 700;
}
.ad-pop__timer {
  background: var(--ad-navy);
  border-radius: 12px;
  padding: 12px 14px 14px;
  margin-bottom: 12px;
  text-align: center;
}
.ad-pop__timer-label {
  color: var(--ad-gold) !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 8px !important;
}
.ad-pop__countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.ad-pop__countdown > i {
  color: #fff !important;
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  margin-top: -12px;
}
.ad-pop__unit {
  background: #fff;
  border-radius: 8px;
  min-width: 58px;
  padding: 8px 6px 6px;
  box-shadow: inset 0 -16px 0 rgba(245, 215, 110, 0.35);
}
.ad-pop__unit strong {
  display: block;
  font-size: 22px;
  line-height: 1;
  color: #111 !important;
  font-weight: 800;
}
.ad-pop__unit span {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7a8190 !important;
}
.ad-pop__form .form-control,
.ad-pop__form input.form-control,
.ad-pop__form textarea.form-control {
  width: 100%;
  height: 44px;
  border: 1px solid #d7dbe3;
  border-radius: 8px;
  background: #fff;
  color: #222 !important;
  font-size: 14px;
  padding: 10px 12px;
  margin: 0 0 10px;
  box-shadow: none;
}
.ad-pop__form textarea.form-control {
  height: 72px;
  resize: none;
}
.ad-pop__form .form-control::placeholder {
  color: #9aa0ab;
}
.ad-pop__form .form-control:focus {
  border-color: #008461;
  outline: 0;
  box-shadow: none;
}
.ad-pop__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ad-pop__submit {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: var(--ad-navy);
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 14px 16px;
  margin-top: 2px;
  cursor: pointer;
  transition: 0.2s ease;
}
.ad-pop__submit:hover {
  background: #004b37;
  color: #fff !important;
}
.ad-pop--auto {
  max-width: 1040px;
}
.popupform#popupform,
#popupform.popupform,
.fancybox-content.popupform,
.fancybox-content#popupform {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  max-width: 1040px !important;
  max-height: 94vh !important;
  overflow: visible !important;
}
#popupform .foot-form::after {
  display: none !important;
}
.fancybox-slide--html {
  overflow: visible !important;
}
.fancybox-slide--html .fancybox-content {
  max-width: 1040px;
  max-height: 94vh;
  overflow: visible !important;
}

@media (max-width: 991px) {
  .ad-pop {
    max-height: none;
  }
  .ad-pop__grid {
    grid-template-columns: 1fr;
    max-height: none;
    overflow-y: auto;
  }
  .ad-pop__left {
    padding: 18px 16px 14px;
  }
  .ad-pop__offer-title {
    font-size: 24px !important;
  }
  .ad-pop__books {
    height: 200px;
    width: 240px;
    min-height: 180px;
    flex: none;
  }
  .ad-pop__book {
    width: 110px;
    height: 160px;
  }
  .ad-pop__book--2 {
    width: 124px;
    height: 180px;
    left: 58px;
  }
  .ad-pop__right {
    padding: 16px;
  }
  .ad-pop__headline {
    font-size: 18px !important;
  }
  .ad-pop__unit {
    min-width: 46px;
  }
}

@media (max-width: 575px) {
  .ad-pop__row {
    grid-template-columns: 1fr;
  }
  .ad-pop__countdown {
    gap: 4px;
  }
  .ad-pop__unit {
    min-width: 42px;
    padding: 5px 3px 4px;
  }
  .ad-pop__unit strong {
    font-size: 16px;
  }
  .ad-pop__submit {
    font-size: 11px;
    padding: 11px 8px;
  }
  .fancybox-slide--html .fancybox-close-small {
    top: 6px;
    right: 6px;
  }
}

/* ===== Children Book Illustration page ===== */
.cbi-page {
  --cbi-green: #008461;
  --cbi-green-dark: #004b37;
  --cbi-mint: #e8f6f1;
  --cbi-ink: #1c2421;
  --cbi-muted: #5f6b66;
  --cbi-paper: #f7fbf9;
  background: #fff;
}
.cbi-page h1,
.cbi-page h2,
.cbi-page h3,
.cbi-page .cbi-label,
.cbi-page .cbi-eyebrow {
  font-family: var(--font-heading) !important;
}
.cbi-hero {
  position: relative;
}
.cbi-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 75, 55, 0.72) 0%, rgba(0, 132, 97, 0.55) 100%);
  z-index: 0;
}
.cbi-hero .container {
  position: relative;
  z-index: 1;
}
.cbi-hero-inner {
  padding: 28px 0 12px;
  max-width: 760px;
  margin: 0 auto;
}
.cbi-eyebrow,
.cbi-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7dffc9;
  margin-bottom: 12px;
}
.cbi-label {
  color: var(--cbi-green);
  background: var(--cbi-mint);
  padding: 6px 12px;
  border-radius: 999px;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
}
.cbi-hero-inner h1 {
  color: #fff;
  font-size: 48px;
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 12px;
  letter-spacing: 0.02em;
}
.cbi-hero-sub {
  color: #dff8ee;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 14px;
  font-family: "Nunito", sans-serif;
}
.cbi-hero-copy {
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 auto 24px;
  max-width: 620px;
}
.cbi-intro,
.cbi-fantasy,
.cbi-offer,
.cbi-portfolio,
.cbi-stats {
  padding: 70px 0;
}
.cbi-intro {
  background:
    radial-gradient(circle at top left, rgba(0, 168, 120, 0.08), transparent 40%),
    linear-gradient(180deg, #fff 0%, var(--cbi-paper) 100%);
}
.cbi-fantasy {
  background: #fff;
}
.cbi-offer {
  background:
    radial-gradient(circle at bottom right, rgba(0, 132, 97, 0.08), transparent 42%),
    var(--cbi-paper);
}
.cbi-portfolio {
  background: #fff;
  overflow: hidden;
}
.cbi-copy {
  text-align: left;
}
.cbi-copy h2,
.cbi-section-head h2 {
  color: var(--cbi-ink);
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  line-height: 1.25;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}
.cbi-copy p,
.cbi-section-head p,
.cbi-offer-body p {
  color: var(--cbi-muted);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 14px;
}
.cbi-section-head {
  max-width: 640px;
  margin: 0 auto 28px;
}
.cbi-section-head p {
  margin-bottom: 0;
}
.cbi-swiper-wrap {
  background: #fff;
  border: 1px solid #dceae4;
  border-radius: 22px;
  padding: 18px 10px 28px;
  box-shadow: 0 18px 40px rgba(0, 75, 55, 0.08);
}
.cbiSwiper {
  width: 100%;
  padding: 10px 0 40px;
  overflow: hidden;
}
.cbiSwiper .swiper-slide {
  height: 280px;
  border-radius: 16px;
  overflow: hidden;
  background: #eef6f2;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}
.cbiSwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cbi-pagination .swiper-pagination-bullet {
  background: #9fcfbf;
  opacity: 1;
}
.cbi-pagination .swiper-pagination-bullet-active {
  background: var(--cbi-green);
  width: 22px;
  border-radius: 10px;
}
.cbi-video-card {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #dceae4;
  box-shadow: 0 18px 40px rgba(0, 75, 55, 0.1);
  background: #111;
}
.cbi-video-card video {
  width: 100%;
  height: auto;
  display: block;
}
.cbi-offer-card {
  height: 100%;
  background: #fff;
  border: 1px solid #dceae4;
  border-radius: 18px;
  overflow: hidden;
  text-align: left;
  box-shadow: 0 10px 28px rgba(0, 75, 55, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.cbi-offer-card:hover {
  transform: translateY(-6px);
  border-color: var(--cbi-green);
  box-shadow: 0 18px 36px rgba(0, 75, 55, 0.12);
}
.cbi-offer-media {
  height: 190px;
  background: #eef6f2;
  overflow: hidden;
}
.cbi-offer-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.cbi-offer-card:hover .cbi-offer-media img {
  transform: scale(1.05);
}
.cbi-offer-body {
  padding: 20px 18px 22px;
}
.cbi-offer-body h3 {
  font-size: 20px;
  font-weight: 800;
  color: var(--cbi-ink);
  margin: 0 0 10px;
  line-height: 1.3;
}
.cbi-portfolio .swiper {
  padding: 8px 24px 10px;
}
.cbi-port-card {
  background: #fff;
  border: 1px solid #dceae4;
  border-radius: 16px;
  padding: 10px;
  height: 280px;
  box-shadow: 0 10px 24px rgba(0, 75, 55, 0.06);
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.cbi-port-card:hover {
  transform: translateY(-4px);
  border-color: var(--cbi-green);
}
.cbi-port-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 10px;
  background: #f3f8f6;
}
.cbi-stats {
  background:
    linear-gradient(135deg, #004b37 0%, #008461 55%, #00a878 100%);
  padding: 54px 0;
}
.cbi-stat h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.01em;
}
.cbi-stat p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
  font-weight: 600;
}
.cbi-page .btn-block {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.cbi-hero .btn-block {
  justify-content: center;
}
@media (max-width: 991px) {
  .cbi-hero-inner h1 {
    font-size: 36px;
  }
  .cbi-copy h2,
  .cbi-section-head h2 {
    font-size: 28px;
  }
  .cbi-intro,
  .cbi-fantasy,
  .cbi-offer,
  .cbi-portfolio {
    padding: 48px 0;
  }
  .cbi-copy {
    text-align: center;
  }
  .cbi-copy .btn-block {
    justify-content: center;
  }
  .cbi-stat h3 {
    font-size: 42px;
  }
}
@media (max-width: 575px) {
  .cbi-hero-inner h1 {
    font-size: 30px;
  }
  .cbi-hero-sub {
    font-size: 17px;
  }
  .cbiSwiper .swiper-slide {
    height: 240px;
  }
  .cbi-offer-media {
    height: 160px;
  }
  .cbi-port-card {
    height: 240px;
  }
}

/* Article Writing — rejection accordion */
.awp-reject {
  padding: 70px 0 80px;
  background-color: #e6fff8;
  background-image: url("../images/awp-reject-bg.png");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
.awp-reject-head {
  max-width: 640px;
  margin: 0 auto 36px;
}
.awp-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #008461;
  background: #e8f6f1;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.awp-reject-head h2 {
  font-size: 36px;
  font-weight: 400 !important;
  font-synthesis: none;
  color: #1c2421;
  letter-spacing: 0.02em;
  margin: 0 0 12px;
  line-height: 1.25;
}
.awp-reject-head p {
  margin: 0;
  color: #5f6b66;
  font-size: 15px;
  line-height: 1.7;
}
.awp-reject-card {
  max-width: 920px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #dceae4;
  border-radius: 18px;
  box-shadow: 0 14px 36px rgba(0, 75, 55, 0.08);
  overflow: hidden;
}
.awp-reject-cols {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 12px;
  padding: 18px 24px;
  background: #e8f6f1;
  border-bottom: 1px solid #dceae4;
}
.awp-reject-cols span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #008461;
}
.awp-reject-cols span:last-child {
  text-align: right;
}
.awp-accordion .accordion-item {
  border: 0;
  border-bottom: 1px solid #e4ebe8;
  background: transparent;
}
.awp-accordion .accordion-item:last-child {
  border-bottom: 0;
}
.awp-accordion .accordion-button {
  background: #fff;
  box-shadow: none !important;
  padding: 18px 24px 18px 56px;
  font-family: "Nunito", sans-serif;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  position: relative;
}
.awp-accordion .accordion-button:not(.collapsed) {
  background: #f7fbf9;
  color: inherit;
}
.awp-accordion .accordion-button::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}
.awp-accordion .accordion-button::before {
  content: "+";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid #c5ddd4;
  background: #e8f6f1;
  color: #008461;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.awp-accordion .accordion-button:not(.collapsed)::before {
  content: "−";
  background: #008461;
  border-color: #008461;
  color: #fff;
  line-height: 22px;
}
.awp-reason {
  flex: 1.4;
  text-align: left;
  font-size: 15px;
  font-weight: 700;
  color: #1c2421;
  line-height: 1.4;
  padding-right: 8px;
}
.awp-solution {
  flex: 1;
  text-align: right;
  font-size: 14px;
  font-weight: 700;
  color: #008461;
  line-height: 1.4;
}
.awp-accordion .accordion-body {
  padding: 0 24px 18px 56px;
  color: #5f6b66;
  font-size: 14px;
  line-height: 1.7;
  background: #f7fbf9;
}
@media (max-width: 767px) {
  .awp-reject-head h2 {
    font-size: 26px;
  }
  .awp-reject-cols {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .awp-reject-cols span:last-child,
  .awp-solution {
    text-align: left;
  }
  .awp-accordion .accordion-button {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px 16px 52px;
    gap: 6px;
  }
  .awp-accordion .accordion-button::before {
    left: 14px;
  }
  .awp-reason,
  .awp-solution {
    flex: none;
    width: 100%;
  }
  .awp-accordion .accordion-body {
    padding: 0 16px 16px 52px;
  }
}

/* Zoho SalesIQ — match brand green where parent DOM allows */
#zsiq_float,
.zsiq_float,
.zsiq-float,
.zsiqbtn,
#zsiqbtn,
.siqanim,
.zsiq_custommain,
.zsiq_flt_rel {
  font-family: "Nunito", sans-serif !important;
}
#zsiq_float .zsiq-themes,
.zsiq_theme1,
.zsiq_theme,
div[class*="zsiq"][style*="background"] {
  --siq-brand: #008461;
}
.zsiq_flt_rel .zsiq_cnt,
.zsiq-float > div,
.siq_bIcon,
.zsiqbtn {
  background-color: #008461 !important;
  background-image: none !important;
  border-color: #008461 !important;
}
.zsiq_flt_rel .zsiq_cnt *,
.zsiqbtn * {
  font-family: "Nunito", sans-serif !important;
}
