/* =========================================================
   SECTIONS.CSS - UNIFICADO Y OPTIMIZADO
   Incluye: Service, Feature, Price, About, Brand
   ========================================================= */

/* ==========================================
   1. SERVICE SECTION
   ========================================== */
.tp-service__title-shape { position: absolute; top: 25px; right: 3px; }
.tp-service__title-shape svg,
.tp-service-2__title-shape svg,
.tp-price-2__title-shape svg,
.tp-about-2__title-shape svg {
  animation: section-animation 4s infinite;
}
.tp-service__bg { background-size: cover; }
.tp-service__section-wrapper { margin-bottom: 45px; }

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-service__title-box { margin-bottom: 20px; }
}

.tp-service__right-box p {
  margin-bottom: 0; padding-left: 20px; margin-left: 25px; position: relative;
}
.tp-service__right-box p::after {
  position: absolute; top: 8px; left: 0; width: 2px; height: 42px;
  background-color: var(--tp-theme-2); content: "";
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), 
       only screen and (min-width: 768px) and (max-width: 991px), 
       (max-width: 767px) {
  .tp-service__right-box p { margin-left: 0px; padding-left: 0; }
  .tp-service__right-box p::after { display: none; }
}

.tp-service__box-shape span {
  position: absolute; bottom: 0; left: 0; width: 12px; height: 12px;
  background-color: var(--tp-theme-2); display: inline-block;
  opacity: 0; visibility: hidden; transition: 0.3s;
}
.tp-service__item {
  text-align: center; padding: 40px 20px; background-color: var(--tp-common-white);
  border: 1px solid var(--tp-border-2); position: relative; overflow: hidden; transition: 0.3s;
}
.tp-service__item:hover { background-color: var(--tp-theme-1); }
.tp-service__item:hover .tp-service__title-sm { color: var(--tp-common-white); }
.tp-service__item:hover .tp-service__link { bottom: -22px; opacity: 1; visibility: visible; }
.tp-service__item:hover .tp-service__box-shape span { opacity: 1; visibility: visible; }

.tp-service__icon { margin-bottom: 17px; }
.tp-service__icon span {
  height: 30px; width: 30px; background-color: rgba(255, 255, 255, 0.4);
  display: inline-block; border-radius: 50%; position: absolute; top: 5%; right: 27%;
}
.tp-service__title-sm {
  font-weight: 600; font-size: 20px; line-height: 1; text-transform: capitalize;
  color: var(--tp-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-service__title-sm { font-size: 17px; }
}
.tp-service__link {
  position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%);
  opacity: 0; visibility: hidden; transition: 0.3s;
}
.tp-service__link a {
  height: 48px; width: 48px; line-height: 28px; border-radius: 50%;
  text-align: center; display: inline-block; background-color: var(--tp-common-white);
}
.tp-service__link a span svg { margin-left: 2px; }

.tp-service__badge-wrap {
  background: #FFFFFF; border: 1px solid #E4EDFF; border-radius: 60.5px;
  padding: 40px; display: inline-block; position: absolute; right: 370px; top: -70px;
}
.tp-service__badge-wrap span {
  font-weight: 500; font-size: 18px; line-height: 26px; text-transform: capitalize;
  color: #000000; display: inline-block;
}
.tp-service__badge-wrap span.frist-child { margin-right: 20px; }
@media only screen and (min-width: 1400px) and (max-width: 1599px) { .tp-service__badge-wrap { right: 230px; } }
@media only screen and (min-width: 1200px) and (max-width: 1399px) { .tp-service__badge-wrap { right: 220px; } }
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-service__badge-wrap { right: 70px; } }
@media only screen and (min-width: 768px) and (max-width: 991px) { .tp-service__badge-wrap { right: 50px; } }
@media only screen and (min-width: 576px) and (max-width: 767px) { .tp-service__badge-wrap { right: 0px; } }

.tp-service__bottom-text span {
  font-weight: 500; font-size: 15px; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--tp-common-black);
}
.tp-service__bottom-text span a {
  color: var(--tp-theme-1); margin-right: 20px; position: relative;
}
.tp-service__bottom-text span a::after {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 1px;
  background-color: var(--tp-theme-2); content: "";
}
.tp-service__bottom-text span em {
  height: 20px; width: 20px; line-height: 20px; text-align: center;
  display: inline-block; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.06);
  font-size: 11px; color: var(--tp-theme-2); background-color: var(--tp-common-white);
  border-radius: 50%; font-style: normal;
}
.tp-service__bottom-text span em i { margin-left: 3px; }

/* Service 2 & 3 */
.tp-service-2__title-wrap { display: inline-block; }
.tp-service-2__item {
  border: 1px solid rgba(221, 221, 221, 0.4); padding: 100px 35px 65px 35px;
  overflow: hidden; background-color: var(--tp-common-white); position: relative; z-index: 1;
}
.tp-service-2__item:hover .tp-service-2__icon img { transform: rotateY(360deg); }
.tp-service-2__icon { margin-bottom: 45px; }
.tp-service-2__icon img { height: 90px; transition: 0.5s; }
.tp-service-2__title { font-weight: 700; font-size: 24px; color: var(--tp-common-black); margin-bottom: 25px; }
.tp-service-2__title:hover { color: var(--tp-theme-1); }
.tp-service-2__content p { font-weight: 400; font-size: 16px; line-height: 30px; color: #6D7680; padding-bottom: 10px; }
.tp-service-2__link {
  font-weight: 500; font-size: 20px; color: #000000; transition: 0.3s;
  position: relative; display: inline-block;
}
.tp-service-2__link::after {
  content: ""; position: absolute; top: 5px; right: -5px; height: 20px; width: 20px;
  border: 1px solid #BDC2C6; border-radius: 50%; z-index: -1;
}
.tp-service-2__link:hover { color: var(--tp-theme-1); }
.tp-service-2__link:hover span svg { margin-left: 10px; animation: tfLeftToRight 0.5s forwards; }
.tp-service-2__link span svg { margin-left: 10px; }
.tp-service-2__tag { position: absolute; top: 25px; right: 25px; }
.tp-service-2__tag span {
  height: 54px; width: 54px; line-height: 54px; box-shadow: 0px 0px 13px rgba(0, 0, 0, 0.09);
  background-color: var(--tp-common-white); border-radius: 50%; text-align: center;
  display: inline-block; font-weight: 700; font-size: 20px; color: var(--tp-theme-1);
}
.tp-service-2__circle-shape span {
  position: absolute; bottom: -35px; right: -35px; height: 70px; width: 70px;
  background-color: var(--tp-theme-1); display: inline-block; border-radius: 50%;
}
.tp-service-2__grey-bg-shape { position: absolute; bottom: 0; left: 0; width: 100%; height: 350px; }
.tp-service-2__shape-img { position: absolute; bottom: 110px; right: 80px; }
.tp-service-2__ptb { padding-top: 130px; padding-bottom: 310px; }
.tp-service-2__bottom-shape { position: absolute; bottom: 0; left: 0; width: 100%; }
.tp-service-2__bottom-shape img { background-color: var(--tp-common-white); width: 100%; }
@media only screen and (min-width: 1400px) and (max-width: 1599px) { .tp-service-2__bottom-shape { bottom: 90px; } }
@media only screen and (min-width: 1200px) and (max-width: 1399px) { .tp-service-2__bottom-shape { bottom: 120px; } }

.tp-service-3__item {
  border: 1px solid rgba(164, 164, 164, 0.1); box-shadow: 0px 4px 34px rgba(0, 0, 0, 0.06);
  padding: 50px 40px; position: relative;
}
.tp-service-3__item::after {
  position: absolute; content: ""; top: auto; left: 0; bottom: 0; height: 0; width: 100%;
  background-color: var(--tp-theme-1); z-index: -1; opacity: 0; visibility: hidden; transition: 0.3s;
}
.tp-service-3__item:hover::after { opacity: 1; visibility: visible; height: 100%; top: 0; left: 0; bottom: auto; }
.tp-service-3__item:hover .tp-service-3__icon svg { color: var(--tp-common-white); }
.tp-service-3__item:hover .tp-service-3__icon span { background: rgba(255, 255, 255, 0.1); }
.tp-service-3__item:hover .tp-service-3__title-sm { color: var(--tp-common-white); }
.tp-service-3__item:hover .tp-service-3__content p { color: var(--tp-common-white); }

.tp-service-3__item:hover .tp-service-3__shape { opacity: 1; visibility: visible; top: 0; right: 0; }
.tp-service-3__item:hover .tp-service-3__link a { color: var(--tp-common-white); }
.tp-service-3__item:hover .tp-service-3__link a i { color: var(--tp-theme-2); transform: rotate(0); }

.tp-service-3__icon { position: relative; display: inline-block; margin-bottom: 20px; }
.tp-service-3__icon svg { position: relative; z-index: 2; color: var(--tp-theme-1); transition: 0.3s; height: 40px; width: 40px; }
.tp-service-3__icon span {
  height: 45px; width: 45px; background: rgba(51, 110, 249, 0.1); border-radius: 50%;
  display: inline-block; position: absolute; top: -15px; right: -15px; transition: 0.3s;
}
.tp-service-3__title-sm {
  font-weight: 700; font-size: 20px; line-height: 30px; text-transform: capitalize;
  color: var(--tp-common-black); margin-bottom: 15px; transition: 0.3s;
}
.tp-service-3__content p { font-weight: 400; font-size: 16px; color: #000000; padding-bottom: 15px; }
.tp-service-3__link a {
  font-weight: 500; font-size: 18px; text-transform: capitalize;
  color: var(--tp-theme-1); transition: 0.3s;
}
.tp-service-3__link a i { transform: translateY(2px) rotate(-45deg); transition: 0.3s; }
.tp-service-3__shape { position: absolute; top: -20px; right: -20px; opacity: 0; visibility: hidden; transition: 0.3s; }

.tp-service-3__link-text span {
  font-weight: 500; font-size: 15px; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--tp-common-black);
}
.tp-service-3__link-text span a { color: var(--tp-theme-1); text-decoration: underline; }
.tp-service-3__link-text .arrow-right { margin-right: 30px; }
.tp-service-3__link-text .arrow-right svg,
.tp-service-3__link-text .arrow-left svg { transform: translateY(-2px); }
.tp-service-3__link-text .arrow-left { margin-left: 30px; }
@media only screen and (min-width: 768px) and (max-width: 991px) { .tp-service-3__link-text span { font-size: 12px; } }
@media (max-width: 767px) { .tp-service-3__link-text span { font-size: 14px; } }

/* Service Details & Widget */
.tp-service-breadcrumb-title { font-weight: 600; font-size: 20px; line-height: 30px; transition: none; }
.tp-service-details-wrapper p { font-weight: 400; font-size: 16px; line-height: 31px; color: #5A627D; margin-bottom: 42px; }
.tp-service-details-title { font-weight: 600; font-size: 28px; text-transform: capitalize; color: var(--tp-common-black); margin-bottom: 15px; }
.tp-service-details-thumb { margin-bottom: 40px; }
.tp-service-details-thumb img { width: 100%; }
.tp-service-details-list p { margin-bottom: 15px; }
.tp-service-details-list ul li { list-style: none; margin-bottom: 14px; }
.tp-service-details-list ul li span { color: var(--tp-theme-1); margin-right: 10px; }

.tp-service-widget { position: sticky; top: 150px; }
@media only screen and (min-width: 768px) and (max-width: 991px), 
       only screen and (min-width: 576px) and (max-width: 767px), 
       (max-width: 767px) {
  .tp-service-widget { position: inherit; }
}
.tp-service-widget-tab ul li { list-style: none; margin-bottom: 13px; }
.tp-service-widget-tab ul li .active { background-color: var(--tp-theme-1); color: var(--tp-common-white); }
.tp-service-widget-tab ul li .active i { background-color: var(--tp-theme-1); }
.tp-service-widget-tab ul li a {
  position: relative; font-weight: 600; font-size: 18px; line-height: 21px;
  color: #101C2A; background: #F8F8F8; display: inline-block; width: 100%;
  padding: 24px 20px; transition: 0.3s;
}
.tp-service-widget-tab ul li a:hover { background-color: var(--tp-theme-1); color: var(--tp-common-white); }
.tp-service-widget-tab ul li a i { position: absolute; top: 38%; right: 20px; transition: 0.3s; }

.tp-service-contact-form { background: #F8F8F8; padding: 80px 30px 65px; }
@media (max-width: 767px) { .tp-service-contact-form { padding: 60px 30px 50px; } }
.tp-service-contact-input { margin-bottom: 19px; }
.tp-service-contact-input input {
  width: 100%; height: 60px; border: 1px solid #EFEFF2; background-color: var(--tp-common-white);
  outline: 0; color: var(--tp-common-black); padding: 0 25px; border-radius: 2px;
}
.tp-service-contact-input input::placeholder {
  font-weight: 500; font-size: 14px; line-height: 10px; color: #000D44; opacity: 0.5;
}
.tp-service-contact-input input:focus { border: 1px solid var(--tp-theme-1); }
.tp-service-contact-input input:focus::placeholder { font-size: 0; }

.tp-service-contact-input textarea {
  height: 167px; border: 1px solid #EFEFF2; background-color: var(--tp-common-white);
  resize: none; line-height: 3.5; border-radius: 2px;
}
.tp-service-contact-input textarea::placeholder {
  font-weight: 500; font-size: 14px; color: #000D44; opacity: 0.5;
}
.tp-service-contact-input textarea:focus { border: 1px solid var(--tp-theme-1); }
.tp-service-contact-input textarea:focus::placeholder { font-size: 0; }

.tp-play-btn a {
  height: 80px; width: 80px; line-height: 80px; font-size: 20px;
  position: absolute; top: 50%; left: 50%; border-radius: 50%;
  background-color: var(--tp-common-white); color: var(--tp-theme-1);
  transform: translate(-50%, -50%); animation: pulse 2s infinite;
}

/* ==========================================
   2. FEATURE SECTION
   ========================================== */
.tp-feature__shape-1 {
  position: absolute; top: 55px; left: 55px;
  animation: animationglob 10s cubic-bezier(1, 0.99, 0.03, 0.01) infinite;
}
.tp-feature__shape-2 { position: absolute; top: 0px; right: 0px; }
.tp-feature__shape-3 {
  position: absolute; top: 23%; right: 5%;
  animation: tptranslateY2 2s forwards infinite alternate;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-feature__shape-3 { top: 12%; } }

.tp-feature__item { position: relative; }
.tp-feature__item::after {
  position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(180deg, rgba(4, 4, 4, 0) 0%, rgba(0, 0, 0, 0.43) 100%);
}
.tp-feature__item:hover .tp-feature__video-icon button,
.tp-feature__item:hover .tp-feature__video-icon a { opacity: 1; visibility: visible; }

.tp-feature__meta { position: absolute; top: 25px; right: 25px; }
.tp-feature__meta span { font-weight: 400; font-size: 18px; color: #FFFFFF; opacity: 0.96; margin-left: 15px; }
.tp-feature__meta span i { color: var(--tp-theme-1); margin-right: 8px; }

.tp-feature__content-wrap { position: absolute; bottom: 0; left: 0; width: 100%; padding: 30px; }
@media only screen and (min-width: 1400px) and (max-width: 1599px), 
       only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tp-feature__content-wrap { padding: 20px; }
}

.tp-feature__plr { padding-left: 215px; padding-right: 215px; }
@media only screen and (min-width: 1400px) and (max-width: 1599px) { .tp-feature__plr { padding-left: 85px; padding-right: 85px; } }
@media only screen and (min-width: 1200px) and (max-width: 1399px), 
       only screen and (min-width: 992px) and (max-width: 1199px), 
       only screen and (min-width: 768px) and (max-width: 991px), 
       (max-width: 767px) {
  .tp-feature__plr { padding-left: 0px; padding-right: 0px; }
}

.tp-feature__title-sm { font-weight: 700; font-size: 20px; text-transform: capitalize; color: var(--tp-common-white); }
.tp-feature__info span { font-weight: 500; font-size: 20px; text-transform: capitalize; color: var(--tp-theme-1); }
.tp-feature__icon a { font-weight: 400; font-size: 18px; text-transform: capitalize; color: var(--tp-theme-1); }

.tp-feature__video-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.tp-feature__video-icon a,
.tp-feature__video-icon button {
  height: 58px; width: 58px; line-height: 56px; text-align: center;
  background-color: var(--tp-theme-1); border-radius: 50%; display: inline-block;
  position: relative; opacity: 0; visibility: hidden; transition: 0.3s;
}
.tp-feature__video-icon a svg,
.tp-feature__video-icon button svg { color: var(--tp-common-white); margin-left: 5px; }

.tp-feature__video-icon a::after,
.tp-feature__video-icon button::after {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(255, 255, 255, 0.2); content: ""; transform: scale(1.2);
  border-radius: 50%; animation: pulse 2s infinite;
}

/* Bootstrap Ratio Utilities (Compactadas) */
.ratio { position: relative; width: 100%; }
.ratio::before { display: block; padding-top: var(--bs-aspect-ratio); content: ""; }
.ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ratio-1x1 { --bs-aspect-ratio: 100%; }
.ratio-4x3 { --bs-aspect-ratio: 75%; }
.ratio-16x9 { --bs-aspect-ratio: 56.25%; }
.ratio-21x9 { --bs-aspect-ratio: 42.8571428571%; }

/* ==========================================
   3. PRICE SECTION
   ========================================== */
.tp-price__title-box { margin-bottom: 70px; }
.tp-price__item {
  background: var(--tp-common-white); border: 1px solid #F1F1F9;
  border-radius: 4px; padding: 60px 0px 50px 0px; position: relative;
}
.tp-price__item.active { box-shadow: 0px 24px 28px rgba(64, 76, 106, 0.07); }

/* Agrupación de estados Hover y Active para ahorrar código */
.tp-price__item:hover .tp-price__head-icon,
.tp-price__item.active .tp-price__head-icon { background-color: var(--tp-theme-1); }

.tp-price__item:hover .tp-price__head-icon svg,
.tp-price__item.active .tp-price__head-icon span { color: var(--tp-common-white); }

.tp-price__item.active .tp-price__mpbs-bg { background-color: var(--tp-theme-1); }
.tp-price__item.active .tp-price__mpbs h4,
.tp-price__item.active .tp-price__mpbs h4 em,
.tp-price__item.active .tp-price__mpbs span { color: var(--tp-common-white); }

.tp-price__item.active .tp-price-btn { background-color: var(--tp-theme-1); color: var(--tp-common-white); }
.tp-price__item.active .tp-price-btn:hover { color: var(--tp-common-black); }

.tp-price__title { font-weight: 700; font-size: 24px; color: var(--tp-common-black); }
.tp-price__head { padding: 0px 30px; margin-bottom: 20px; }
.tp-price__head span { font-weight: 500; font-size: 15px; line-height: 26px; color: #595D6A; }
.tp-price__content-wrap { padding: 0px 30px; }

.tp-price__head-icon {
  height: 70px; width: 70px; line-height: 70px; border-radius: 50%; text-align: center;
  background-color: var(--tp-common-white); box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.09);
  position: absolute; top: 27px; right: 22px; transition: 0.3s;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), (max-width: 767px) {
  .tp-price__head-icon { height: 50px; width: 50px; line-height: 53px; }
}
@media only screen and (min-width: 992px) and (max-width:1199px) {
  .tp-price__head-icon span svg { width: 24px; height: 24px; }
}
.tp-price__head-icon span { color: var(--tp-theme-1); transition: 0.3s; }

.tp-price__mpbs-bg { background-color: var(--tp-grey-1); padding: 20px 20px 20px 10px; margin-bottom: 35px; }
.tp-price__mpbs h4 { font-weight: 800; font-size: 57px; color: var(--tp-theme-1); }
.tp-price__mpbs h4 em { font-weight: 500; font-size: 18px; color: var(--tp-common-black); font-style: normal; margin-left: 10px; }
.tp-price__mpbs span { font-weight: 700; font-size: 18px; color: #434554; }

.tp-price__feature { margin-bottom: 25px; }
.tp-price__feature ul li {
  list-style-type: none; font-weight: 400; font-size: 18px; line-height: 30px;
  color: #5E5F68; padding-bottom: 10px;
}
.tp-price__feature ul li:last-child { margin-bottom: 0; }

.tp-price__info-box { margin-bottom: 35px; }
.tp-price__info-box h4 { margin-bottom: 30px; display: inline-block; position: relative; }
.tp-price__info-box h4 span { position: absolute; bottom: -11px; display: block; }
.tp-price__info-box span { display: block; font-weight: 400; font-size: 16px; color: #495362; }
.tp-price__info-box span em { color: var(--tp-theme-1); font-style: normal; }

/* Price 2 */
.tp-price-2__pb { padding-bottom: 260px; }
.tp-price-2__title-wrap { display: inline-block; }
.tp-price-2__content-box { margin-right: 45px; }
.tp-price-2__content span { font-weight: 400; font-size: 16px; color: #495362; }
.tp-price-2__content span em { color: var(--tp-theme-1); font-style: normal; }
.tp-price-2__title-sm { font-weight: 700; font-size: 36px; text-transform: capitalize; color: var(--tp-common-black); }

.tp-price-2__icon-box { border: 1px solid #E9EDF3; border-radius: 50px; padding: 20px; }
.tp-price-2__icon-box span {
  height: 60px; width: 60px; line-height: 60px; text-align: center;
  background-color: var(--tp-common-white); box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.06);
  border-radius: 50%; display: inline-block; color: var(--tp-theme-1); transition: 0.3s;
}
.tp-price-2__icon-box span:hover { background-color: var(--tp-theme-1); color: var(--tp-common-white); }

.tp-price-2__price-wrap { background-color: var(--tp-common-white); padding: 60px 35px 60px 60px; }
.tp-price-2__price-wrap.active { background-color: var(--tp-theme-1); }
.tp-price-2__price-wrap.active .tp-price-2__content span { color: var(--tp-common-white); }
.tp-price-2__price-wrap.active .tp-price-2__content span em { color: var(--tp-theme-2); }
.tp-price-2__price-wrap.active .tp-price-2__title-sm { color: var(--tp-common-white); }
.tp-price-2__price-wrap.active .tp-price-2__feature-list ul li { color: var(--tp-common-white); }
.tp-price-2__price-wrap.active .tp-price-2__btn-box span { color: var(--tp-common-white); }
.tp-price-2__price-wrap.active .tp-price-2__btn-box .tp-btn-border-md { border: 1px solid rgba(255, 255, 255, 0.15); color: var(--tp-common-white); }
.tp-price-2__price-wrap.active .tp-price-2__btn-box .tp-btn-border-md:hover { color: var(--tp-common-black); }
.tp-price-2__price-wrap.active .tp-price-2__icon-box span { background-color: var(--tp-common-white); color: var(--tp-theme-1); }

.tp-price-2__feature-list { flex: 0 0 auto; margin-right: 45px; }
.tp-price-2__feature-list ul li {
  position: relative; padding-left: 30px; list-style-type: none; font-weight: 400;
  font-size: 18px; color: #445769; margin-bottom: 7px;
}
.tp-price-2__feature-list ul li:last-child { margin-bottom: 0; }
.tp-price-2__feature-list ul li span { position: absolute; top: -3px; left: 0; }

.tp-price-2__btn-box span { display: block; color: var(--tp-common-black); font-family: var(--tp-ff-mulish); margin-bottom: 20px; }
.tp-price-2__btn-box span em { font-weight: 700; font-size: 50px; font-style: normal; }
.tp-price-2__btn-box span i { font-weight: 700; font-size: 25px; font-style: normal; }

/* Responsive Price 2 */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-price-2__content-box { margin-bottom: 50px; justify-content: space-around; }
  .tp-price-2__feature-wrap { justify-content: space-between; }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-price-2__content-box, .tp-price-2__feature-wrap {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px;
  }
}
@media (max-width: 767px) {
  .tp-price-2__price-wrap { padding: 30px; }
  .tp-price-2__icon-box { margin-bottom: 30px; }
  .tp-price-2__content { margin-bottom: 30px; }
  .tp-price-2__feature-list { margin-right: 0; margin-bottom: 30px; flex: inherit; }
  .tp-price-2__feature-list ul li { font-size: 14px; }
  .tp-price-2__content-box, .tp-price-2__feature-wrap { flex-wrap: wrap; }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .tp-price-2__content-box, .tp-price-2__feature-wrap { display: flex; justify-content: space-between; align-items: center; }
}

/* ==========================================
   4. ABOUT SECTION
   ========================================== */
.tp-about__left-big-1 { position: absolute; top: 10%; left: 0; z-index: -1; }
.tp-about__right-top-shape { position: absolute; top: 0%; right: 0; z-index: -1; }
.tp-about__right-bottom-shape { position: absolute; bottom: -15%; right: 0; }
.tp-about__img-1 { position: absolute; top: 0; left: 0; }
.tp-about__img-2 { padding-top: 120px; padding-right: 50px; }
@media (max-width: 767px) {
  .tp-about__img-wrapper { margin-left: 100px; margin-bottom: 70px; }
  .tp-about__img-2 { padding-top: 0; padding-right: 0; margin-bottom: 40px; }
  .tp-about__feature-box { flex-wrap: wrap; }
}

.tp-about__shape-1 {
  position: absolute; top: 35px; right: 120px;
  animation: animationglob 10s cubic-bezier(1, 0.99, 0.03, 0.01) infinite;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-about__shape-1 { right: 40px; } }

.tp-about__shape-2 { position: absolute; top: 30px; left: 30px; z-index: 9; }
.tp-about__shape-2::after {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  border: 1px dashed rgba(255, 255, 255, 0.6); content: ""; border-radius: 50%; transform: scale(1.2);
}
.tp-about__shape-3 {
  position: absolute; bottom: 40px; left: 75px; z-index: 9;
  animation: tptranslateY2 2s forwards infinite alternate;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-about__shape-3 { left: 0; } }

.tp-about__shape-4 {
  position: absolute; top: 120px; left: -20px; z-index: 9;
  animation: tpupdown 0.8s infinite alternate;
}

.tp-about__right-wrapper { padding-left: 23px; }
@media only screen and (min-width: 992px) and (max-width: 1199px), (max-width: 767px) {
  .tp-about__right-wrapper { padding-left: 0; }
}

.tp-about__feature-icon {
  background: var(--tp-theme-1); border-radius: 5px 13px 5px 5px;
  display: inline-block; width: 40px; height: 40px; line-height: 38px;
  text-align: center; margin-right: 12px;
}
.tp-about__feature-icon.yellow-bg-color { background-color: var(--tp-theme-2); }
.tp-about__feature-text { font-weight: 500; font-size: 16px; line-height: 54px; color: var(--tp-common-black); }

.tp-about__feature-list { margin-right: 45px; }
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-about__feature-list { margin-right: 20px; } }
@media (max-width: 767px) { .tp-about__feature-list { margin-right: 0px; margin-bottom: 60px; } }
@media only screen and (min-width: 576px) and (max-width: 767px) { .tp-about__feature-list { margin-right: 30px; margin-bottom: 0px; } }

.tp-about__feature-list ul li {
  font-weight: 400; font-size: 15px; line-height: 20px; color: #464859;
  list-style-type: none; position: relative; padding-left: 30px; margin-bottom: 15px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-about__feature-list ul li { font-size: 13px; } }
.tp-about__feature-list ul li:last-child { margin-bottom: 0; }

/* ELIMINADO DUPLICADO: Se unificaron las reglas de .yellow-bg-color y span i */
.tp-about__feature-list ul li span,
.tp-about__feature-list span {
  position: absolute; top: 2px; left: 0; height: 18px; width: 18px;
  line-height: 20px; text-align: center; border-radius: 50%;
  background-color: var(--tp-theme-1); color: var(--tp-common-white);
  display: inline-block; font-size: 9px;
}
.tp-about__feature-list ul li span.yellow-bg-color,
.tp-about__feature-list span.yellow-bg-color {
  background-color: var(--tp-theme-2);
}
.tp-about__feature-list ul li span i,
.tp-about__feature-list span i {
  margin-left: 2px;
}

.tp-about__feature-box .tp-about__feature-list { margin-right: 10px; }
.tp-about__feature-box { padding-bottom: 35px; }

.tp-about__feature-mpbs { position: relative; }
.tp-about__feature-mpbs::after {
  position: absolute; top: -27px; left: 0; width: 4px; height: 83px;
  background-color: var(--tp-theme-2); content: "";
}
.tp-about__feature-mpbs span {
  font-weight: 700; font-size: 59px; letter-spacing: 0.01em; color: var(--tp-theme-1);
  font-family: var(--tp-ff-mulish); padding-left: 25px;
}
.tp-about__feature-mpbs span em {
  font-weight: 300; font-size: 26px; font-style: normal; transform: translateY(-40px); display: inline-block;
}
.tp-about__feature-mpbs span i {
  font-weight: 500; font-size: 25px; letter-spacing: 0.03em; color: var(--tp-common-black); font-style: normal;
}

.tp-about__title-box .tp-section-title { padding-bottom: 30px; }
.tp-about__text p { position: relative; padding-left: 15px; padding-bottom: 10px; }
.tp-about__text p::after {
  position: absolute; top: 7px; left: 0; width: 2px; height: 43px;
  background-color: var(--tp-theme-2); content: "";
}
@media (max-width: 767px) {
  .tp-about__text p { padding-left: 0; }
  .tp-about__text p::after { display: none; }
}

.tp-about__feature-list-wrap { margin-bottom: 50px; }
@media (max-width: 767px) { .tp-about__feature-list-wrap { flex-wrap: wrap; } }
@media only screen and (min-width: 576px) and (max-width: 767px) { .tp-about__feature-list-wrap { display: flex; align-items: center; } }

.tp-about__author-avata { position: relative; margin-right: 32px; }
.tp-about__author-avata::after {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  border: 1px solid var(--tp-theme-1); content: ""; border-radius: 50%; transform: scale(1.3);
}
.tp-about__author-signature { margin-right: 25px; }
.tp-about__signature-date span { font-weight: 400; font-size: 16px; color: #535353; }

/* About 2 */
.tp-about-2__bg { background-position: center; background-repeat: no-repeat; background-size: cover; }
.tp-about-2__title-shape { position: absolute; top: 23%; left: 18%; }
@media only screen and (min-width: 768px) and (max-width: 991px) { .tp-about-2__title-shape { left: 13%; } }

.tp-about-2__icon { margin-right: 30px; animation: animationglob 30s cubic-bezier(1, 0.99, 0.03, 0.01) infinite; }
.tp-about-2__feature-list { background-color: #F5F7FA; padding: 25px 30px; border-radius: 11px; }
.tp-about-2__feature-list ul li {
  font-weight: 400; font-size: 15px; line-height: 20px; color: #445658;
  list-style-type: none; position: relative; padding-left: 18px; margin-bottom: 10px;
}
@media (max-width: 767px) { .tp-about-2__feature-list ul li { font-size: 14px; } }
.tp-about-2__feature-list ul li:last-child { margin-bottom: 0; }
.tp-about-2__feature-list ul li::after {
  position: absolute; content: ""; top: 6px; left: 0; width: 6px; height: 6px;
  background-color: var(--tp-theme-1);
}
.tp-about-2__info span { position: absolute; top: 12px; right: 0; }
.tp-about-2__feature-wrap { margin-bottom: 40px; }
.tp-about-2__main-img { filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.15)); }
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-about-2__main-img { text-align: center; margin-bottom: 100px; }
}
.tp-about-2__sub-img-1 { position: absolute; bottom: -20px; right: 65px; filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.15)); }
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-about-2__sub-img-1 { right: 20px; } }
.tp-about-2__sub-img-1 a {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  height: 70px; width: 70px; background-color: var(--tp-theme-1); text-align: center;
  line-height: 73px; color: var(--tp-common-white); border-radius: 50%; animation: pulse 2s infinite;
}
.tp-about-2__sub-img-1 a i { margin-left: 3px; }
.tp-about-2__sub-img-1 a::after {
  position: absolute; content: ""; top: 3px; right: 3px; width: 100%; height: 100%;
  border: 1px solid var(--tp-common-white); border-radius: 50%;
}
.tp-about-2__shape-1 {
  position: absolute; top: -22px; left: -22px; z-index: -1;
  animation: tptranslateX2 2s forwards infinite alternate;
}
@media only screen and (min-width: 768px) and (max-width: 991px) { .tp-about-2__shape-1 { left: 120px; } }
.tp-about-2__shape-2 {
  position: absolute; top: 40px; right: 75px; z-index: -1;
  animation: animationglob 30s cubic-bezier(1, 0.99, 0.03, 0.01) infinite;
}
.tp-about-2__left-author-info { position: absolute; top: 20px; left: 45px; }
.tp-about-2__left-author-info span { font-weight: 400; font-size: 14px; color: var(--tp-theme-1); font-family: var(--tp-ff-mulish); }
.tp-about-2__left-author-info span em { font-weight: 400; font-size: 17px; color: var(--tp-common-black); font-family: var(--tp-ff-mulish); font-style: normal; }

.tp-about-2__exprience {
  background-color: var(--tp-theme-1); display: inline-block; padding: 30px 17px;
  text-align: center; position: absolute; bottom: 95px; left: -25px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) { .tp-about-2__exprience { left: 100px; } }
.tp-about-2__exprience span { display: block; }
.tp-about-2__exprience .child-one {
  font-style: italic; font-weight: 800; font-size: 47px; text-transform: lowercase;
  text-shadow: 0px 4px 34px rgba(161, 134, 177, 0.25); color: var(--tp-common-white);
  font-family: var(--tp-ff-mulish); margin-bottom: 22px;
}
.tp-about-2__exprience .child-two {
  font-weight: 400; font-size: 14px; text-transform: lowercase;
  text-shadow: 0px 4px 34px rgba(161, 134, 177, 0.25); color: var(--tp-common-white);
}
.tp-about-2__exprience .child-three {
  height: 25px; width: 44px; background-color: var(--tp-theme-1); display: inline-block;
  position: absolute; bottom: -25px; left: 0; clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.tp-about-2__bg-shape { position: absolute; bottom: -70px; right: 40px; transform: rotate(10deg); z-index: -1; }

@media only screen and (min-width: 1200px) and (max-width: 1399px) { .tp-about-2__left-wrap { margin-left: 20px; } }
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-about-2__left-wrap { margin-left: 30px; } }
@media (max-width: 767px) { .tp-about-2__left-wrap { margin-bottom: 100px; } }
@media only screen and (min-width: 576px) and (max-width: 767px) { .tp-about-2__left-wrap { margin-left: 50px; } }

.tp-about-2__avata { flex: 0 0 auto; padding-right: 20px; }
@media only screen and (min-width: 992px) and (max-width: 1199px) { .tp-about-2__author-box { flex-wrap: wrap; } }
.tp-about-2__btn { flex: 0 0 auto; }
@media (max-width: 767px) { .tp-about-2__btn { margin-bottom: 0; } }
.tp-about-2__btn-box { flex-wrap: wrap; }

/* About 3 */
.tp-about-3__bg-shape { position: absolute; top: 0; left: 0; width: 745px; height: 640px; background-color: #FCF1EC; }
@media only screen and (min-width: 1400px) and (max-width: 1599px) { .tp-about-3__bg-shape { width: 635px; } }
@media only screen and (min-width: 1200px) and (max-width: 1399px) { .tp-about-3__bg-shape { width: 490px; } }

.tp-about-3__customize .tp-about__shape-1 { position: absolute; top: 20px; right: 70px; }
.tp-about-3__customize .tp-about__img-1 img {
  border: 11px solid var(--tp-common-white); filter: drop-shadow(0px 4px 9px rgba(0, 0, 0, 0.07));
  border-radius: 0px 32px 0px 0px;
}
.tp-about-3__customize .tp-about__img-2 img { border: 7px solid var(--tp-common-white); border-radius: 0px 0px 0px 34px; }
.tp-about-3__right-customize .tp-about__feature-list ul li span.yellow-bg-color { background-color: var(--tp-theme-2); }
.tp-about-3__right-customize .tp-about__feature-mpbs span {
  background-color: rgba(185, 190, 208, 0.18); padding: 5px 15px; margin-left: 15px;
}

/* ==========================================
   5. BRAND SECTION
   ========================================== */
.tp-brand__transparent { position: absolute; left: 0; right: 0; margin-top: -65px; }
.tp-brand__title-sm {
  font-weight: 600; font-size: 16px; text-align: center; color: #475467;
  background-color: var(--tp-common-white); position: relative; z-index: 1;
  display: inline-block; padding: 0px 35px;
}
@media (max-width: 767px) { .tp-brand__title-sm { padding: 0; } }

.tp-brand__bg {
  background-color: var(--tp-common-white); max-width: 1295px;
  margin: 0 auto; padding: 70px 50px 80px 50px;
}
.tp-brand__title-box { position: relative; margin: 0px 45px 50px 45px; }
@media (max-width: 767px) { .tp-brand__title-box { margin: 0px 0px 50px 0px; } }
.tp-brand__title-box::after {
  position: absolute; top: 12px; left: 0; width: 100%; height: 1px;
  background-color: #D9D9D9; content: "";
}
.tp-brand__item { text-align: center; cursor: pointer; }
.tp-brand__item span { color: var(--tp-common-black); transition: 0.3s; }
.tp-brand__item:hover span { color: var(--tp-theme-1); }

.tp-brand-3__bg { background-color: #FFF4EF; padding: 80px 0; }
.tp-brand-3__shape { position: absolute; bottom: 0; left: 0; }

.tp-brand-2__active .swiper-wrapper {
  position: relative; width: 100%; height: 100%; z-index: 1;
  display: flex; transition-property: transform; box-sizing: content-box; align-items: center;
}