@font-face {
  font-family: "Raleway";

  src: url("../fonts/Raleway-Regular.woff2") format("woff2");

  font-weight: 400;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: "Raleway";

  src: url("../fonts/Raleway-Medium.woff2") format("woff2");

  font-weight: 500;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: "Raleway";

  src: url("../fonts/Raleway-SemiBold.woff2") format("woff2");

  font-weight: 600;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: "Raleway";

  src: url("../fonts/Raleway-Bold.woff2") format("woff2");

  font-weight: 700;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: "Raleway";

  src: url("../fonts/Raleway-Black.woff2") format("woff2");

  font-weight: 900;

  font-style: normal;

  font-display: swap;
}

*,
*::before,
*::after {
  margin: 0;

  padding: 0;

  box-sizing: border-box;
}

:root {
  --theme-white: #fff;

  --theme-black: #000;

  --theme-primery: #920b4c;

  --theme-secondary: #b657ad;

  --theme-light: #e1bafd;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Raleway", sans-serif;

  font-size: 16px;

  font-weight: 400;
}

h1 {
  font-size: clamp(2.25rem, 4vw, 4rem);

  font-weight: 900;
}

h2 {
  font-size: clamp(2rem, 3.5vw, 3rem);

  font-weight: 700;
}

h3 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);

  font-weight: 700;
}

h4 {
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);

  font-weight: 700;
}

h5 {
  font-size: clamp(1.1rem, 2vw, 1.5rem);

  font-weight: 700;
}

p,
li,
a {
  font-size: 1.1rem;
}

p {
  font-weight: 500;

  padding: 0;

  margin: 0;
}

ul,
ol,
li {
  list-style: none;
}

a {
  color: inherit;

  text-decoration: none;

  transition: all 0.2s ease;
}

::selection {
  background: #222;

  color: #fff;
}

/* kaeyframes */

@keyframes heroTextIn {
  from {
    opacity: 0;

    transform: translateY(25px);
  }

  to {
    opacity: 1;

    transform: translateY(0);
  }
}

@keyframes phonePulse {
  0% {
    opacity: 0.7;

    transform: translateY(-50%) scale(0.9);
  }

  70% {
    opacity: 0;

    transform: translateY(-50%) scale(1.5);
  }

  100% {
    opacity: 0;

    transform: translateY(-50%) scale(1.5);
  }
}

@keyframes phoneRing {
  0%,
  20% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(15deg);
  }

  30% {
    transform: rotate(-15deg);
  }

  35% {
    transform: rotate(12deg);
  }

  40% {
    transform: rotate(-12deg);
  }

  45% {
    transform: rotate(6deg);
  }

  50% {
    transform: rotate(-6deg);
  }

  55%,
  100% {
    transform: rotate(0deg);
  }
}

/* ================================ Button ================================= */

.modern-btn {
  --btn-color: var(--theme-primery);

  --hover-color: var(--theme-secondary);

  position: relative;

  display: inline-flex;

  align-items: center;

  gap: 14px;

  padding: 8px 8px 8px 24px;

  overflow: hidden;

  isolation: isolate;

  color: #fff;

  background: var(--btn-color);

  border: 1px solid var(--btn-color);

  border-radius: 50px;

  font-size: 15px;

  font-weight: 700;

  line-height: 1;

  text-decoration: none;

  transition:
    color 0.4s ease,
    transform 0.3s ease,
    box-shadow 0.4s ease;
}

.modern-btn::before {
  content: "";

  position: absolute;

  inset: 0;

  z-index: -1;

  background: var(--hover-color);

  transform: translateX(-101%);

  transition: transform 0.4s ease;
}

.modern-btn__text {
  position: relative;

  z-index: 2;
}

.modern-btn__icon {
  position: relative;

  z-index: 2;

  display: grid;

  place-items: center;

  width: 38px;

  height: 38px;

  color: var(--btn-color);

  background: #fff;

  border-radius: 50%;

  transition:
    transform 0.4s ease,
    color 0.4s ease;
}

.modern-btn__icon svg {
  width: 17px;

  height: 17px;

  transition: transform 0.4s ease;
}

/* Hover */

.modern-btn:hover {
  color: #fff;

  transform: translateY(-3px);

  box-shadow: 0 12px 25px rgba(26, 58, 92, 0.2);
}

.modern-btn:hover::before {
  transform: translateX(0);
}

.modern-btn:hover .modern-btn__icon {
  color: var(--hover-color);

  transform: rotate(45deg);
}

.modern-btn:hover .modern-btn__icon svg {
  transform: scale(1.05);
}

/* Active */

.modern-btn:active {
  transform: translateY(-1px);
}

/* Keyboard accessibility */

.modern-btn:focus-visible {
  outline: 3px solid rgba(39, 174, 96, 0.35);

  outline-offset: 4px;
}

/* ================================ header ================================= */

.navbar {
  background: var(--theme-light);

  position: relative;

  width: 100%;

  z-index: 9999;

  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
}

.site-header .navbar.navbar-scrolled {
  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  width: 100%;

  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);

  animation: navbarSlideDown 0.5s ease both;
}

@keyframes navbarSlideDown {
  0% {
    transform: translateY(-100%);
  }

  100% {
    transform: translateY(0);
  }
}

.site-header .nav-link {
  color: var(--theme-primery);

  font-weight: 700;
}

.site-header .nav-link:hover,
.site-header .nav-link.active {
  color: var(--theme-black);
}

/* ========================================

   TOP HEADER

======================================== */

.top_header {
  background: var(--theme-primery);

  color: #fff;

  padding: 6px 0;
}

.top_header_inner {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;
}

.top_header_contact {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 24px;
}

.top_contact_item {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  color: #fff;

  text-decoration: none;

  transition: color 0.3s ease;
}

.top_contact_item:hover {
  color: var(--theme-light);
}

.top_contact_icon {
  display: inline-flex;

  width: 25px;

  height: 25px;

  flex-shrink: 0;
}

.top_contact_icon svg {
  width: 100%;

  height: 100%;
}

/* ========================================

   SOCIAL ICONS

======================================== */

.top_header_social {
  display: flex;

  align-items: center;

  gap: 8px;
}

.top_header_social a {
  display: grid;

  place-items: center;

  width: 35px;

  height: 35px;

  color: #fff;

  border-radius: 50%;

  transition:
    color 0.3s ease,
    background 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

.top_header_social svg {
  width: 35px;

  height: 35px;
}

.top_header_social a[aria-label="Facebook"] {
  background: #1877f2;

  color: #fff;
}

.top_header_social a[aria-label="Instagram"] {
  color: #ffffffbb;

  background: linear-gradient(
    45deg,
    #feda75,
    #fa7e1e,
    #d62976,
    #962fbf,
    #4f5bd5
  );
}

.top_header_social a[aria-label="LinkedIn"] {
  background: #0a66c2;

  color: #fff;
}

.top_header_social a:hover {
  transform: scale(0.9);
}

/* ========================================

   MOBILE

======================================== */

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

  .top_header_inner {
    justify-content: center;
  }

  .top_header_contact {
    justify-content: center;

    gap: 8px 16px;
  }

  .top_header_social {
    display: none;
  }

  .top_contact_item {
    font-size: 12px;
  }
}

@media (max-width: 575.98px) {
  .top_header_contact {
    width: 100%;
  }

  .top_contact_item:first-child {
    display: none;
  }
}

.top_contact_item {
  font-weight: 500;
}

.top_contact_item .top_contact_icon {
  color: var(--theme-secondary);
}

a.top_contact_item[href^="tel:"] img {
  filter: brightness(0) saturate(100%) invert(51%) sepia(8%) saturate(3252%)
    hue-rotate(255deg) brightness(85%) contrast(104%);
}

/* ========================================

   PHYSIO HERO

======================================== */

.physio-hero {
  position: relative;

  min-height: 720px;

  display: flex;

  align-items: center;

  overflow: hidden;

  color: #fff;

  isolation: isolate;
}

/* ========================================

   BACKGROUND VIDEO

======================================== */

.physio-hero__video {
  position: absolute;

  inset: 0;

  z-index: -3;
}

.physio-hero__video video {
  width: 100%;

  height: 100%;

  display: block;

  object-fit: cover;

  object-position: center;
}

/* ========================================

   OVERLAY

======================================== */

.physio-hero__overlay {
  position: absolute;

  inset: 0;

  z-index: -2;

  background: linear-gradient(
    90deg,
    rgba(32, 1, 23, 0.92) 0%,

    rgba(31, 1, 23, 0.75) 42%,

    rgba(43, 8, 34, 0.35) 75%,

    rgba(34, 6, 32, 0.2) 100%
  );
}

/* ========================================

   CONTENT

======================================== */

.physio-hero__content {
  width: 100%;

  padding: 120px 0 180px;
}

.physio-hero__slide {
  max-width: 760px;
}

/* ========================================

   SUBTITLE

======================================== */

.hero-subtitle {
  position: relative;

  display: inline-flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 20px;

  color: var(--theme-light);

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 1.5px;

  text-transform: uppercase;
}

.hero-subtitle::before {
  content: "";

  width: 35px;

  height: 2px;

  background: var(--theme-primery);
}

/* ========================================

   HEADING

======================================== */

.physio-hero h1,
.physio-hero h2 {
  max-width: 800px;

  margin-bottom: 25px;

  color: #fff;

  font-size: clamp(2.8rem, 5vw, 5.2rem);

  font-weight: 900;

  line-height: 1.05;

  letter-spacing: -1.5px;
}

.physio-hero h1 span,
.physio-hero h2 span {
  display: block;

  color: var(--theme-secondary);
}

/* ========================================

   DESCRIPTION

======================================== */

.physio-hero__slide p {
  max-width: 650px;

  margin-bottom: 35px;

  color: rgba(255, 255, 255, 0.88);

  font-size: clamp(1rem, 1.2vw, 1.15rem);

  line-height: 1.75;
}

/* ========================================

   BUTTONS

======================================== */

.hero-buttons {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 25px;
}

/* Main Button */

/* Phone */

.hero-phone {
  display: inline-flex;

  align-items: center;

  gap: 12px;

  color: #fff;

  text-decoration: none;
}

.hero-phone:hover {
  color: #7ee2a8;
}

.hero-phone__icon {
  display: grid;

  place-items: center;

  width: 48px;

  height: 48px;

  color: #1a3a5c;

  background: #fff;

  border-radius: 50%;
}

.hero-phone__icon svg {
  width: 21px;

  height: 21px;
}

.hero-phone small,
.hero-phone strong {
  display: block;
}

.hero-phone small {
  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.65);

  font-size: 11px;

  text-transform: uppercase;

  letter-spacing: 0.5px;
}

.hero-phone strong {
  font-size: 15px;
}

/* ========================================

   OWL NAVIGATION

======================================== */

.physio-hero__slider .owl-nav {
  position: absolute;

  left: 0;

  bottom: -80px;

  display: flex;

  gap: 10px;
}

.physio-hero__slider .owl-nav button.owl-prev,
.physio-hero__slider .owl-nav button.owl-next {
  display: grid;

  place-items: center;

  width: 48px;

  height: 48px;

  margin: 0;

  color: #fff !important;

  background: rgba(255, 255, 255, 0.12) !important;

  border: 1px solid rgba(255, 255, 255, 0.3) !important;

  border-radius: 50%;

  font-size: 22px !important;

  transition: all 0.3s ease;
}

.physio-hero__slider .owl-nav button:hover {
  color: #1a3a5c !important;

  background: #fff !important;
}

/* ========================================

   OWL DOTS

======================================== */

.physio-hero__slider .owl-dots {
  position: absolute;

  left: 125px;

  bottom: -86px;

  display: flex;

  align-items: center;

  gap: 7px;
}

.physio-hero__slider .owl-dot span {
  width: 8px !important;

  height: 8px !important;

  margin: 0 !important;

  background: rgba(255, 255, 255, 0.4) !important;

  transition: all 0.3s ease;
}

.physio-hero__slider .owl-dot.active span {
  width: 30px !important;

  background: var(--theme-primery) !important;
}

/* ========================================

   TRUST BAR

======================================== */

.physio-hero__trust {
  position: absolute;

  left: 0;

  right: 0;

  bottom: 0;

  background: #920b4cba;

  border-top: 1px solid rgba(255, 255, 255, 0.15);

  backdrop-filter: blur(10px);
}

.hero-trust-inner {
  display: grid;

  grid-template-columns: repeat(3, 1fr);
}

.trust-item {
  padding: 22px 30px;

  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.trust-item:first-child {
  padding-left: 0;
}

.trust-item:last-child {
  border-right: 0;
}

.trust-item strong,
.trust-item span {
  display: block;
}

.trust-item strong {
  margin-bottom: 3px;

  font-size: 1.3rem;

  font-weight: 700;
}

.trust-item span {
  color: rgba(255, 255, 255, 0.65);

  font-size: 1.1rem;
}

/* Subtitle */

.physio-hero__slider .owl-item.active .hero-subtitle {
  animation: heroTextIn 0.8s ease 0.2s both;
}

/* Heading */

.physio-hero__slider .owl-item.active h1,
.physio-hero__slider .owl-item.active h2 {
  animation: heroTextIn 0.8s ease 0.35s both;
}

/* Paragraph */

.physio-hero__slider .owl-item.active p {
  animation: heroTextIn 0.8s ease 0.5s both;
}

/* Buttons */

.physio-hero__slider .owl-item.active .hero-buttons {
  animation: heroTextIn 0.8s ease 0.65s both;
}

.banner_call {
  right: -30px;

  z-index: 77;

  rotate: -90deg;
}

.banner_call .span1 {
  width: 10px;

  height: 4px;

  background: var(--theme-light);

  display: inline-block;
}

.banner_call .span2 {
  width: 30px;

  height: 4px;

  background: var(--theme-light);

  display: inline-block;
}

.banner_call .span3 {
  width: 120px;

  height: 4px;

  background: var(--theme-light);

  display: inline-block;
}

.banner_call a {
  position: relative;
}

.banner_call a::before {
  content: "";

  position: absolute;

  width: 50px;

  height: 50px;

  border: 2px solid var(--theme-light);

  border-radius: 50%;

  left: -5%;

  top: 50%;

  transform: translateY(-50%);

  animation: phonePulse 1.8s ease-out infinite;

  pointer-events: none;
}

.banner_call img {
  transform-origin: center;

  animation: phoneRing 1.8s ease-in-out infinite;

  filter: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(4919%)
    hue-rotate(321deg) brightness(92%) contrast(96%);

  rotate: 90deg;
}

/* Phone ringing */

.call_sapn_wrap h5 {
  color: var(--theme-light);

  font-weight: 700;

  font-size: 1.5rem;
}

/* =========================================

   ABOUT SECTION

========================================= */

.physio-about {
  overflow: hidden;
}

/* Image */

.physio-about__image {
  position: relative;

  padding-right: 30px;
}

.physio-about__image::before {
  content: "";

  position: absolute;

  width: 75%;

  height: 75%;

  left: -25px;

  bottom: -25px;

  border: 8px solid var(--theme-secondary);

  border-radius: 0 0 0 20px;

  z-index: 0;
}

.physio-about__image img {
  position: relative;

  z-index: 1;

  width: 100%;

  height: 100%;

  object-fit: cover;

  border-radius: 20px;

  display: block;
}

/* Experience Badge */

.physio-about__badge {
  position: absolute;

  right: 0;

  bottom: 40px;

  z-index: 2;

  display: flex;

  align-items: center;

  gap: 12px;

  padding: 18px 24px;

  background: #ffffff;

  border-radius: 12px;

  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.physio-about__badge strong {
  font-size: 36px;

  line-height: 1;

  color: var(--theme-primery);

  font-weight: 700;
}

.physio-about__badge span {
  font-size: 16px;

  line-height: 1.4;

  color: #555;

  font-weight: 600;
}

/* Content */

.physio-about__content {
  padding-left: 20px;
}

.section-subtitle {
  position: relative;

  display: inline-flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 12px;

  color: var(--theme-primery);

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 2px;
}

.section-subtitle::before {
  content: "";

  width: 35px;

  height: 2px;

  background: var(--theme-primery);
}

.physio-about__content h2 {
  max-width: 600px;

  margin-bottom: 20px;

  color: var(--theme-primery);

  font-size: clamp(32px, 4vw, 48px);

  line-height: 1.15;

  font-weight: 700;
}

.physio-about__content h2 span {
  color: var(--theme-black);
}

.physio-about__content > p {
  color: #667085;

  line-height: 1.8;
}

/* Key Points */

.physio-about__points {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 18px 25px;

  margin-top: 30px;
}

.about-point {
  display: flex;

  align-items: flex-start;

  gap: 14px;
}

.about-point__icon {
  flex: 0 0 45px;

  width: 45px;

  height: 45px;

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--secondary, #2e86c1);

  background: var(--theme-light);

  border-radius: 10px;

  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);

  transition: all 0.3s ease;
}

.about-point:hover .about-point__icon {
  color: #ffffff;

  background: var(--theme-primery);

  transform: translateY(-3px);
}

.about-point h5 {
  margin: 0 0 5px;

  color: var(--primary, #1a3a5c);

  font-size: 16px;

  font-weight: 700;
}

.physio-about__points {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 24px 30px;

  margin-top: 30px;
}

.about-point {
  display: flex;

  align-items: flex-start;

  gap: 15px;
}

.about-point__icon {
  flex: 0 0 50px;

  width: 50px;

  height: 50px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 14px;

  box-shadow: 0 8px 25px rgba(69, 19, 63, 0.08);

  transition:
    background 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.about-point__icon svg {
  width: 28px;

  height: 28px;

  fill: none;

  stroke: #a90052;

  stroke-width: 2;

  stroke-linecap: round;

  stroke-linejoin: round;

  transition:
    stroke 0.3s ease,
    transform 0.3s ease;
}

.about-point:hover .about-point__icon {
  background: var(--theme-primery);

  transform: translateY(-4px);

  box-shadow: 0 12px 30px rgba(169, 0, 82, 0.2);
}

.about-point:hover .about-point__icon svg {
  stroke: var(--theme-white);

  transform: scale(1.08);
}

.about-point h5 {
  margin: 0 0 5px;

  color: var(--theme-primery);

  font-size: 1.2rem;

  font-weight: 700;
}

.about-point p {
  margin: 0;

  color: #777;

  line-height: 1.5;
}

/* CTA */

.about-cta {
  margin-top: 30px;
}

.physio-btn {
  display: inline-flex;

  align-items: center;

  gap: 12px;

  padding: 13px 24px;

  color: #ffffff;

  background: var(--secondary, #2e86c1);

  border-radius: 6px;

  font-weight: 600;

  transition: all 0.3s ease;
}

.physio-btn:hover {
  color: #ffffff;

  background: var(--primary, #1a3a5c);

  transform: translateY(-2px);
}

.physio-btn i {
  transition: transform 0.3s ease;
}

.physio-btn:hover i {
  transform: translateX(5px);
}

/* =========================================================

   SERVICES SECTION

========================================================= */

.physio-services {
  position: relative;

  overflow: hidden;

  background: #ebe8eb;
}

.section-heading {
  max-width: 75%;

  margin-inline: auto;
}

.section-heading h2 {
  margin: 0 0 15px;

  color: var(--theme-primery);

  font-size: clamp(32px, 4vw, 48px);

  line-height: 1.15;

  font-weight: 700;
}

.section-heading h2 span {
  color: var(--theme-black);
}

.section-heading p {
  max-width: 620px;

  margin: auto;

  line-height: 1.7;
}

/* =========================================================

   OWL SLIDER

========================================================= */

.physio-services-slider {
  position: relative;
}

.physio-services-slider .owl-stage {
  display: flex;
}

.physio-services-slider .owl-item {
  display: flex;

  padding: 15px 0 25px;
}

.physio-services-slider .service-card {
  width: 100%;
}

/* =========================================================

   SERVICE CARD

========================================================= */

.service-card {
  position: relative;

  overflow: hidden;

  background: #ffffff;

  border-radius: 20px;

  box-shadow: 0 10px 35px rgba(69, 19, 63, 0.08);

  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
}

.service-card:hover {
  transform: translateY(-8px);

  box-shadow: 0 20px 50px rgba(69, 19, 63, 0.14);
}

/* =========================================================

   CARD IMAGE

========================================================= */

.service-card__image {
  position: relative;

  height: 245px;

  overflow: hidden;
}

.service-card__image::after {
  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(to top, rgba(69, 19, 63, 0.35), transparent 50%);
}

.service-card__image img {
  width: 100%;

  height: 100%;

  display: block;

  object-fit: cover;

  transition: transform 0.6s ease;
}

.service-card:hover .service-card__image img {
  transform: scale(1.08);
}

/* =========================================================

   SERVICE ICON

========================================================= */

.service-card__icon {
  position: absolute;

  right: 20px;

  bottom: 20px;

  z-index: 2;

  width: 58px;

  height: 58px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: #ffffff;

  border-radius: 16px;

  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);

  transition:
    background 0.3s ease,
    transform 0.3s ease;
}

.service-card__icon svg {
  width: 31px;

  height: 31px;

  fill: none;

  stroke: #a90052;

  stroke-width: 2;

  stroke-linecap: round;

  stroke-linejoin: round;

  transition: stroke 0.3s ease;
}

.service-card:hover .service-card__icon {
  background: #a90052;

  transform: rotate(-5deg) scale(1.05);
}

.service-card:hover .service-card__icon svg {
  stroke: #ffffff;
}

/* =========================================================

   CARD BODY

========================================================= */

.service-card__body {
  position: relative;

  padding: 28px 25px 25px;
}

.service-number {
  position: absolute;

  top: 22px;

  right: 25px;

  color: rgba(169, 0, 82, 0.08);

  font-size: 48px;

  line-height: 1;

  font-weight: 800;
}

.service-card__body h5 {
  position: relative;

  margin: 0 60px 12px 0;

  color: var(--theme-primery);

  line-height: 1.3;

  font-weight: 700;

  font-size: 1.5rem;

  height: 65px;

  place-content: center;
}

.service-card__body p.short__text {
  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

  margin-bottom: 15px;
}

/* =========================================================

   SERVICE LINK

========================================================= */

.service-card__link {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: #a90052;

  font-size: 14px;

  font-weight: 700;

  text-decoration: none;

  transition: color 0.3s ease;
}

.service-card__link span {
  width: 30px;

  height: 30px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: #f8eaf2;

  border-radius: 50%;

  transition:
    background 0.3s ease,
    transform 0.3s ease;
}

.service-card__link i {
  font-size: 11px;
}

.service-card__link:hover {
  color: #45133f;
}

.service-card__link:hover span {
  color: #ffffff;

  background: #a90052;

  transform: translateX(4px);
}

/* =========================================================

   SLIDER CONTROLS

========================================================= */

.services-slider-controls {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: 15px;

  margin-top: 25px;
}

.services-prev,
.services-next {
  width: 44px;

  height: 44px;

  display: flex;

  align-items: center;

  justify-content: center;

  border: 1px solid rgba(169, 0, 82, 0.2);

  border-radius: 50%;

  color: #a90052;

  background: #ffffff;

  cursor: pointer;

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.services-prev:hover,
.services-next:hover {
  color: #ffffff;

  background: #a90052;

  transform: translateY(-2px);
}

.services-dots {
  display: flex;

  align-items: center;

  gap: 6px;
}

.services-dots .owl-dot {
  width: 8px;

  height: 8px;

  padding: 0;

  margin: 0;

  border: 0;

  border-radius: 50%;

  background: #d9c6d4;

  transition:
    width 0.3s ease,
    background 0.3s ease;
}

.services-dots .owl-dot.active {
  width: 25px;

  border-radius: 10px;

  background: #a90052;
}
.physio-services.physio-conditions {
  background: var(--theme-white);
}
/* ==============================

                Body part indication

            =============================== */

/* .rgn-pain-section {

  position: relative;

  padding: 50px 0;

  background: #ffffff;

  overflow: hidden;

}



.rgn-pain-title {

  margin: 0;



  color: #222;



  font-size: clamp(34px, 4vw, 52px);

  font-weight: 800;



  line-height: 1.05;

  letter-spacing: -1.5px;

}



.rgn-pain-title span {

  color: var(--theme-primery);



  font-style: italic;

  font-weight: 800;

}



.rgn-pain-subtitle {

  margin: 10px 0 25px;



  color: #333;



  font-size: 1.2rem;

  font-weight: 700;



  font-style: italic;

}

.rgn-pain-tabs {

  display: flex;



  width: 100%;



  min-height: 300px;



  gap: 4px;

}

.rgn-pain-nav {

  flex: 0 0 116px;



  display: flex;

  flex-direction: column;



  gap: 4px;

}



.rgn-pain-tab {

  position: relative;



  width: 100%;



  display: flex;

  align-items: center;

  justify-content: space-between;



  min-height: 30px;



  padding: 7px 12px;



  border: 0;

  border-radius: 4px;



  background: var(--theme-primery);



  color: #ffffff;



  font-size: 1rem;

  font-weight: 700;



  text-transform: uppercase;



  text-align: left;



  cursor: pointer;



  transition:

    background 0.25s ease,

    transform 0.25s ease;

}



.rgn-pain-tab:hover {

  background: #85000f;

}



.rgn-pain-tab.active {

  background: #3f3f3f;

}

.rgn-arrow {

  width: 7px;

  height: 7px;



  border-top: 1px solid #ffffff;

  border-right: 1px solid #ffffff;



  transform: rotate(45deg);



  transition: transform 0.25s ease;

}



.rgn-pain-tab.active .rgn-arrow {

  transform: rotate(45deg) translate(2px, -2px);

}

.rgn-pain-panels {

  flex: 1;



  position: relative;



  min-width: 0;

}



.rgn-pain-panel {

  display: none;



  width: 100%;

  height: 100%;



  min-height: 230px;



  padding: 18px 20px;



  background: #eeeeee;



  border-radius: 4px;



  animation: rgnPanelFade 0.3s ease;

}



.rgn-pain-panel.active {

  display: block;

}



@keyframes rgnPanelFade {

  from {

    opacity: 0;

    transform: translateY(5px);

  }



  to {

    opacity: 1;

    transform: translateY(0);

  }

}

.rgn-pain-panel h5 {

  margin: 0 0 18px;



  color: var(--theme-primery);



  font-size: 24px;

  font-weight: 800;



  text-transform: uppercase;

}



.rgn-pain-panel h3 em {

  color: #a40012;



  font-style: italic;

}

.rgn-condition-list {

  display: flex;



  flex-wrap: wrap;



  gap: 7px;

}



.rgn-condition-list a {

  display: inline-flex;

  align-items: center;



  min-height: 28px;



  padding: 7px 11px;



  background: #ffffff;



  border-radius: 4px;



  color: #202020;



  font-size: 1.1rem;

  font-weight: 600;



  line-height: 1.3;



  text-decoration: none;



  transition:

    color 0.2s ease,

    background 0.2s ease,

    transform 0.2s ease;

}



.rgn-condition-list a:hover {

  color: #ffffff;



  background: var(--theme-primery);



  transform: translateY(-1px);

}

.rgn-body-wrap {

  position: relative;



  width: 100%;



  max-width: 650px;



  margin: 0 auto;



  line-height: 0;

}



.rgn-body-image {

  display: block;



  width: 100%;

  aspect-ratio: 1/1.3;

  max-width: 100%;

}

.rgn-body-point {

  position: absolute;



  width: 28px;

  height: 28px;



  padding: 0;



  border: 0;



  border-radius: 50%;



  background: #ffffff;



  cursor: pointer;



  transform: translate(-50%, -50%);



  z-index: 10;



  display: flex;

  align-items: center;

  justify-content: center;



  transition:

    transform 0.25s ease,

    box-shadow 0.25s ease;

}

.rgn-body-point span {

  position: relative;



  display: block;



  width: 20px;

  height: 20px;



  border: 2px solid #a40012;



  border-radius: 50%;



  background: repeating-radial-gradient(

    circle at center,

    #a40012 0,

    #a40012 1px,

    transparent 1px,

    transparent 3px

  );

}

.rgn-body-point span::after {

  content: "";



  position: absolute;



  left: 50%;

  top: 50%;



  width: 5px;

  height: 5px;



  border-radius: 50%;



  background: #a40012;



  transform: translate(-50%, -50%);

}

.rgn-body-point:hover,

.rgn-body-point.active {

  transform: translate(-50%, -50%) scale(1.18);



  box-shadow: 0 0 0 5px rgba(164, 0, 18, 0.12);

}



.rgn-body-point:hover span,

.rgn-body-point.active span {

  background-color: #a40012;

} */

/* ==========================================

   PRODUCTS SECTION

========================================== */

.products-section {
  position: relative;

  overflow: hidden;
}

/* Section Header */

.section-header {
  max-width: 750px;

  margin-inline: auto;
}

.section-subtitle {
  display: inline-block;

  margin-bottom: 10px;

  color: var(--theme-primery);

  font-weight: 600;

  letter-spacing: 1.5px;

  text-transform: uppercase;
}

.section-title {
  margin-bottom: 15px;

  color: var(--theme-black);

  font-weight: 700;

  line-height: 1.15;
}

.section-description {
  max-width: 650px;

  margin: 0 auto;

  color: #666;

  line-height: 1.7;
}

/* ==========================================

   PRODUCT CARD

========================================== */
.product_slider {
  background: #ebe8eb;
}
.product_slider.equpments_slider {
  background: #fff;
}
.physio-product-card {
  display: flex;

  flex-direction: column;

  height: 100%;

  overflow: hidden;

  color: inherit;

  text-decoration: none;

  background: var(--theme-white);

  border: 1px solid rgba(146, 11, 76, 0.1);

  border-radius: 20px;

  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.physio-product-card:hover {
  color: inherit;

  text-decoration: none;

  border-color: rgba(146, 11, 76, 0.25);

  transform: translateY(-8px);

  box-shadow: 0 18px 45px rgba(146, 11, 76, 0.14);
}

/* ==========================================

   PRODUCT IMAGE

========================================== */

.physio-product-image {
  position: relative;

  aspect-ratio: 1 / 0.5;

  overflow: hidden;

  background: #f8f5f8;
}

.physio-product-image img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.5s ease;
}

.physio-product-card:hover .physio-product-image img {
  transform: scale(1.06);
}

/* ==========================================

   PRODUCT CONTENT

========================================== */

.physio-product-content {
  display: flex;

  flex: 1;

  flex-direction: column;

  padding: 25px;
}

.physio-product-title {
  margin: 0 0 12px;

  color: var(--theme-black);

  font-weight: 700;

  line-height: 1.3;
}

.physio-product-details {
  margin: 0 0 22px;

  color: #666;

  line-height: 1.7;
}

/* ==========================================

   PRODUCT BUTTON

========================================== */

.physio-product-btn {
  display: inline-flex;

  align-items: center;

  justify-content: space-between;

  gap: 15px;

  width: 100%;

  margin-top: auto;

  padding-top: 17px;

  color: var(--theme-primery);

  font-weight: 700;

  border-top: 1px solid rgba(146, 11, 76, 0.1);
}

.physio-product-btn-icon {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 38px;

  height: 38px;

  flex: 0 0 38px;

  color: var(--theme-white);

  background: var(--theme-primery);

  border-radius: 50%;

  transition:
    transform 0.35s ease,
    background-color 0.35s ease;
}

.physio-product-btn-icon svg {
  width: 17px;

  height: 17px;
}

.physio-product-card:hover .physio-product-btn-icon {
  background: var(--theme-secondary);

  transform: rotate(45deg);
}

/* ==========================================

   OWL CAROUSEL

========================================== */

.physio-products-slider .owl-stage {
  display: flex;
}

.physio-products-slider .owl-item {
  display: flex;
}

.physio-products-slider .item {
  display: flex;

  width: 100%;

  padding: 15px;
}

/* Navigation */

.physio-products-slider .owl-nav {
  display: flex;

  justify-content: center;

  gap: 12px;

  margin-top: 30px;
}

.physio-products-slider .owl-prev,
.physio-products-slider .owl-next {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 48px;

  height: 48px;

  margin: 0 !important;

  color: var(--theme-primery) !important;

  background: var(--theme-white) !important;

  border: 1px solid rgba(146, 11, 76, 0.18) !important;

  border-radius: 50% !important;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.physio-products-slider .owl-prev:hover,
.physio-products-slider .owl-next:hover {
  color: var(--theme-white) !important;

  background: var(--theme-primery) !important;

  transform: translateY(-2px);
}

/* Dots */

.physio-products-slider .owl-dots {
  margin-top: 25px;
}

.physio-products-slider .owl-dot span {
  width: 8px !important;

  height: 8px !important;

  margin: 5px !important;

  background: #ddd !important;

  transition: all 0.3s ease;
}

.physio-products-slider .owl-dot.active span {
  width: 25px !important;

  background: var(--theme-primery) !important;

  border-radius: 10px;
}

/* =========================================

   Contact SECTION

========================================= */

.contact-section {
  position: relative;

  overflow: hidden;

  background: #fff;
}

/* =========================================

   LEFT CONTACT CARD

========================================= */

.contact-info-card {
  position: relative;

  height: 100%;

  min-height: 620px;

  padding: 55px 45px;

  overflow: hidden;

  color: var(--theme-white);

  background: linear-gradient(
    145deg,
    var(--theme-primery) 0%,

    #7d0941 55%,

    #5f0633 100%
  );

  border-radius: 28px;

  box-shadow: 0 25px 60px rgba(146, 11, 76, 0.18);
}

.contact-info-content {
  position: relative;

  z-index: 2;
}

/* Subtitle */

.contact-subtitle {
  color: var(--theme-light);
}

/* Heading */

.contact-info-card h2,
.contact-form-card h2 {
  margin: 0;

  line-height: 1.12;
}

.contact-info-card h2 span {
  color: var(--theme-secondary);
}

.contact-form-card h2 span {
  color: var(--theme-primery);
}

.contact-info-card h2 span {
  color: var(--theme-light);
}

.contact-description {
  max-width: 480px;

  margin: 22px 0 30px;

  color: rgba(255, 255, 255, 0.78);

  line-height: 1.8;
}

.contact-info-card .section-subtitle::before {
  background: var(--theme-secondary);
}

.contact-form-card .section-subtitle {
  color: var(--theme-primery);
}

/* =========================================

   CALL BOX

========================================= */

.call-box {
  position: relative;

  display: flex;

  align-items: center;

  gap: 18px;

  padding: 18px;

  margin-bottom: 38px;

  color: var(--theme-white);

  text-decoration: none;

  background: rgba(255, 255, 255, 0.1);

  border: 1px solid rgba(255, 255, 255, 0.18);

  border-radius: 18px;

  transition: all 0.35s ease;

  backdrop-filter: blur(8px);
}

.call-box:hover {
  color: var(--theme-white);

  background: rgba(255, 255, 255, 0.17);

  transform: translateY(-3px);
}

/* Phone icon */

.call-icon {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  flex: 0 0 62px;

  width: 62px;

  height: 62px;

  color: var(--theme-primery);

  background: var(--theme-white);

  border-radius: 50%;
}

.call-icon img {
  position: relative;

  z-index: 3;

  width: 28px;

  height: 28px;

  filter: brightness(0) saturate(100%) invert(8%) sepia(93%) saturate(5141%)
    hue-rotate(323deg) brightness(93%) contrast(94%);
}

/* Ringing animation */

.call-icon img {
  animation: phoneRing 1.5s ease-in-out infinite;

  transform-origin: center;
}

@keyframes phoneRing {
  0%,
  20%,
  100% {
    transform: rotate(0deg);
  }

  5% {
    transform: rotate(-14deg);
  }

  10% {
    transform: rotate(14deg);
  }

  15% {
    transform: rotate(-8deg);
  }
}

/* Ring waves */

.ring-wave {
  position: absolute;

  inset: -5px;

  border: 1px solid rgba(255, 255, 255, 0.55);

  border-radius: 50%;

  opacity: 0;

  animation: ringWave 2s ease-out infinite;
}

.ring-wave-2 {
  animation-delay: 0.7s;
}

@keyframes ringWave {
  0% {
    transform: scale(0.85);

    opacity: 0.7;
  }

  100% {
    transform: scale(1.55);

    opacity: 0;
  }
}

.call-details {
  display: flex;

  flex-direction: column;

  gap: 3px;
}

.call-details small {
  color: rgba(255, 255, 255, 0.65);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 1.5px;
}

.call-details strong {
  font-size: 18px;
}

.call-arrow {
  margin-left: auto;

  font-size: 24px;

  transition: transform 0.3s ease;
}

.call-box:hover .call-arrow {
  transform: translateX(5px);
}

/* =========================================

   OPENING HOURS

========================================= */

.opening-hours {
  position: relative;

  z-index: 2;

  padding-top: 8px;
}

.hours-heading {
  display: flex;

  align-items: center;

  gap: 14px;

  margin-bottom: 20px;
}

.hours-icon {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 45px;

  height: 45px;

  flex: 0 0 45px;

  color: var(--theme-primery);

  background: var(--theme-light);

  border-radius: 12px;
}

.hours-icon svg {
  width: 24px;

  height: 24px;
}

.hours-heading > div > span {
  display: block;

  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.6);

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 1.5px;
}

.hours-heading h4 {
  margin: 0;

  font-size: 21px;

  font-weight: 600;
}

.opening-hours ul {
  padding: 0;

  margin: 0;

  list-style: none;
}

.opening-hours li {
  display: flex;

  justify-content: space-between;

  gap: 15px;

  padding: 13px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.12);

  color: rgba(255, 255, 255, 0.72);
}

.opening-hours li strong {
  color: var(--theme-white);

  font-weight: 600;

  text-align: right;
}

.opening-hours li.closed-day strong {
  color: var(--theme-light);
}

/* Decorative circles */

.contact-card-shape {
  position: absolute;

  z-index: 1;

  display: block;

  border: 1px solid rgba(225, 186, 253, 0.18);

  border-radius: 50%;
}

.shape-one {
  width: 280px;

  height: 280px;

  right: -120px;

  top: -100px;
}

.shape-two {
  width: 420px;

  height: 420px;

  right: -220px;

  bottom: -230px;
}

/* =========================================

   RIGHT FORM CARD

========================================= */

.contact-form-card {
  height: 100%;

  min-height: 620px;

  padding: 55px 50px;

  background: #fff;

  border: 1px solid rgba(146, 11, 76, 0.1);

  border-radius: 28px;

  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.07);
}

.form-heading {
  margin-bottom: 35px;
}

.form-heading p {
  max-width: 650px;

  margin: 17px 0 0;
}

.form-group label {
  display: block;

  margin-bottom: 9px;

  font-size: 1.2rem;

  font-weight: 600;

  color: var(--theme-primery);
}

.input-wrap {
  position: relative;
}

.input-wrap > svg {
  position: absolute;

  z-index: 2;

  top: 50%;

  left: 17px;

  width: 21px;

  height: 21px;

  color: var(--theme-primery);

  transform: translateY(-50%);

  pointer-events: none;
}

.input-wrap input,
.input-wrap select,
.input-wrap textarea {
  width: 100%;

  color: #222;

  font-family: inherit;

  font-size: 14px;

  background: #faf7fb;

  border: 1px solid #eee3f0;

  outline: none;

  transition: all 0.3s ease;
}

.input-wrap input,
.input-wrap select {
  height: 55px;

  padding: 0 18px 0 50px;

  border-radius: 12px;
}

.input-wrap textarea {
  min-height: 125px;

  padding: 17px 18px 17px 50px;

  resize: vertical;

  border-radius: 12px;
}

.input-wrap select {
  appearance: none;

  cursor: pointer;
}

.input-wrap:has(select)::after {
  content: "";

  position: absolute;

  top: 50%;

  right: 18px;

  width: 8px;

  height: 8px;

  border-right: 1px solid var(--theme-primery);

  border-bottom: 1px solid var(--theme-primery);

  transform: translateY(-70%) rotate(45deg);

  pointer-events: none;
}

.input-wrap input:focus,
.input-wrap select:focus,
.input-wrap textarea:focus {
  background: #fff;

  border-color: var(--theme-secondary);

  box-shadow: 0 0 0 4px rgba(182, 87, 173, 0.1);
}

.textarea-wrap > svg {
  top: 23px;

  transform: none;
}

/* =========================================

   Our team

========================================= */

.trc_team {
  background: #ebe8eb;
}

.our-team {
  text-align: center;

  overflow: hidden;

  position: relative;

  border-radius: 20px 20px 0 0;
}

.our-team img {
  width: 100%;

  height: auto;
}

.our-team .team-content {
  width: 100%;

  background: var(--theme-primery);

  color: #fff;

  padding: 15px 0 10px 0;

  position: absolute;

  bottom: 0;

  left: 0;

  z-index: 1;

  transition: all 0.3s ease 0s;
}

.our-team:hover .team-content {
  padding-bottom: 40px;
}

.our-team .team-content:before,
.our-team .team-content:after {
  content: "";

  width: 60%;

  height: 38px;

  background: var(--theme-primery);

  position: absolute;

  top: -18px;

  transform: rotate(14deg);

  z-index: -1;
}

.our-team .team-content:before {
  left: -3%;
}

.our-team .team-content:after {
  right: -3%;

  transform: rotate(-14deg);
}

.our-team .title {
  font-size: 20px;

  font-weight: 600;

  text-transform: capitalize;

  margin: 0 0 7px 0;

  position: relative;
}

.our-team .title:before,
.our-team .title:after {
  content: "";

  width: 7px;

  height: 112px;

  background: var(--theme-secondary);

  position: absolute;

  top: -88px;

  z-index: -2;

  transform: rotate(-76deg);
}

.our-team .title:before {
  left: 32%;
}

.our-team .title:after {
  right: 32%;

  transform: rotate(76deg);
}

.our-team .post {
  display: block;

  font-size: 13px;

  text-transform: capitalize;

  margin-bottom: 8px;
}

.our-team .social-links {
  list-style: none;

  padding: 0 0 15px 0;

  margin: 0;

  position: absolute;

  bottom: -40px;

  right: 0;

  left: 0;

  transition: all 0.5s ease 0s;
}

.our-team:hover .social-links {
  bottom: 0;
}

.our-team .social-links li {
  display: inline-block;
}

.our-team .social-links li a {
  display: block;

  font-size: 16px;

  color: #aad6e1;

  margin-right: 6px;

  transition: all 0.5s ease 0s;
}

.our-team .social-links li:last-child a {
  margin-right: 0;
}

.our-team .social-links li a:hover {
  color: #ff5543;
}

.our-team .team-content .hero-buttons {
  display: none;

  transition: all 0.8s ease-in-out;
}

.our-team:hover .team-content .hero-buttons {
  display: block;
}

@media only screen and (max-width: 990px) {
  .our-team {
    margin-bottom: 30px;
  }

  .our-team .team-content:before,
  .our-team .team-content:after {
    height: 50px;

    top: -24px;
  }

  .our-team .title:before,
  .our-team .title:after {
    top: -85px;

    height: 102px;
  }

  .our-team .title:before {
    left: 35%;
  }

  .our-team .title:after {
    right: 35%;
  }
}

@media only screen and (max-width: 767px) {
  .our-team .team-content:before,
  .our-team .team-content:after {
    height: 75px;
  }

  .our-team .team-content:before {
    transform: rotate(8deg);
  }

  .our-team .team-content:after {
    transform: rotate(-8deg);
  }

  .our-team .title:before,
  .our-team .title:after {
    width: 10px;

    top: -78px;

    height: 102px;
  }

  .our-team .title:before {
    left: 42.5%;

    transform: rotate(-82deg);
  }

  .our-team .title:after {
    right: 42.5%;

    transform: rotate(82deg);
  }
}

@media only screen and (max-width: 480px) {
  .our-team .title:before,
  .our-team .title:after {
    top: -83px;
  }
}

/* =========================================

   Testimonial slider

========================================= */

.testimonial__slider {
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--theme-primery) 85%, transparent) 0%,

      color-mix(in srgb, var(--theme-secondary) 85%, transparent) 100%
    ),
    url("./../images/letter.jpg");

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  background-attachment: fixed;
}

.testimonial {
  position: relative;

  height: 100%;

  padding: 15px;

  background: linear-gradient(145deg, #ffffff 0%, #fdf7fd 100%);

  border-radius: 22px;

  box-shadow: 0 2px 5px rgba(146, 11, 76, 0.08);

  transition: all 0.35s ease;

  overflow: hidden;
}

.testimonial:hover {
  border-color: rgba(182, 87, 173, 0.35);

  box-shadow: 0 4px 10px rgba(146, 11, 76, 0.13);

  transform: translateY(-5px);
}

.testimonial__slider .section-subtitle {
  color: var(--theme-light);
}

.testimonial__slider .section-subtitle::before {
  background: var(--theme-secondary);
}

.testimonial__slider .section-heading h2 {
  color: var(--theme-light);
}
#testimonial-slider .owl-item {
  padding: 20px;
}
/* =========================================

   DESCRIPTION

========================================= */

.testimonial .description {
  position: relative;

  padding: 10px 15px 15px 15px;

  margin-bottom: 25px;

  color: #000;

  line-height: 1.6;

  text-align: left;

  background: linear-gradient(135deg, #ffffff, #fdf8fd);

  border-top: 4px solid var(--theme-secondary);

  border-left: 4px solid var(--theme-secondary);

  border-radius: 16px 0 16px 0;

  height: 190px;
}

/* Bottom decorative line */

.testimonial .description:after {
  content: "";

  position: absolute;

  width: 15%;

  height: 4px;

  background: var(--theme-secondary);

  bottom: 0;

  left: 0;
}

/* =========================================

   SVG QUOTE ICON

========================================= */

.testimonial .description:before {
  content: "";

  display: block;

  width: 38px;

  height: 38px;

  margin-bottom: 12px;

  background-color: var(--theme-primery);

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M7.17 6C4.87 6 3 7.87 3 10.17v.66C3 13.13 4.87 15 7.17 15h1.66C9.48 18.15 7.6 20 5 20v2c4.48 0 7-3.38 7-8.17v-3.66C12 7.87 10.13 6 7.83 6H7.17Zm10 0C14.87 6 13 7.87 13 10.17v.66C13 13.13 14.87 15 17.17 15h1.66c.65 3.15-1.23 5-3.83 5v2c4.48 0 7-3.38 7-8.17v-3.66C22 7.87 20.13 6 17.83 6h-.66Z'/%3E%3C/svg%3E");

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M7.17 6C4.87 6 3 7.87 3 10.17v.66C3 13.13 4.87 15 7.17 15h1.66C9.48 18.15 7.6 20 5 20v2c4.48 0 7-3.38 7-8.17v-3.66C12 7.87 10.13 6 7.83 6H7.17Zm10 0C14.87 6 13 7.87 13 10.17v.66C13 13.13 14.87 15 17.17 15h1.66c.65 3.15-1.23 5-3.83 5v2c4.48 0 7-3.38 7-8.17v-3.66C22 7.87 20.13 6 17.83 6h-.66Z'/%3E%3C/svg%3E");

  mask-repeat: no-repeat;

  mask-position: center;

  mask-size: contain;

  -webkit-mask-repeat: no-repeat;

  -webkit-mask-position: center;

  -webkit-mask-size: contain;
}

/* =========================================

   TESTIMONIAL CONTENT

========================================= */

.testimonial .testimonial-content {
  position: relative;

  display: flex;

  align-items: center;

  gap: 15px;
}

/* Vertical connector */

.testimonial .testimonial-content:before {
  content: "";

  position: absolute;

  width: 4px;

  height: 20px;

  background: var(--theme-secondary);

  top: -29px;

  left: calc(15% - 0px);
}

/* Diagonal connector */

.testimonial .testimonial-content:after {
  content: "";

  position: absolute;

  width: 5px;

  height: 35px;

  background: var(--theme-primery);

  top: -43px;

  left: 15%;

  transform: skewX(-45deg);

  transform-origin: 100% 100%;
}

/* =========================================

   PROFILE IMAGE

========================================= */

.testimonial__slider .owl-carousel .owl-item {
  margin-block: 20px;

  padding-inline: 20px;
}

.testimonial .pic {
  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  flex: 0 0 70px;

  width: 70px;

  height: 70px;

  margin: 0;

  padding: 3px;

  background: linear-gradient(
    135deg,
    var(--theme-primery),
    var(--theme-secondary)
  );

  border-radius: 50%;
}

.testimonial .pic img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  border: 3px solid var(--theme-white);

  border-radius: 50%;
}

/* =========================================

   NAME

========================================= */

.testimonial .title {
  display: block;

  margin: 0;

  color: var(--theme-primery);

  font-weight: 700;

  letter-spacing: 0.5px;

  text-transform: capitalize;
}

/* =========================================

   OPTIONAL DESIGNATION

========================================= */

.testimonial .designation {
  display: block;

  margin-top: 4px;

  color: #000;

  font-weight: 500;
}

/* =========================================

   OWL NAVIGATION

========================================= */

#testimonial-slider .owl-nav {
  display: flex;

  justify-content: center;

  gap: 10px;

  margin-top: 30px;
}

#testimonial-slider .owl-nav button {
  width: 46px;

  height: 46px;

  display: flex !important;

  align-items: center;

  justify-content: center;

  padding: 0 !important;

  margin: 0 !important;

  color: var(--theme-primery) !important;

  background: var(--theme-white) !important;

  border: 1px solid rgba(146, 11, 76, 0.15) !important;

  border-radius: 50% !important;
}

#testimonial-slider .owl-nav button svg {
  display: block;

  width: 20px;

  height: 20px;
}

#testimonial-slider .owl-nav button:hover {
  color: var(--theme-white) !important;

  background: var(--theme-primery) !important;
}

/* =========================================

   PREMIUM BLOG SECTION

========================================= */

.revive-premium-blog {
  position: relative;

  overflow: hidden;

  background: #fbf8fc;
}

/* =========================================

   SECTION HEADING

========================================= */

.premium-section-heading {
  position: relative;
}

.premium-eyebrow {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 15px;

  color: var(--theme-primery);

  font-weight: 700;

  letter-spacing: 2px;
}

.premium-eyebrow span {
  display: block;

  width: 30px;

  height: 2px;

  background: var(--theme-secondary);
}

.premium-section-heading h2 {
  margin: 0;

  color: var(--theme-black);

  line-height: 1.1;
}

.premium-section-heading h2 span {
  display: block;

  color: var(--theme-primery);
}

/* Right heading */

.premium-heading-right {
  max-width: 460px;

  margin-left: auto;
}

.premium-heading-right p {
  margin: 0 0 20px;

  color: #756b74;

  line-height: 1.8;
}

.view-all-blog {
  display: inline-flex;

  align-items: center;

  gap: 12px;

  color: var(--theme-primery);

  text-decoration: none;

  font-weight: 700;
}

.view-all-blog i {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 36px;

  height: 36px;

  color: var(--theme-white);

  background: var(--theme-primery);

  border-radius: 50%;

  transition: all 0.35s ease;
}

.view-all-blog svg {
  width: 17px;

  height: 17px;
}

.view-all-blog:hover {
  color: var(--theme-secondary);
}

.view-all-blog:hover i {
  background: var(--theme-secondary);

  transform: translateX(5px);
}

/* =========================================

   BLOG CARD

========================================= */

.premium-blog-card {
  position: relative;

  height: 100%;

  overflow: hidden;

  background: var(--theme-white);

  border: 1px solid rgba(146, 11, 76, 0.08);

  border-radius: 24px;

  box-shadow: 0 10px 30px rgba(146, 11, 76, 0.04);

  transition:
    transform 0.45s ease,
    box-shadow 0.45s ease,
    border-color 0.45s ease;
}

.premium-blog-card:hover {
  transform: translateY(-8px);

  border-color: rgba(182, 87, 173, 0.3);

  box-shadow: 0 25px 60px rgba(146, 11, 76, 0.12);
}

/* =========================================

   IMAGE

========================================= */

.premium-blog-image {
  position: relative;

  height: 280px;

  overflow: hidden;

  background: var(--theme-light);
}

.premium-blog-image a {
  display: block;

  width: 100%;

  height: 100%;
}

.premium-blog-image img {
  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.premium-blog-card:hover .premium-blog-image img {
  transform: scale(1.08);
}

/* Image overlay */

.premium-blog-image::after {
  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.03) 25%,

    rgba(40, 0, 25, 0.5) 100%
  );

  pointer-events: none;
}

/* =========================================

   CATEGORY

========================================= */

.premium-blog-category {
  position: absolute;

  z-index: 3;

  top: 18px;

  left: 18px;

  padding: 8px 14px;

  color: var(--theme-white);

  background: rgba(146, 11, 76, 0.9);

  border: 1px solid rgba(255, 255, 255, 0.25);

  border-radius: 50px;

  backdrop-filter: blur(8px);
}

/* =========================================

   DATE

========================================= */

.premium-blog-date {
  position: absolute;

  z-index: 3;

  right: 18px;

  bottom: 18px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  width: 60px;

  height: 65px;

  color: var(--theme-white);

  background: rgba(255, 255, 255, 0.16);

  border: 1px solid rgba(255, 255, 255, 0.35);

  border-radius: 15px;

  backdrop-filter: blur(12px);

  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.premium-blog-date strong {
  line-height: 1;

  font-weight: 700;
}

.premium-blog-date span {
  margin-top: 5px;

  opacity: 0.85;

  text-transform: uppercase;
}

/* =========================================

   CONTENT

========================================= */

.premium-blog-content {
  display: flex;

  flex-direction: column;

  min-height: 285px;

  padding: 28px;
}

/* =========================================

   META

========================================= */

.premium-blog-meta {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 10px;

  margin-bottom: 15px;

  color: #9b9098;
}

.premium-blog-meta span {
  display: inline-flex;

  align-items: center;

  gap: 6px;
}

.premium-blog-meta svg {
  width: 16px;

  height: 16px;

  color: var(--theme-secondary);
}

.meta-dot {
  width: 4px !important;

  height: 4px;

  background: var(--theme-light);

  border-radius: 50%;
}

/* =========================================

   TITLE

========================================= */

.premium-blog-content h3 {
  margin: 0 0 13px;

  line-height: 1.35;
}

.premium-blog-content h3 a {
  color: #261e24;

  text-decoration: none;

  transition: color 0.3s ease;
}

.premium-blog-content h3 a:hover {
  color: var(--theme-primery);
}

.premium-blog-content p {
  margin: 0;

  color: #000;

  line-height: 1.75;
}

.premium-blog-footer {
  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-top: auto;

  padding-top: 25px;
}

.premium-read-more {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: var(--theme-primery);

  text-decoration: none;

  font-weight: 700;
}

.premium-read-more > span {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 32px;

  height: 32px;

  color: var(--theme-white);

  background: var(--theme-primery);

  border-radius: 50%;

  transition: all 0.35s ease;
}

.premium-read-more svg {
  width: 16px;

  height: 16px;
}

.premium-blog-card:hover .premium-read-more {
  color: var(--theme-primery);
}

.premium-blog-card:hover .premium-read-more > span {
  background: var(--theme-secondary);

  transform: translateX(5px);
}

/* Card number */

.blog-number {
  color: #eee4ed;

  font-weight: 700;

  transition: color 0.3s ease;
}

.premium-blog-card:hover .blog-number {
  color: var(--theme-light);
}

/* =========================================================

   REVIVE FOOTER

========================================================= */

.revive-footer {
  padding: 70px 0 0;

  background: #fff;
}

.map {
  line-height: 0.7;
}

/* =========================================================

   OUTER FOOTER

========================================================= */

.revive-footer-frame {
  position: relative;

  overflow: hidden;

  padding: 0;

  border-radius: 0 0 24px 24px;

  background: var(--theme-primery);

  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}

/* =========================================================

   TOP WHITE CURVE

   Similar to your reference image

========================================================= */

.revive-footer-frame::before {
  content: "";

  position: absolute;

  top: -115px;

  left: -8%;

  width: 116%;

  height: 190px;

  background: #fff;

  border-radius: 0 0 50% 50%;

  z-index: 5;
}

/* =========================================================

   INNER FOOTER

========================================================= */

.revive-footer-inner {
  position: relative;

  overflow: hidden;

  background: #fbf8fc;
}

.footer_lower {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--theme-primery) 100%, transparent) 0%,

    #60002e 100%
  );
}

/* =========================================================

   NEWSLETTER

========================================================= */

.revive-newsletter {
  position: relative;

  min-height: 370px;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 30px 30px 0;

  overflow: hidden;

  text-align: center;

  /* Gradient OVER image */

  background-image:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--theme-primery) 85%, transparent) 0%,

      color-mix(in srgb, var(--theme-secondary) 85%, transparent) 100%
    ),
    url("./../images/letter.jpg");

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  clip-path: ellipse(100% 100% at 50% 100%);
}

/* Remove old newsletter curve */

.revive-newsletter::before {
  /* display: none; */
}

/* =========================================================

   NEWSLETTER CONTENT

========================================================= */

.newsletter-content {
  position: relative;

  z-index: 10;

  width: min(650px, 100%);

  margin: auto;
}

.newsletter-small-title {
  display: block;

  margin-bottom: 10px;

  color: var(--theme-light);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 2.5px;

  text-transform: uppercase;
}

.newsletter-content h2 {
  margin: 0 0 10px;

  color: #fff;
}

.newsletter-content h2 span {
  display: inline;

  color: var(--theme-light);
}

.newsletter-content p {
  max-width: 500px;

  margin: 0 auto 25px;

  color: rgba(255, 255, 255, 0.78);

  line-height: 1.7;
}

/* =========================================================

   NEWSLETTER FORM

========================================================= */

.newsletter-form {
  display: flex;

  width: min(500px, 100%);

  margin: auto;

  padding: 4px;

  background: #fff;

  border-radius: 50px;

  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.newsletter-form input {
  flex: 1;

  min-width: 0;

  padding: 12px 18px;

  color: #333;

  background: transparent;

  border: 0;

  outline: 0;

  font-size: 13px;
}

.newsletter-form input::placeholder {
  color: #aaa;
}

.newsletter-form button {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 6px;

  min-width: 110px;

  padding: 11px 20px;

  color: #fff;

  background: var(--theme-primery);

  border: 0;

  border-radius: 50px;

  font-weight: 600;

  cursor: pointer;

  transition: 0.3s ease;
}

.newsletter-form button svg {
  width: 16px;

  height: 16px;
}

.newsletter-form button:hover {
  background: var(--theme-secondary);

  transform: translateY(-1px);
}

/* =========================================================

   DECORATIVE CIRCLES

========================================================= */

.footer-circle {
  position: absolute;

  display: block;

  border-radius: 50%;

  pointer-events: none;

  background: rgba(255, 255, 255, 0.08);

  border: 1px solid rgba(255, 255, 255, 0.15);
}

.circle-1 {
  width: 200px;

  height: 200px;

  left: -50px;

  bottom: -64px;
}

.circle-2 {
  width: 110px;

  height: 110px;

  right: 8%;

  bottom: 25px;
}

.circle-3 {
  width: 35px;

  height: 35px;

  right: 20%;

  bottom: 80px;

  background: var(--theme-light);

  border: 0;
}

/* =========================================================

   CONTACT ROW

========================================================= */

.footer-contact-row {
  position: relative;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  background: rgba(255, 255, 255, 0.08);

  border-top: 1px solid rgba(255, 255, 255, 0.15);

  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.footer-contact-box {
  display: flex;

  align-items: center;

  gap: 15px;

  min-height: 115px;

  padding: 22px 25px;

  border-right: 1px solid rgba(255, 255, 255, 0.13);
}

.footer-contact-box:last-child {
  border-right: 0;
}

/* =========================================================

   CONTACT ICON

========================================================= */

.footer-icon {
  flex: 0 0 44px;

  width: 44px;

  height: 44px;

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--theme-primery);

  background: var(--theme-light);

  border-radius: 50%;
}

.footer-icon svg {
  width: 21px;

  height: 21px;
}

/* =========================================================

   CONTACT TEXT

========================================================= */

.footer-label {
  display: block;

  margin-bottom: 6px;

  color: var(--theme-light);

  font-weight: 700;

  letter-spacing: 1px;

  text-transform: uppercase;
}

.footer-contact-box a,
.footer-contact-box p {
  display: block;

  margin: 0;

  color: rgba(255, 255, 255, 0.82);

  line-height: 1.65;

  text-decoration: none;
}

.footer-contact-box a:hover {
  color: var(--theme-light);
}

.footer-contact-box strong {
  color: #fff;
}

/* =========================================================

   LINKS AREA

========================================================= */

.footer-links-row {
  display: grid;

  grid-template-columns:
    1.1fr
    1.1fr
    1.1fr
    1fr;

  gap: 35px;

  padding: 38px 25px 10px;

  background: rgba(255, 255, 255, 0.035);

  /* border-bottom: 1px solid rgba(255, 255, 255, 0.15); */
}

/* =========================================================

   COLUMN TITLE

========================================================= */

.footer-column h4 {
  margin: 0 0 15px;

  color: var(--theme-light);

  font-size: 22px;

  font-weight: 700;

  text-transform: uppercase;
}

/* =========================================================

   COLUMN LIST

========================================================= */

.footer-column ul {
  margin: 0;

  padding: 0;

  list-style: none;
}

.footer-column li {
  margin-bottom: 7px;
}

.footer-column li a {
  color: #fff;

  text-decoration: none;

  transition: 0.3s ease;
}

.footer-column li a:hover {
  color: var(--theme-light);

  padding-left: 4px;
}

/* =========================================================

   SOCIAL

========================================================= */

.footer-social {
  display: flex;

  gap: 7px;

  margin-bottom: 14px;
}

.social-text {
  margin: 0;

  color: rgba(255, 255, 255, 0.58);

  line-height: 1.6;
}

.more_location_wrap {
  display: flex;

  flex-wrap: wrap;

  gap: 25px;

  background: rgba(255, 255, 255, 0.035);

  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.more_location {
  flex: 1 1 calc(20% - 20px);

  min-width: 180px;

  position: relative;

  padding: 28px 24px;

  border-radius: 14px;

  overflow: hidden;

  transition: all 0.35s ease;
}

.more_location h4 {
  margin: 0 0 15px;

  color: var(--theme-light);

  font-size: 22px;

  font-weight: 700;

  text-transform: uppercase;
}

.more_location ul {
  margin: 0;

  padding: 0;

  list-style: none;
}

.more_location li {
  margin-bottom: 7px;
}

.more_location li a {
  color: #fff;

  text-decoration: none;

  transition: 0.3s ease;
}

.more_location li a:hover {
  color: var(--theme-light);

  padding-left: 4px;
}

/* =========================================================

   BOTTOM BAR

========================================================= */

.footer-bottom {
  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 16px 25px;

  background: rgba(255, 255, 255, 0.07);
}

.footer-bottom p {
  margin: 0;

  color: rgba(255, 255, 255, 0.55);
}

.footer-bottom-links {
  display: flex;

  gap: 20px;
}

.footer-bottom-links a {
  color: #fff;

  font-weight: 700;

  text-decoration: none;

  transition: 0.3s ease;
}

.footer-bottom-links a:hover {
  color: var(--theme-light);
}

/* =========================================

   BACK TO TOP

========================================= */

.back-to-top {
  --size: 38px;

  /* --border-width: 2px; */

  position: fixed;

  right: 30px;

  bottom: 30px;

  width: var(--size);

  height: var(--size);

  padding: 0;

  border: 0;

  border-radius: 50%;

  background: var(--theme-black);

  display: flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  z-index: 9999;

  opacity: 0;

  visibility: hidden;

  pointer-events: none;

  transform: translateY(20px) scale(0.85);

  transition:
    opacity 0.35s ease,
    visibility 0.35s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Visible state */

.back-to-top.is-visible {
  opacity: 1;

  visibility: visible;

  pointer-events: auto;

  transform: translateY(0) scale(1);
}

/* =========================================

   OUTER BORDER / PROGRESS

========================================= */

.back-to-top__progress {
  position: absolute;

  inset: -1px;

  border-radius: 50%;

  background: conic-gradient(
    var(--theme-secondary) 0deg,

    var(--theme-light) 0deg,

    rgba(255, 255, 255, 0.12) 0deg
  );

  transition: background 0.1s linear;
}

/* Inner circle */

.back-to-top__progress::after {
  content: "";

  position: absolute;

  inset: var(--border-width);

  border-radius: 50%;

  background: var(--theme-black);
}

/* =========================================

   ICON

========================================= */

.back-to-top__icon {
  position: relative;

  z-index: 2;

  width: 22px;

  height: 22px;

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--theme-white);

  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.3s ease;
}

.back-to-top__icon svg {
  width: 100%;

  height: 100%;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* =========================================

   HOVER

========================================= */

.back-to-top:hover {
  transform: translateY(-5px) scale(1.04);
}

.back-to-top:hover .back-to-top__icon svg {
  transform: translateY(-3px);
}

.back-to-top:hover .back-to-top__icon {
  color: var(--theme-light);
}

/* =========================================

   ACTIVE / CLICK

========================================= */

.back-to-top:active {
  transform: translateY(-2px) scale(0.96);
}

/* =========================================

   KEYBOARD ACCESSIBILITY

========================================= */

.back-to-top:focus-visible {
  outline: 2px solid var(--theme-light);

  outline-offset: 5px;
}

/* =========================================

   MOBILE

========================================= */

@media (max-width: 767px) {
  .back-to-top {
    --size: 50px;

    right: 18px;

    bottom: 18px;
  }

  .back-to-top__icon {
    width: 19px;

    height: 19px;
  }
}

/* =========================================

   REDUCE MOTION

========================================= */

@media (prefers-reduced-motion: reduce) {
  .back-to-top,
  .back-to-top__icon,
  .back-to-top__icon svg {
    transition: none;
  }
}

/* =========================================================

   TABLET

========================================================= */

@media (max-width: 991px) {
  .revive-footer {
    padding-top: 50px;
  }

  .revive-footer-frame::before {
    top: -90px;

    height: 150px;
  }

  .revive-newsletter {
    padding-top: 110px;
  }

  .footer-contact-row {
    grid-template-columns: 1fr;
  }

  .footer-contact-box {
    border-right: 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  }

  .footer-contact-box:last-child {
    border-bottom: 0;
  }

  .footer-links-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =========================================================

   MOBILE

========================================================= */

@media (max-width: 767px) {
  .revive-footer {
    padding-top: 35px;
  }

  .revive-footer-frame {
    border-radius: 0 0 18px 18px;
  }

  .revive-footer-frame::before {
    top: -65px;

    left: -15%;

    width: 130%;

    height: 105px;
  }

  .revive-footer-inner {
    border-radius: 0 0 18px 18px;
  }

  .revive-newsletter {
    min-height: 350px;

    padding: 85px 20px 60px;
  }

  .newsletter-content h2 {
    font-size: 30px;
  }

  .newsletter-content p {
    font-size: 13px;
  }

  .newsletter-form {
    flex-direction: column;

    padding: 6px;

    border-radius: 14px;
  }

  .newsletter-form input {
    width: 100%;

    padding: 12px 14px;
  }

  .newsletter-form button {
    width: 100%;
  }

  .footer-links-row {
    grid-template-columns: 1fr 1fr;

    gap: 30px 15px;

    padding: 32px 20px;
  }

  .footer-bottom {
    flex-direction: column;

    gap: 10px;

    text-align: center;
  }
}

/* =========================================================

   SMALL MOBILE

========================================================= */

@media (max-width: 480px) {
  .revive-newsletter {
    padding-top: 75px;
  }

  .newsletter-content h2 {
    font-size: 27px;
  }

  .footer-links-row {
    grid-template-columns: 1fr;
  }

  .footer-contact-box {
    padding: 20px;
  }

  .footer-bottom-links {
    flex-direction: column;

    gap: 6px;
  }
}

/* =========================================

   BREADCRUMB SECTION

========================================= */

.breadcrumb-section {
  position: relative;

  min-height: 320px;

  display: flex;

  align-items: center;

  overflow: hidden;

  background-color: var(--theme-primery);

  background-image: var(--breadcrumb-bg);

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  color: var(--theme-white);
}

.breadcrumb-overlay {
  position: absolute;

  inset: 0;

  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.72) 0%,

    rgba(146, 11, 76, 0.55) 100%
  );

  z-index: 1;
}

.breadcrumb-content {
  position: relative;

  z-index: 2;

  padding: 70px 0 65px;
}

.breadcrumb-label {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 15px;

  color: var(--theme-light);

  font-size: 16px;

  font-weight: 700;

  letter-spacing: 2px;

  text-transform: uppercase;
}

.breadcrumb-label::before {
  content: "";

  width: 28px;

  height: 1px;

  background: var(--theme-light);
}

.breadcrumb-content h1 {
  margin: 0 0 20px;

  line-height: 1;

  color: var(--theme-light);

  font-weight: 600;

  letter-spacing: -2px;
}

.breadcrumb {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 4px;
}

.breadcrumb-item {
  font-size: 1.1rem;

  font-weight: 700;
}

.breadcrumb-item a {
  color: rgba(255, 255, 255, 0.75);

  text-decoration: none;

  transition: color 0.3s ease;
}

.breadcrumb-item a:hover {
  color: var(--theme-light);
}

.breadcrumb-item.active {
  color: var(--theme-primery);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.5);

  content: "→";
}

/* about page */

/* =========================================

   WHY CHOOSE US

========================================= */

.why-choose-section {
  background: #faf7fa;

  overflow: hidden;
}

.why-choose-image {
  position: relative;

  min-height: 550px;

  overflow: hidden;

  border-radius: 20px;
}

.why-choose-image img {
  display: block;

  object-fit: cover;

  object-position: center;

  border-radius: 20px;
}

/* Image overlay */

.why-choose-image::after {
  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(
    180deg,
    transparent 60%,

    rgba(0, 0, 0, 0.35) 100%
  );

  pointer-events: none;
}

/* =========================================

   EXPERIENCE BADGE

========================================= */

.why-experience-badge {
  position: absolute;

  right: 20px;

  bottom: 20px;

  z-index: 2;

  display: flex;

  align-items: center;

  gap: 12px;

  padding: 18px 22px;

  background: var(--theme-white);

  border-radius: 14px;

  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.why-experience-badge strong {
  color: var(--theme-primery);

  font-size: 38px;

  line-height: 1;
}

.why-experience-badge span {
  color: #555;

  font-size: 12px;

  line-height: 1.35;
}

/* =========================================

   RIGHT CONTENT

========================================= */

.why-choose-content {
  display: flex;

  flex-direction: column;

  background: var(--theme-white);

  border-radius: 20px;

  padding: 20px;

  border: 1px solid rgba(146, 11, 76, 0.08);
}

.why-choose-content .section-heading {
  max-width: 100%;
}

.why-choose-content .section-heading p {
  max-width: 100%;
}

.why-usp-grid {
  margin-top: 35px;
}

.why-usp {
  height: 100%;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 16px;

  border-radius: 12px;

  background: #faf7fa;

  border: 1px solid rgba(146, 11, 76, 0.06);

  transition:
    background 0.3s ease,
    transform 0.3s ease,
    border-color 0.3s ease;
}

.why-usp:hover {
  background: #f3e6f2;

  border-color: rgba(146, 11, 76, 0.15);

  transform: translateY(-3px);
}

.why-usp-icon {
  width: 42px;

  height: 42px;

  min-width: 42px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 10px;

  background: var(--theme-light);

  color: var(--theme-primery);
}

.why-usp-icon svg {
  width: 21px;

  height: 21px;

  stroke: currentColor;

  stroke-width: 1.7;

  stroke-linecap: round;

  stroke-linejoin: round;
}

.why-usp h5 {
  margin: 0 0 5px;

  color: var(--theme-primery);

  font-size: 1.2rem;

  font-weight: 700;
}

.why-choose-action {
  margin-top: auto;

  padding-top: 35px;
}

.revive-btn {
  display: inline-flex;

  align-items: center;

  gap: 14px;

  padding: 6px 6px 6px 22px;

  color: var(--theme-white);

  background: var(--theme-primery);

  border-radius: 50px;

  text-decoration: none;

  font-size: 13px;

  font-weight: 600;

  transition:
    background 0.3s ease,
    transform 0.3s ease;
}

.revive-btn:hover {
  color: var(--theme-white);

  background: var(--theme-secondary);

  transform: translateY(-2px);
}

.revive-btn-icon {
  width: 40px;

  height: 40px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 50%;

  background: var(--theme-white);

  color: var(--theme-primery);
}

.revive-btn-icon svg {
  width: 18px;

  height: 18px;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;
}

/* =========================================

   TABLET

========================================= */

@media (max-width: 991px) {
  .why-choose-intro {
    margin-top: 25px;
  }

  .why-choose-image {
    min-height: 500px;
  }

  .why-choose-content {
    padding: 35px;
  }
}

/* =========================================

   MOBILE

========================================= */

@media (max-width: 575px) {
  .why-choose-section {
    padding-top: 60px !important;

    padding-bottom: 60px !important;
  }

  .why-choose-title {
    font-size: 42px;
  }

  .why-choose-image {
    min-height: 420px;
  }

  .why-choose-content {
    padding: 25px 20px;
  }

  .why-content-top h3 {
    font-size: 32px;
  }

  .why-usp {
    padding: 13px;
  }

  .why-experience-badge {
    right: 12px;

    bottom: 12px;
  }
}

/* ==========================================

   TEAM DETAILS

========================================== */

.team-details-section {
  position: relative;

  overflow: hidden;
}

/* ==========================================

   IMAGE

========================================== */

.team-details-image {
  position: relative;

  min-height: 600px;

  overflow: hidden;

  background-color: var(--accent-secondary-color);

  border-radius: 24px;

  animation: teamImageReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.team-details-image img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.team-details-image:hover img {
  transform: scale(1.04);
}

.team-details-image::after {
  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(to top, rgba(0, 0, 0, 0.28), transparent 38%);

  pointer-events: none;
}

/* ==========================================

   IMAGE BADGE

========================================== */

.team-image-badge {
  position: absolute;

  left: 24px;

  right: 24px;

  bottom: 24px;

  z-index: 2;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 16px 18px;

  background: rgb(187 118 239 / 32%);

  border-radius: 16px;

  backdrop-filter: blur(10px);

  -webkit-backdrop-filter: blur(10px);

  animation: badgeFloat 4s ease-in-out infinite;
}

/* ==========================================

   BADGE ICON

========================================== */

.team-badge-icon {
  position: relative;

  width: 46px;

  height: 46px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  flex: 0 0 46px;

  color: var(--theme-white);

  background: var(--theme-primery);

  border-radius: 50%;
}

.team-badge-icon svg {
  width: 22px;

  height: 22px;
}

/* Badge pulse */

.team-badge-icon::before {
  content: "";

  position: absolute;

  inset: -5px;

  border: 1px solid var(--theme-primery);

  border-radius: 50%;

  opacity: 0;

  animation: badgePulse 2.5s ease-out infinite;
}

.team-image-badge div {
  display: flex;

  flex-direction: column;

  gap: 2px;
}

.team-badge-label {
  color: var(--theme-black);
}

.team-image-badge strong {
  color: var(--theme-black);
}

/* ==========================================

   CONTENT

========================================== */

.team-details-content {
  height: 100%;

  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 30px 0;

  animation: teamContentReveal 0.9s 0.15s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* ==========================================

   HEADING

========================================== */

.team-details-heading {
  margin-bottom: 20px;
}

.section-tag {
  display: inline-flex;

  align-items: center;

  gap: 9px;

  margin-bottom: 14px;

  color: var(--theme-primery);

  font-weight: 600;
}

.section-tag-line {
  position: relative;

  width: 30px;

  height: 2px;

  overflow: hidden;

  background: var(--theme-primery);
}

.section-tag-line::after {
  content: "";

  position: absolute;

  inset: 0;

  background: var(--theme-secondary);

  transform: translateX(-100%);

  animation: tagLine 2.5s ease-in-out infinite;
}

.team-details-heading h1 {
  margin-bottom: 8px;
}

.team-designation {
  margin: 0;

  color: var(--theme-secondary);

  font-weight: 600;
}

/* ==========================================

   INTRO

========================================== */

.team-details-intro {
  max-width: 700px;

  margin-bottom: 28px;
}

.team-details-intro p {
  margin: 0;

  color: var(--text-color);

  line-height: 1.8;
}

/* ==========================================

   INFO CARDS

========================================== */

.team-info-list {
  display: flex;

  flex-wrap: wrap;

  gap: 14px;

  margin-bottom: 30px;
}

.team-info-item {
  position: relative;

  flex: 1 1 200px;

  display: flex;

  align-items: center;

  gap: 12px;

  overflow: hidden;

  padding: 14px;

  background: var(--accent-secondary-color);

  border: 1px solid var(--divider-color);

  border-radius: 14px;

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.team-info-item::before {
  content: "";

  position: absolute;

  top: 0;

  left: -120%;

  width: 70%;

  height: 100%;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.12),
    transparent
  );

  transform: skewX(-20deg);

  transition: left 0.65s ease;
}

.team-info-item:hover {
  transform: translateY(-5px);

  border-color: var(--theme-primery);

  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

.team-info-item:hover::before {
  left: 140%;
}

/* ==========================================

   INFO ICON

========================================== */

.team-info-icon {
  width: 42px;

  height: 42px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  flex: 0 0 42px;

  color: var(--theme-white);

  background: var(--theme-primery);

  border-radius: 10px;

  transition:
    transform 0.35s ease,
    border-radius 0.35s ease;
}

.team-info-icon svg {
  width: 21px;

  height: 21px;

  color: #fff;
}

.team-info-item:hover .team-info-icon {
  transform: rotate(-8deg) scale(1.08);

  border-radius: 50%;
}

/* Info content */

.team-info-item div {
  display: flex;

  flex-direction: column;

  gap: 3px;
}

.team-info-item span {
  color: var(--theme-black);
}

.team-info-item strong {
  color: var(--theme-primery);
}

.team-specializations {
  margin-bottom: 30px;
}

.team-specializations h2 {
  margin-bottom: 16px;
}

.team-specialization-list {
  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  background: var(--theme-primery);

  padding: 20px;

  border-radius: 15px;
}

.team-specialization-list span {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 9px 14px;

  color: var(--theme-primery);

  font-weight: 700;

  background: var(--theme-white);

  border: 1px solid var(--divider-color);

  border-radius: 50px;

  transition:
    transform 0.3s ease,
    border-color 0.3s ease;
}

.team-specialization-list span:hover {
  transform: translateY(-4px);

  border-color: var(--theme-primery);
}

.team-specialization-list svg {
  width: 17px;

  height: 17px;

  flex: 0 0 17px;

  color: var(--theme-light);

  transition: transform 0.3s ease;
}

.team-specialization-list span:hover svg {
  transform: scale(1.15);
}

/* ==========================================

   ACTIONS

========================================== */

.team-details-action {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 22px;
}

/* ==========================================

   BUTTON SVG

========================================== */

.team-details-action .theme-btn {
  display: inline-flex;

  align-items: center;

  gap: 12px;
}

.team-details-action .theme-btn svg {
  width: 19px;

  height: 19px;

  transition: transform 0.3s ease;
}

.team-details-action .theme-btn:hover svg {
  transform: translateX(5px);
}

/* ==========================================

   CALL ACTION

========================================== */

.team-call-action {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: var(--theme-primery);

  text-decoration: none;
}

.team-call-icon {
  position: relative;

  width: 44px;

  height: 44px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  color: var(--theme-primery);

  border: 1px solid var(--theme-primery);

  border-radius: 50%;

  transition:
    transform 0.3s ease,
    background-color 0.3s ease;
}

.team-call-icon svg {
  width: 19px;

  height: 19px;
}

.team-call-action:hover .team-call-icon {
  transform: scale(1.08);

  background-color: var(--theme-light);
}

.team-call-action:hover .team-call-icon svg {
  animation: phoneRing 0.6s ease;
}

/* ==========================================

   CALL PULSE

========================================== */

.team-call-icon::before,
.team-call-icon::after {
  content: "";

  position: absolute;

  inset: -4px;

  border: 1px solid var(--theme-primery);

  border-radius: 50%;

  opacity: 0;

  pointer-events: none;
}

.team-call-action:hover .team-call-icon::before {
  animation: callPulse 2s ease-out infinite;
}

.team-call-action:hover .team-call-icon::after {
  animation: callPulse 2s 1s ease-out infinite;
}

/* Call text */

.team-call-action span:last-child {
  display: flex;

  flex-direction: column;

  gap: 2px;
}

.team-call-action small {
  color: var(--text-color);
}

.team-call-action strong {
  color: var(--primary-color);
}

/* ==========================================

   ANIMATIONS

========================================== */

@keyframes teamImageReveal {
  from {
    opacity: 0;

    transform: translateX(-40px);
  }

  to {
    opacity: 1;

    transform: translateX(0);
  }
}

@keyframes teamContentReveal {
  from {
    opacity: 0;

    transform: translateX(40px);
  }

  to {
    opacity: 1;

    transform: translateX(0);
  }
}

@keyframes badgeFloat {
  0%,
  100% {
    transform: translateY(0);
  }

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

@keyframes badgePulse {
  0% {
    transform: scale(0.8);

    opacity: 0;
  }

  30% {
    opacity: 0.35;
  }

  100% {
    transform: scale(1.35);

    opacity: 0;
  }
}

@keyframes tagLine {
  0%,
  100% {
    transform: translateX(-100%);
  }

  45%,
  55% {
    transform: translateX(100%);
  }
}

@keyframes phoneRing {
  0% {
    transform: rotate(0);
  }

  20% {
    transform: rotate(12deg);
  }

  40% {
    transform: rotate(-10deg);
  }

  60% {
    transform: rotate(8deg);
  }

  80% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(0);
  }
}

@keyframes callPulse {
  0% {
    transform: scale(1);

    opacity: 0.5;
  }

  70% {
    transform: scale(1.45);

    opacity: 0;
  }

  100% {
    transform: scale(1.45);

    opacity: 0;
  }
}

/* ==========================================

   TABLET

========================================== */

@media (max-width: 991.98px) {
  .team-details-image {
    min-height: 500px;
  }

  .team-details-content {
    padding: 10px 0 0;
  }
}

/* ==========================================

   MOBILE

========================================== */

@media (max-width: 575.98px) {
  .team-details-image {
    min-height: 420px;

    border-radius: 18px;
  }

  .team-image-badge {
    left: 14px;

    right: 14px;

    bottom: 14px;

    padding: 14px;
  }

  .team-info-item {
    flex-basis: 100%;
  }

  .team-details-action {
    align-items: flex-start;

    flex-direction: column;
  }
}

/* ==========================================

   ACCESSIBILITY

========================================== */

@media (prefers-reduced-motion: reduce) {
  .team-details-image,
  .team-details-content,
  .team-image-badge,
  .team-badge-icon::before,
  .section-tag-line::after {
    animation: none;
  }

  .team-details-image img,
  .team-info-item,
  .team-info-icon,
  .team-specialization-list span,
  .team-call-icon,
  .team-details-action .theme-btn svg {
    transition: none;
  }
}

/* =========================================================

   REVIVE REACHOUT

   Contact Page Component

========================================================= */

.revive-reachout {
  position: relative;

  padding: 100px 0;

  overflow: hidden;

  background: var(--theme-white);
}

/* =========================================================

   SECTION INTRO

========================================================= */

.revive-reachout__intro {
  max-width: 850px;

  margin: 0 auto 60px;
}

.revive-reachout__label,
.revive-reachout__eyebrow {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  color: var(--theme-primery);

  font-weight: 600;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.revive-reachout__label::before,
.revive-reachout__eyebrow::before {
  content: "";

  width: 28px;

  height: 2px;

  border-radius: 10px;

  background: var(--theme-secondary);
}

.revive-reachout__title {
  margin: 14px 0 18px;

  font-weight: 700;

  line-height: 1.15;
}

.revive-reachout__title span,
.revive-reachout__panel-head h2 span,
.revive-reachout__form-head h2 span {
  color: var(--theme-primery);
}

.revive-reachout__description {
  max-width: 680px;

  margin: 0 auto;

  color: #666;

  line-height: 1.8;
}

/* =========================================================

   MAIN LAYOUT

========================================================= */

.revive-reachout__layout {
  position: relative;
}

/* =========================================================

   LEFT CONTACT PANEL

========================================================= */

.revive-reachout__touchpoint {
  position: relative;

  height: 100%;

  padding: 50px;

  overflow: hidden;

  border-radius: 28px;

  background: var(--theme-primery);

  isolation: isolate;
}

.revive-reachout__touchpoint::before {
  content: "";

  position: absolute;

  top: -140px;

  right: -140px;

  width: 330px;

  height: 330px;

  border: 1px solid rgba(255, 255, 255, 0.18);

  border-radius: 50%;

  z-index: -1;
}

.revive-reachout__touchpoint::after {
  content: "";

  position: absolute;

  right: -90px;

  bottom: -100px;

  width: 280px;

  height: 280px;

  border: 1px solid rgba(255, 255, 255, 0.12);

  border-radius: 50%;

  z-index: -1;
}

.revive-reachout__panel-head {
  margin-bottom: 35px;
}

.revive-reachout__panel-head .revive-reachout__eyebrow {
  color: var(--theme-light);
}

.revive-reachout__panel-head .revive-reachout__eyebrow::before {
  background: var(--theme-light);
}

.revive-reachout__panel-head h2 {
  margin: 14px 0;

  color: var(--theme-white);

  line-height: 1.2;
}

.revive-reachout__panel-head p {
  margin: 0;

  color: rgba(255, 255, 255, 0.78);

  line-height: 1.75;
}

/* =========================================================

   CONTACT CARDS

========================================================= */

.revive-reachout__card {
  position: relative;

  display: flex;

  align-items: center;

  gap: 18px;

  width: 100%;

  min-height: 92px;

  padding: 18px 20px;

  margin-bottom: 14px;

  overflow: hidden;

  border: 1px solid rgba(255, 255, 255, 0.14);

  border-radius: 16px;

  background: rgba(255, 255, 255, 0.08);

  color: var(--theme-white);

  text-decoration: none;

  transition:
    transform 0.35s ease,
    background-color 0.35s ease,
    border-color 0.35s ease;
}

.revive-reachout__card::before {
  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(
    110deg,
    transparent 20%,

    rgba(255, 255, 255, 0.09) 50%,

    transparent 80%
  );

  transform: translateX(-120%);

  transition: transform 0.7s ease;
}

.revive-reachout__card:hover {
  transform: translateY(-4px);

  border-color: rgba(255, 255, 255, 0.3);

  background: rgba(255, 255, 255, 0.13);

  color: var(--theme-white);
}

.revive-reachout__card:hover::before {
  transform: translateX(120%);
}

/* =========================================================

   CARD ICON

========================================================= */

.revive-reachout__icon {
  position: relative;

  display: inline-flex;

  flex: 0 0 52px;

  align-items: center;

  justify-content: center;

  width: 52px;

  height: 52px;

  border-radius: 14px;

  background: var(--theme-light);

  color: var(--theme-primery);
}

.revive-reachout__icon svg {
  width: 24px;

  height: 24px;

  fill: currentColor;
}

.revive-reachout__content {
  position: relative;

  display: flex;

  flex: 1;

  flex-direction: column;

  gap: 5px;

  min-width: 0;
}

.revive-reachout__card-label {
  color: rgba(255, 255, 255, 0.65);

  font-weight: 500;
}

.revive-reachout__content strong {
  color: var(--theme-white);

  font-weight: 600;

  line-height: 1.4;

  overflow-wrap: anywhere;
}

.revive-reachout__arrow {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  flex: 0 0 34px;

  width: 34px;

  height: 34px;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.1);

  transition:
    transform 0.35s ease,
    background-color 0.35s ease;
}

.revive-reachout__arrow svg {
  width: 17px;

  height: 17px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.7;

  stroke-linecap: round;

  stroke-linejoin: round;
}

.revive-reachout__card:hover .revive-reachout__arrow {
  transform: translateX(5px);

  background: var(--theme-light);

  color: var(--theme-primery);
}

/* =========================================================

   PHONE ANIMATION

========================================================= */

.revive-reachout__card--phone .revive-reachout__icon {
  animation: reviveReachoutPhoneSignal 3s ease-in-out infinite;
}

.revive-reachout__card--phone .revive-reachout__icon::before,
.revive-reachout__card--phone .revive-reachout__icon::after {
  content: "";

  position: absolute;

  inset: 0;

  border: 1px solid var(--theme-light);

  border-radius: 14px;

  pointer-events: none;
}

.revive-reachout__card--phone .revive-reachout__icon::before {
  animation: reviveReachoutPhoneRing 3s ease-out infinite;
}

.revive-reachout__card--phone .revive-reachout__icon::after {
  animation: reviveReachoutPhoneRing 3s ease-out 1.5s infinite;
}

@keyframes reviveReachoutPhoneSignal {
  0%,
  70%,
  100% {
    transform: rotate(0deg);
  }

  74% {
    transform: rotate(-7deg);
  }

  78% {
    transform: rotate(7deg);
  }

  82% {
    transform: rotate(-5deg);
  }

  86% {
    transform: rotate(4deg);
  }

  90% {
    transform: rotate(0deg);
  }
}

@keyframes reviveReachoutPhoneRing {
  0% {
    transform: scale(1);

    opacity: 0.5;
  }

  70% {
    transform: scale(1.45);

    opacity: 0;
  }

  100% {
    transform: scale(1.45);

    opacity: 0;
  }
}

/* =========================================================

   EMAIL ANIMATION

========================================================= */

.revive-reachout__card--email .revive-reachout__icon {
  animation: reviveReachoutMailDrift 3.2s ease-in-out infinite;
}

@keyframes reviveReachoutMailDrift {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  25% {
    transform: translateY(-3px) rotate(-2deg);
  }

  50% {
    transform: translateY(0) rotate(2deg);
  }

  75% {
    transform: translateY(-2px) rotate(-1deg);
  }
}

/* =========================================================

   LOCATION ANIMATION

========================================================= */

.revive-reachout__card--location .revive-reachout__icon {
  animation: reviveReachoutLocationDrop 3s ease-in-out infinite;
}

.revive-reachout__card--location .revive-reachout__icon::before,
.revive-reachout__card--location .revive-reachout__icon::after {
  content: "";

  position: absolute;

  left: 50%;

  bottom: -8px;

  width: 10px;

  height: 10px;

  border: 1px solid var(--theme-light);

  border-radius: 50%;

  transform: translateX(-50%);

  opacity: 0;
}

.revive-reachout__card--location .revive-reachout__icon::before {
  animation: reviveReachoutLocationRipple 3s ease-out infinite;
}

.revive-reachout__card--location .revive-reachout__icon::after {
  animation: reviveReachoutLocationRipple 3s ease-out 1.5s infinite;
}

@keyframes reviveReachoutLocationDrop {
  0%,
  100% {
    transform: translateY(0);
  }

  12% {
    transform: translateY(-5px);
  }

  24% {
    transform: translateY(0);
  }

  32% {
    transform: translateY(-2px);
  }

  40% {
    transform: translateY(0);
  }
}

@keyframes reviveReachoutLocationRipple {
  0% {
    transform: translateX(-50%) scale(0.5);

    opacity: 0.55;
  }

  70% {
    transform: translateX(-50%) scale(2.8);

    opacity: 0;
  }

  100% {
    transform: translateX(-50%) scale(2.8);

    opacity: 0;
  }
}

/* =========================================================

   OPENING HOURS

========================================================= */

.revive-reachout__hours {
  display: flex;

  align-items: flex-start;

  gap: 16px;

  margin-top: 28px;

  padding-top: 28px;

  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.revive-reachout__hours-icon {
  position: relative;

  display: inline-flex;

  flex: 0 0 44px;

  align-items: center;

  justify-content: center;

  width: 44px;

  height: 44px;

  border: 1px solid rgba(255, 255, 255, 0.2);

  border-radius: 50%;

  color: var(--theme-light);

  animation: reviveReachoutHoursPulse 2.8s ease-in-out infinite;
}

.revive-reachout__hours-icon svg {
  width: 21px;

  height: 21px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.6;

  stroke-linecap: round;

  stroke-linejoin: round;
}

.revive-reachout__hours-content {
  display: flex;

  flex-direction: column;

  gap: 5px;
}

.revive-reachout__hours-content > span {
  color: var(--theme-light);

  font-weight: 600;
}

.revive-reachout__hours-content strong {
  color: rgba(255, 255, 255, 0.8);

  font-weight: 400;
}

@keyframes reviveReachoutHoursPulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(225, 186, 253, 0.25);
  }

  50% {
    box-shadow: 0 0 0 8px rgba(225, 186, 253, 0);
  }
}

/* =========================================================

   FORM PANEL

========================================================= */

.revive-reachout__form-panel {
  height: 100%;

  padding: 50px;

  border: 1px solid rgba(146, 11, 76, 0.12);

  border-radius: 28px;

  background: #fcf8fb;
}

.revive-reachout__form-head {
  margin-bottom: 35px;
}

.revive-reachout__form-head h2 {
  margin: 14px 0;

  line-height: 1.2;
}

.revive-reachout__form-head p {
  max-width: 650px;

  margin: 0;

  color: #666;

  line-height: 1.75;
}

/* =========================================================

   FORM FIELDS

========================================================= */

.revive-reachout__field {
  position: relative;
}

.revive-reachout__field label {
  display: block;

  margin-bottom: 9px;

  color: var(--theme-primery);

  font-weight: 600;
}

.revive-reachout__field input,
.revive-reachout__field select,
.revive-reachout__field textarea {
  display: block;

  width: 100%;

  border: 1px solid #e7dce3;

  border-radius: 12px;

  outline: none;

  background: var(--theme-white);

  color: #333;

  box-shadow: none;

  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease;
}

.revive-reachout__field input,
.revive-reachout__field select {
  min-height: 56px;

  padding: 0 17px;
}

.revive-reachout__field textarea {
  min-height: 150px;

  padding: 15px 17px;

  resize: vertical;
}

.revive-reachout__field input::placeholder,
.revive-reachout__field textarea::placeholder {
  color: #999;

  opacity: 1;
}

.revive-reachout__field input:focus,
.revive-reachout__field select:focus,
.revive-reachout__field textarea:focus {
  border-color: var(--theme-secondary);

  background: var(--theme-white);

  box-shadow: 0 0 0 4px rgba(182, 87, 173, 0.1);
}

/* =========================================================

   FORM ACTION

========================================================= */

.revive-reachout__form-action {
  display: flex;

  align-items: center;

  gap: 25px;

  flex-wrap: wrap;
}

.revive-reachout__submit {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 14px;

  min-height: 56px;

  padding: 0 26px;

  border: 0;

  border-radius: 50px;

  background: var(--theme-primery);

  color: var(--theme-white);

  cursor: pointer;

  transition:
    transform 0.3s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease;
}

.revive-reachout__submit:hover {
  transform: translateY(-3px);

  background: var(--theme-secondary);

  color: var(--theme-white);

  box-shadow: 0 12px 25px rgba(146, 11, 76, 0.2);
}

.revive-reachout__submit svg {
  width: 19px;

  height: 19px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

  transition: transform 0.3s ease;
}

.revive-reachout__submit:hover svg {
  transform: translateX(4px);
}

.revive-reachout__form-action p {
  flex: 1;

  min-width: 220px;

  margin: 0;

  color: #777;

  line-height: 1.6;
}

/* =========================================================

   TRUST STRIP

========================================================= */

.revive-reachout__trust {
  display: flex;

  align-items: stretch;

  justify-content: center;

  gap: 0;

  margin-top: 30px;

  padding: 24px 10px;

  border: 1px solid rgba(146, 11, 76, 0.1);

  border-radius: 18px;

  background: #fcf8fb;
}

.revive-reachout__trust-item {
  display: flex;

  align-items: center;

  gap: 13px;

  flex: 1;

  justify-content: center;

  padding: 0 25px;

  color: #777;

  line-height: 1.5;
}

.revive-reachout__trust-item + .revive-reachout__trust-item {
  border-left: 1px solid rgba(146, 11, 76, 0.1);
}

.revive-reachout__trust-item > span:last-child {
  display: flex;

  flex-direction: column;
}

.revive-reachout__trust-item strong {
  color: #333;

  font-weight: 600;
}

.revive-reachout__trust-icon {
  display: inline-flex;

  flex: 0 0 42px;

  align-items: center;

  justify-content: center;

  width: 42px;

  height: 42px;

  border-radius: 50%;

  background: var(--theme-light);

  color: var(--theme-primery);
}

.revive-reachout__trust-icon svg {
  width: 20px;

  height: 20px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.6;

  stroke-linecap: round;

  stroke-linejoin: round;
}

/* =========================================================

   RESPONSIVE

========================================================= */

@media (max-width: 1199.98px) {
  .revive-reachout__touchpoint,
  .revive-reachout__form-panel {
    padding: 40px;
  }

  .revive-reachout__trust-item {
    padding: 0 15px;
  }
}

@media (max-width: 991.98px) {
  .revive-reachout {
    padding: 80px 0;
  }

  .revive-reachout__intro {
    margin-bottom: 45px;
  }

  .revive-reachout__touchpoint,
  .revive-reachout__form-panel {
    padding: 35px;
  }

  .revive-reachout__trust {
    flex-direction: column;

    gap: 20px;
  }

  .revive-reachout__trust-item {
    justify-content: flex-start;
  }

  .revive-reachout__trust-item + .revive-reachout__trust-item {
    padding-top: 20px;

    border-top: 1px solid rgba(146, 11, 76, 0.1);

    border-left: 0;
  }
}

@media (max-width: 575.98px) {
  .revive-reachout {
    padding: 60px 0;
  }

  .revive-reachout__intro {
    margin-bottom: 35px;
  }

  .revive-reachout__touchpoint,
  .revive-reachout__form-panel {
    padding: 25px 20px;

    border-radius: 20px;
  }

  .revive-reachout__card {
    padding: 15px;
  }

  .revive-reachout__icon {
    flex-basis: 46px;

    width: 46px;

    height: 46px;
  }

  .revive-reachout__arrow {
    flex-basis: 30px;

    width: 30px;

    height: 30px;
  }

  .revive-reachout__form-action {
    align-items: flex-start;

    flex-direction: column;
  }

  .revive-reachout__submit {
    width: 100%;
  }

  .revive-reachout__form-action p {
    min-width: 0;
  }

  .revive-reachout__trust {
    padding: 20px;
  }

  .revive-reachout__trust-item {
    padding: 0;
  }
}

/* =========================================================

   ACCESSIBILITY

========================================================= */

.revive-reachout__card:focus-visible,
.revive-reachout__submit:focus-visible,
.revive-reachout__field input:focus-visible,
.revive-reachout__field select:focus-visible,
.revive-reachout__field textarea:focus-visible {
  outline: 3px solid rgba(182, 87, 173, 0.35);

  outline-offset: 3px;
}

/* =========================================================

   REDUCED MOTION

========================================================= */

@media (prefers-reduced-motion: reduce) {
  .revive-reachout *,
  .revive-reachout *::before,
  .revive-reachout *::after {
    animation-duration: 0.01ms !important;

    animation-iteration-count: 1 !important;

    scroll-behavior: auto !important;

    transition-duration: 0.01ms !important;
  }
}

/* blogs page */

/* ==========================================

   TESTIMONIAL PAGINATION

   ========================================== */

.testimonial-pagination {
  position: relative;

  z-index: 5;

  margin-top: 35px;
}

.testimonial-pagination .pagination {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: 15px;
}

/* ==========================================

   PAGINATION BUTTON

   ========================================== */

.testimonial-pagination .page-link {
  min-width: 42px;

  height: 42px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 0 14px;

  border: 1px solid rgba(146, 11, 76, 0.18);

  border-radius: 50px;

  background: #fff;

  color: #920b4c;

  font-size: 1.1rem;

  font-weight: 700;

  line-height: 1;

  text-decoration: none;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;

  box-shadow: 1px 1px 8px #920b4ca6;
}

/* ==========================================

   NUMBER BUTTONS

   ========================================== */

.testimonial-pagination
  .page-item:not(:first-child):not(:last-child)
  .page-link {
  width: 42px;

  padding: 0;
}

/* ==========================================

   SVG ARROWS

   ========================================== */

.testimonial-pagination .pagination-arrow {
  width: 20px;

  height: 20px;

  flex: 0 0 17px;

  display: block;

  color: currentColor;

  transition: transform 0.3s ease;
}

/* ==========================================

   PREVIOUS / NEXT GAP

   ========================================== */

.testimonial-pagination .page-item:first-child .page-link,
.testimonial-pagination .page-item:last-child .page-link {
  gap: 7px;
}

/* ==========================================

   HOVER

   ========================================== */

.testimonial-pagination .page-link:hover {
  color: #fff;

  background: #920b4c;

  border-color: #920b4c;

  transform: translateY(-2px);

  box-shadow: 0 8px 20px rgba(146, 11, 76, 0.18);
}

/* Arrow animation */

.testimonial-pagination
  .page-item:first-child
  .page-link:hover
  .pagination-arrow {
  transform: translateX(-3px);
}

.testimonial-pagination
  .page-item:last-child
  .page-link:hover
  .pagination-arrow {
  transform: translateX(3px);
}

/* ==========================================

   ACTIVE NUMBER

   ========================================== */

.testimonial-pagination .page-item.active .page-link {
  color: #fff;

  background: #920b4c;

  border-color: #920b4c;

  box-shadow: 0 8px 20px rgba(146, 11, 76, 0.22);
}

/* ==========================================

   FOCUS

   ========================================== */

.testimonial-pagination .page-link:focus {
  box-shadow: none;

  outline: none;
}

/* ==========================================

   MOBILE

   ========================================== */

@media (max-width: 575.98px) {
  .testimonial-pagination {
    margin-top: 25px;
  }

  .testimonial-pagination .pagination {
    gap: 5px;
  }

  .testimonial-pagination .page-link {
    min-width: 36px;

    height: 36px;

    padding: 0 10px;

    font-size: 13px;
  }

  .testimonial-pagination
    .page-item:not(:first-child):not(:last-child)
    .page-link {
    width: 36px;
  }

  /* Hide Previous / Next text */

  .testimonial-pagination .page-item:first-child span,
  .testimonial-pagination .page-item:last-child span {
    display: none;
  }

  /* Make arrow-only buttons circular */

  .testimonial-pagination .page-item:first-child .page-link,
  .testimonial-pagination .page-item:last-child .page-link {
    width: 36px;

    padding: 0;
  }
}

/* blog details */

/* =========================================================

   BLOG DETAILS

   Production Level Styles

   Typography controlled by global CSS

   ========================================================= */

.page_blogs_details {
  position: relative;

  overflow: hidden;

  background: #fff;

  padding: 100px 0;
}

/* ---------------------------------------------------------

   Background Decoration

   --------------------------------------------------------- */

.page_blogs_details::before,
.page_blogs_details::after {
  content: "";

  position: absolute;

  z-index: 0;

  width: 320px;

  height: 320px;

  border-radius: 50%;

  pointer-events: none;

  filter: blur(5px);

  opacity: 0.08;
}

.page_blogs_details::before {
  top: 80px;

  left: -180px;

  background: #b657ad;
}

.page_blogs_details::after {
  right: -180px;

  bottom: 100px;

  background: #920b4c;
}

/* ---------------------------------------------------------

   Main Article

   --------------------------------------------------------- */

.blog_details {
  position: relative;

  z-index: 1;

  width: 100%;
}

/* ---------------------------------------------------------

   Article Header

   --------------------------------------------------------- */

.blog_details_header {
  animation: blogDetailsFadeUp 0.8s ease both;
}

/* ---------------------------------------------------------

   Meta Information

   --------------------------------------------------------- */

.blog_details_meta {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 10px;

  margin-bottom: 18px;

  color: #777;

  font-weight: 500;
}

.blog_details_category {
  display: inline-flex;

  align-items: center;

  padding: 7px 15px;

  border-radius: 50px;

  background: rgba(146, 11, 76, 0.08);

  color: #920b4c;

  font-weight: 600;

  letter-spacing: 0.3px;
}

.blog_details_meta_separator {
  color: #b657ad;
}

.blog_details_date,
.blog_details_read_time {
  color: #777;
}

/* ---------------------------------------------------------

   Main Heading

   --------------------------------------------------------- */

.blog_details_title {
  position: relative;

  color: var(--theme-black);

  line-height: 1.2;

  font-weight: 700;

  letter-spacing: -1.8px;
}

/* Animated heading line */

.blog_details_title::after {
  content: "";

  display: block;

  width: 40%;

  height: 4px;

  border-radius: 50px;

  background: linear-gradient(90deg, #920b4c, #b657ad);

  transform-origin: center;

  animation: blogDetailsLine 1s ease 0.5s both;
}

/* ---------------------------------------------------------

   Article Excerpt

   --------------------------------------------------------- */

.blog_details_excerpt {
  margin: 15px auto 0;

  color: #666;

  line-height: 1.8;
}

/* ---------------------------------------------------------

   Featured Image

   --------------------------------------------------------- */

.blog_details_featured_image {
  position: relative;

  overflow: hidden;

  border-radius: 28px;

  background: #f5f5f5;

  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1);

  animation: blogDetailsImageReveal 1s ease 0.2s both;
}

.blog_details_featured_image img {
  display: block;

  width: 100%;

  height: auto;

  aspect-ratio: 16 / 7;

  object-fit: cover;

  transition:
    transform 0.8s cubic-bezier(0.2, 0.65, 0.3, 1),
    filter 0.5s ease;
}

.blog_details_featured_image:hover img {
  transform: scale(1.035);
}

.blog_details_featured_image::after {
  content: "";

  position: absolute;

  inset: 0;

  pointer-events: none;

  background: linear-gradient(
    135deg,
    rgba(146, 11, 76, 0.08),
    transparent 45%,

    rgba(182, 87, 173, 0.08)
  );
}

/* ---------------------------------------------------------

   Article Content

   --------------------------------------------------------- */

.blog_details_content {
  max-width: 90%;

  margin: 0 auto;

  color: #454545;

  line-height: 1.5;
}

.blog_details_content p {
  margin: 0 0 15px;
}

.blog_details_content strong {
  color: #222;

  font-weight: 700;
}

/* ---------------------------------------------------------

   Content Links

   --------------------------------------------------------- */

.blog_details_content a:hover {
  color: #b657ad;

  text-decoration-thickness: 2px;
}

/* ---------------------------------------------------------

   Content Sections

   --------------------------------------------------------- */

.blog_details_content section {
  margin-top: 55px;
}

/* ---------------------------------------------------------

   H2

   --------------------------------------------------------- */

.blog_details_content h2 {
  position: relative;

  margin: 0 0 22px;

  padding-left: 20px;

  color: var(--theme-black);

  line-height: 1.25;

  font-weight: 700;

  letter-spacing: -0.5px;
}

.blog_details_content h2::before {
  content: "";

  position: absolute;

  top: 4px;

  bottom: 4px;

  left: 0;

  width: 4px;

  border-radius: 20px;

  background: linear-gradient(180deg, #920b4c, #b657ad);
}

/* ---------------------------------------------------------

   H3

   --------------------------------------------------------- */

.blog_details_content h3 {
  margin: 20px 0 0px;

  color: #920b4c;

  line-height: 1.35;

  font-weight: 650;
}

/* ---------------------------------------------------------

   Lists

   --------------------------------------------------------- */

.blog_details_content ul,
.blog_details_content ol {
  margin: 25px 0 30px;

  padding: 0;

  list-style: none;
}

.blog_details_content ul li,
.blog_details_content ol li {
  position: relative;

  margin-bottom: 13px;

  padding: 15px 18px 15px 48px;

  border: 1px solid rgba(146, 11, 76, 0.08);

  border-radius: 12px;

  background: #faf8fa;

  transition:
    transform 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease;
}

/* Bullet */

.blog_details_content ul li::before {
  content: "";

  position: absolute;

  top: 24px;

  left: 20px;

  width: 9px;

  height: 9px;

  border-radius: 50%;

  background: #920b4c;

  box-shadow: 0 0 0 5px rgba(146, 11, 76, 0.08);
}

/* Number */

.blog_details_content ol {
  counter-reset: blog-list;
}

.blog_details_content ol li {
  counter-increment: blog-list;
}

.blog_details_content ol li::before {
  content: counter(blog-list);

  position: absolute;

  top: 50%;

  left: 16px;

  width: 25px;

  height: 25px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 50%;

  background: #920b4c;

  color: #fff;

  font-weight: 700;

  transform: translateY(-50%);
}

/* List Hover */

.blog_details_content ul li:hover,
.blog_details_content ol li:hover {
  transform: translateX(5px);

  border-color: rgba(146, 11, 76, 0.18);

  background: #fff;
}

/* ---------------------------------------------------------

   Italic Highlight

   --------------------------------------------------------- */

.blog_details_content p.fst-italic {
  position: relative;

  margin: 30px 0;

  padding: 22px 25px;

  border-left: 3px solid #b657ad;

  border-radius: 0 12px 12px 0;

  background: linear-gradient(90deg, rgba(182, 87, 173, 0.08), transparent);

  color: #666;
}

/* ---------------------------------------------------------

   Important Note

   --------------------------------------------------------- */

.blog_details_note {
  position: relative;

  padding: 25px 28px 25px 30px;

  border: 1px solid rgba(146, 11, 76, 0.12);

  border-radius: 16px;

  background: linear-gradient(
    135deg,
    rgba(146, 11, 76, 0.06),
    rgba(182, 87, 173, 0.06)
  );

  overflow: hidden;
}

.blog_details_note::before {
  content: "";

  position: absolute;

  top: 0;

  left: 0;

  width: 4px;

  height: 100%;

  background: linear-gradient(180deg, #920b4c, #b657ad);
}

.blog_details_note strong {
  display: block;

  margin-bottom: 7px;

  color: #920b4c;
}

.blog_details_note p {
  margin: 0;

  line-height: 1.75;
}

/* ---------------------------------------------------------

   Article Footer

   --------------------------------------------------------- */

.blog_details_footer {
  max-width: 850px;

  margin-right: auto;

  margin-left: auto;

  border-top: 1px solid #eee;
}

.blog_details_author {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 15px;

  padding-top: 25px;
}

.blog_details_author_label {
  color: #888;
}

.blog_details_author_name {
  color: #920b4c;

  font-weight: 600;
}

/* ---------------------------------------------------------

   Previous / Next Navigation

   --------------------------------------------------------- */

.blog_details_navigation {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 20px;
}

.blog_details_nav_item {
  position: relative;

  display: flex;

  flex-direction: column;

  min-height: 120px;

  padding: 25px;

  border: 1px solid #eee;

  border-radius: 18px;

  background: #fff;

  color: inherit;

  text-decoration: none;

  overflow: hidden;

  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

.blog_details_nav_item::before {
  content: "";

  position: absolute;

  inset: 0;

  z-index: 0;

  background: linear-gradient(
    135deg,
    rgba(146, 11, 76, 0.06),
    rgba(182, 87, 173, 0.04)
  );

  opacity: 0;

  transition: opacity 0.35s ease;
}

.blog_details_nav_item:hover {
  transform: translateY(-5px);

  border-color: rgba(146, 11, 76, 0.2);

  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.blog_details_nav_item:hover::before {
  opacity: 1;
}

.blog_details_nav_label,
.blog_details_nav_title {
  position: relative;

  z-index: 1;
}

.blog_details_nav_label {
  margin-bottom: 8px;

  color: #920b4c;

  font-weight: 700;

  letter-spacing: 1px;

  text-transform: uppercase;
}

.blog_details_nav_title {
  color: #222;

  line-height: 1.45;

  font-weight: 600;
}

.blog_details_nav_next {
  text-align: right;
}

/* ---------------------------------------------------------

   Scroll Reveal

   --------------------------------------------------------- */

.blog_details_content section,
.blog_details_note,
.blog_details_footer,
.blog_details_navigation {
  animation: blogDetailsFadeUp 0.8s ease both;

  animation-timeline: view();

  animation-range: entry 0% cover 20%;
}

/* ---------------------------------------------------------

   Animations

   --------------------------------------------------------- */

@keyframes blogDetailsFadeUp {
  from {
    transform: translateY(25px);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes blogDetailsImageReveal {
  from {
    opacity: 0;

    transform: translateY(30px) scale(0.98);
  }

  to {
    opacity: 1;

    transform: translateY(0) scale(1);
  }
}

@keyframes blogDetailsLine {
  from {
    opacity: 0;

    transform: scaleX(0);
  }

  to {
    opacity: 1;

    transform: scaleX(1);
  }
}

/* ---------------------------------------------------------

   Tablet

   --------------------------------------------------------- */

@media (max-width: 991.98px) {
  .page_blogs_details {
    padding: 80px 0;
  }

  .blog_details_title {
    letter-spacing: -1px;
  }

  .blog_details_featured_image {
    margin-top: 45px;

    border-radius: 22px;
  }

  .blog_details_content {
    line-height: 1.85;
  }
}

/* ---------------------------------------------------------

   Mobile

   --------------------------------------------------------- */

@media (max-width: 767.98px) {
  .page_blogs_details {
    padding: 60px 0;
  }

  .blog_details_meta {
    gap: 7px;
  }

  .blog_details_category {
    padding: 6px 12px;
  }

  .blog_details_title {
    line-height: 1.12;

    letter-spacing: -0.5px;
  }

  .blog_details_excerpt {
    margin-top: 20px;

    line-height: 1.7;
  }

  .blog_details_featured_image {
    margin: 35px 0 45px;

    border-radius: 18px;
  }

  .blog_details_content {
    line-height: 1.8;
  }

  .blog_details_content section {
    margin-top: 42px;
  }

  .blog_details_content h2 {
    margin-bottom: 18px;

    padding-left: 16px;
  }

  .blog_details_content h3 {
    margin-top: 30px;
  }

  .blog_details_content ul li,
  .blog_details_content ol li {
    padding: 13px 15px 13px 43px;
  }

  .blog_details_note {
    padding: 20px 20px 20px 24px;
  }

  .blog_details_author {
    align-items: flex-start;

    flex-direction: column;
  }

  .blog_details_navigation {
    grid-template-columns: 1fr;
  }

  .blog_details_nav_next {
    text-align: left;
  }
}

/* ---------------------------------------------------------

   Small Mobile

   --------------------------------------------------------- */

@media (max-width: 575.98px) {
  .page_blogs_details {
    padding: 45px 0;
  }

  .blog_details_title {
    letter-spacing: 0;
  }

  .blog_details_featured_image img {
    aspect-ratio: 4 / 3;
  }

  .blog_details_nav_item {
    min-height: auto;

    padding: 20px;
  }
}

/* ---------------------------------------------------------

   Accessibility

   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .blog_details_header,
  .blog_details_featured_image,
  .blog_details_content section,
  .blog_details_note,
  .blog_details_footer,
  .blog_details_navigation,
  .blog_details_title::after {
    animation: none !important;
  }

  .blog_details_featured_image img,
  .blog_details_nav_item,
  .blog_details_content ul li,
  .blog_details_content ol li {
    transition: none !important;
  }
}

/* ---------------------------------------------------------

   Focus State

   --------------------------------------------------------- */

.blog_details_content a:focus-visible,
.blog_details_nav_item:focus-visible {
  outline: 3px solid rgba(146, 11, 76, 0.3);

  outline-offset: 4px;
}

/* ---------------------------------------------------------

   WordPress Content Compatibility

   --------------------------------------------------------- */

.blog_details_content img {
  max-width: 100%;

  height: auto;

  border-radius: 16px;
}

.blog_details_content figure {
  margin: 30px 0;
}

.blog_details_content figcaption {
  margin-top: 10px;

  color: #888;

  text-align: center;
}

.blog_details_content blockquote {
  position: relative;

  margin: 35px 0;

  padding: 30px 30px 30px 35px;

  border-left: 4px solid #920b4c;

  border-radius: 0 16px 16px 0;

  background: #faf7fa;

  color: #555;

  font-style: italic;

  line-height: 1.7;
}

.blog_details_content hr {
  margin: 45px 0;

  border: 0;

  border-top: 1px solid #eee;
}

/* more blogs slider css */

.site-carousel {
  position: relative;
}

.site-carousel-navigation {
  display: flex;

  align-items: center;

  gap: 10px;

  flex-shrink: 0;

  position: absolute;

  top: 50%;

  width: 100%;

  transform: translateY(-50%);
}

.site-carousel-button {
  width: 48px;

  height: 48px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 0;

  border: 1px solid rgba(0, 0, 0, 0.12);

  border-radius: 50%;

  background: #b657ad52;

  font-size: 20px;

  cursor: pointer;

  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;

  backdrop-filter: blur(5px);
}

.site-carousel-button:hover {
  background-color: var(--theme-primery, #920b4c);

  border-color: var(--theme-primery, #920b4c);

  color: #fff;

  transform: translateY(-2px);
}

.site-carousel-button:focus-visible {
  outline: 3px solid rgba(146, 11, 76, 0.25);

  outline-offset: 3px;
}

button.site-carousel-button.site-carousel-prev {
  left: -20px;

  position: absolute;
}

button.site-carousel-button.site-carousel-next {
  right: -20px;

  position: absolute;
}

.site-carousel-track {
  display: flex;

  align-items: stretch;

  gap: 24px;

  width: max-content;

  transform: translate3d(0, 0, 0);

  will-change: transform;
}

.site-carousel-viewport {
  width: 100%;

  overflow: hidden;

  touch-action: pan-y;
}

.site-carousel-track {
  display: flex;

  align-items: stretch;

  gap: 24px;

  width: max-content;

  transform: translate3d(0, 0, 0);

  will-change: transform;
}

.site-carousel-item {
  flex: 0 0 auto;

  min-width: 0;

  box-sizing: border-box;
}

.site-carousel.is-dragging .site-carousel-track {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .site-carousel-track,
  .site-carousel-button,
  .site-service-link span {
    transition: none !important;
  }
}

.premium-blog-content h4 {
  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;
}

.premium-blog-content h4 + p {
  display: -webkit-box;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;
}

/* =========================================================

   REVIVE PRODUCT DETAILS

========================================================= */

.rv-product-details-section {
  position: relative;

  padding: 100px 0;

  overflow: hidden;
}

/* =========================================================

   PRODUCT IMAGE

========================================================= */

.rv-product-image-wrapper {
  position: relative;

  padding: 25px;
}

.rv-product-main-image {
  position: relative;

  z-index: 2;

  display: flex;

  align-items: center;

  justify-content: center;

  min-height: 520px;

  overflow: hidden;

  border-radius: 35px;

  background: linear-gradient(145deg, #fbf5fc 0%, var(--theme-light) 100%);

  box-shadow: 0 25px 70px rgba(146, 11, 76, 0.08);
}

.rv-product-main-image::before {
  content: "";

  position: absolute;

  width: 300px;

  height: 300px;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.45);

  top: -120px;

  left: -100px;
}

.rv-product-main-image img {
  position: relative;

  z-index: 2;

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.5s ease;
}

.rv-product-main-image:hover img {
  transform: scale(1.04);
}

/* Category */

.rv-product-category {
  position: absolute;

  z-index: 5;

  top: 5px;

  left: 5px;

  padding: 11px 19px;

  border-radius: 50px;

  color: var(--theme-white);

  background: var(--theme-primery);

  font-weight: 600;

  box-shadow: 0 10px 25px rgba(146, 11, 76, 0.18);
}

/* Decorative Circle */

.rv-product-image-shape {
  position: absolute;

  z-index: 1;

  right: -10px;

  bottom: -30px;

  width: 220px;

  height: 220px;

  border-radius: 50%;

  background: linear-gradient(
    135deg,
    var(--theme-secondary),
    var(--theme-light)
  );

  opacity: 0.65;
}

.rv-product-content {
  max-width: 620px;
}

.rv-product-small-title {
  display: inline-block;

  margin-bottom: 15px;

  color: var(--theme-primery);

  letter-spacing: 2px;

  font-weight: 700;
}

.rv-product-content h1 {
  margin: 0 0 20px;

  color: var(--theme-black);

  line-height: 1.08;

  font-weight: 700;
}

.rv-product-content h1 span {
  display: block;

  color: var(--theme-primery);
}

.rv-product-rating {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 12px;

  margin-bottom: 25px;
}

.rv-product-stars {
  display: flex;

  align-items: center;

  gap: 3px;
}

.rv-product-stars svg {
  width: 17px;

  height: 17px;

  color: var(--theme-secondary);
}

.rv-product-rating > span {
  color: #777;
}

.rv-product-description {
  margin: 0 0 30px;

  color: #666;

  line-height: 1.8;
}

.rv-product-features {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 15px;

  margin-bottom: 35px;
}

.rv-product-feature {
  display: flex;

  align-items: center;

  gap: 13px;

  padding: 15px;

  background: var(--theme-white);

  border: 1px solid rgba(146, 11, 76, 0.08);

  border-radius: 15px;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.rv-product-feature:hover {
  transform: translateY(-4px);

  border-color: rgba(182, 87, 173, 0.3);

  box-shadow: 0 15px 35px rgba(146, 11, 76, 0.08);
}

.rv-product-feature-icon {
  width: 46px;

  height: 46px;

  flex: 0 0 46px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 13px;

  color: var(--theme-primery);

  background: rgba(225, 186, 253, 0.35);
}

.rv-product-feature-icon svg {
  width: 23px;

  height: 23px;
}

.rv-product-feature h4 {
  margin: 0 0 3px;

  color: var(--theme-black);

  font-weight: 700;
}

.rv-product-feature p {
  margin: 0;

  color: #777;

  line-height: 1.4;
}

.rv-product-actions {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 14px;
}

.rv-product-primary-btn,
.rv-product-call-btn {
  min-height: 55px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  text-decoration: none;

  border-radius: 50px;

  font-weight: 600;

  transition: all 0.3s ease;
}

/* Primary */

.rv-product-primary-btn {
  gap: 12px;

  padding: 7px 8px 7px 23px;

  color: var(--theme-white);

  background: var(--theme-primery);
}

.rv-product-primary-btn b {
  width: 40px;

  height: 40px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 50%;

  color: var(--theme-primery);

  background: var(--theme-white);

  transition: transform 0.3s ease;
}

.rv-product-primary-btn b svg {
  width: 17px;

  height: 17px;
}

.rv-product-primary-btn:hover {
  color: var(--theme-white);

  background: var(--theme-secondary);

  transform: translateY(-3px);
}

.rv-product-primary-btn:hover b {
  transform: rotate(45deg);
}

/* Call */

.rv-product-call-btn {
  gap: 10px;

  padding: 0 23px;

  color: var(--theme-primery);

  border: 1px solid var(--theme-primery);
}

.rv-product-call-btn svg {
  width: 19px;

  height: 19px;
}

.rv-product-call-btn:hover {
  color: var(--theme-white);

  background: var(--theme-primery);
}

.rv-product-description-section {
  padding: 100px 0;

  background: #fcf8fc;
}

.rv-product-description-box {
  max-width: 700px;
}

.rv-product-section-label {
  display: inline-block;

  margin-bottom: 15px;

  color: var(--theme-primery);

  font-weight: 700;

  letter-spacing: 2px;
}

.rv-product-description-box h2 {
  margin: 0 0 25px;

  color: var(--theme-black);

  line-height: 1.12;
}

.rv-product-description-box h2 span {
  display: block;

  color: var(--theme-primery);
}

.rv-product-description-box > p {
  margin-bottom: 15px;

  color: #666;

  line-height: 1.8;
}

.rv-product-benefits {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 16px;

  margin-top: 30px;
}

.rv-product-benefits > div {
  display: flex;

  align-items: center;

  gap: 10px;

  color: #555;
}

.rv-product-benefits svg {
  width: 19px;

  height: 19px;

  flex-shrink: 0;

  color: var(--theme-primery);
}

/* =========================================================

   PRODUCT INFO CARD

========================================================= */

.rv-product-info-card {
  padding: 30px;

  background: var(--theme-white);

  border-radius: 25px;

  box-shadow: 0 20px 60px rgba(146, 11, 76, 0.08);
}

.rv-product-info-card-header {
  display: flex;

  align-items: center;

  justify-content: space-between;

  padding-bottom: 20px;

  margin-bottom: 3px;

  color: var(--theme-primery);

  border-bottom: 1px solid #eee;

  font-weight: 700;

  letter-spacing: 1px;
}

.rv-product-info-card-header svg {
  width: 22px;

  height: 22px;
}

/* Information Row */

.rv-product-info-row {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;

  padding: 17px 0;

  border-bottom: 1px solid #eee;
}

.rv-product-info-row span {
  color: #777;
}

.rv-product-info-row strong {
  color: var(--theme-black);

  text-align: right;
}

/* Availability */

.rv-product-available {
  display: inline-flex;

  align-items: center;

  gap: 6px;

  color: #398c58 !important;
}

.rv-product-available svg {
  width: 8px;

  height: 8px;
}

/* Information Button */

.rv-product-info-btn {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 15px;

  margin-top: 25px;

  padding: 16px 20px;

  color: var(--theme-white);

  background: var(--theme-primery);

  border-radius: 13px;

  text-decoration: none;

  font-weight: 600;

  transition: all 0.3s ease;
}

.rv-product-info-btn svg {
  width: 19px;

  height: 19px;

  transition: transform 0.3s ease;
}

.rv-product-info-btn:hover {
  color: var(--theme-white);

  background: var(--theme-secondary);
}

.rv-product-info-btn:hover svg {
  transform: translateX(4px);
}

.rv-product-spec-section {
  padding: 100px 0;
}

.rv-product-section-heading {
  max-width: 650px;

  margin: 0 auto 50px;
}

.rv-product-section-heading > span {
  color: var(--theme-primery);

  font-weight: 700;

  letter-spacing: 2px;
}

.rv-product-section-heading h2 {
  margin: 12px 0;

  color: var(--theme-black);

  line-height: 1.1;
}

.rv-product-section-heading h2 strong {
  color: var(--theme-primery);
}

.rv-product-section-heading p {
  margin: 0;

  color: #777;
}

/* Specification Table */

.rv-product-spec-table {
  max-width: 900px;

  margin: auto;

  overflow: hidden;

  border: 1px solid #eee;

  border-radius: 20px;
}

.rv-product-spec-row {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 30px;

  padding: 20px 25px;

  border-bottom: 1px solid #eee;
}

.rv-product-spec-row:last-child {
  border-bottom: 0;
}

.rv-product-spec-row:nth-child(even) {
  background: #fcf8fc;
}

.rv-product-spec-row span {
  color: #777;
}

.rv-product-spec-row strong {
  color: var(--theme-black);

  text-align: right;
}

.rv-product-cta-section {
  padding: 0 0 100px;
}

.rv-product-cta {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 50px;

  padding: 55px 60px;

  overflow: hidden;

  border-radius: 30px;

  background: linear-gradient(
    135deg,
    var(--theme-primery) 0%,

    var(--theme-secondary) 100%
  );
}

.rv-product-cta::before {
  content: "";

  position: absolute;

  width: 350px;

  height: 350px;

  right: -150px;

  top: -170px;

  border: 55px solid rgba(255, 255, 255, 0.08);

  border-radius: 50%;
}

.rv-product-cta::after {
  content: "";

  position: absolute;

  width: 180px;

  height: 180px;

  left: 40%;

  bottom: -130px;

  border: 35px solid rgba(255, 255, 255, 0.05);

  border-radius: 50%;
}

.rv-product-cta-content,
.rv-product-cta-actions {
  position: relative;

  z-index: 2;
}

/* CTA Content */

.rv-product-cta-content > span {
  color: var(--theme-light);

  font-weight: 700;

  letter-spacing: 2px;
}

.rv-product-cta-content h2 {
  max-width: 620px;

  margin: 10px 0;

  color: var(--theme-white);

  font-size: clamp(30px, 4vw, 46px);

  line-height: 1.12;
}

.rv-product-cta-content h2 strong {
  display: block;

  color: var(--theme-light);
}

.rv-product-cta-content p {
  margin: 0;

  color: rgba(255, 255, 255, 0.8);
}

/* CTA Actions */

.rv-product-cta-actions {
  min-width: 230px;
}

.rv-product-cta-btn,
.rv-product-cta-phone {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  min-height: 52px;

  border-radius: 50px;

  text-decoration: none;

  font-weight: 600;
}

.rv-product-cta-btn {
  color: var(--theme-primery);

  background: var(--theme-white);

  transition: all 0.3s ease;
}

.rv-product-cta-btn svg {
  width: 18px;

  height: 18px;

  transition: transform 0.3s ease;
}

.rv-product-cta-btn:hover {
  color: var(--theme-primery);

  background: var(--theme-light);
}

.rv-product-cta-btn:hover svg {
  transform: rotate(45deg);
}

.rv-product-cta-phone {
  margin-top: 10px;

  color: var(--theme-white);
}

.rv-product-cta-phone svg {
  width: 19px;

  height: 19px;
}

/* =========================================================

   RESPONSIVE

========================================================= */

@media (max-width: 991px) {
  .rv-product-details-section,
  .rv-product-description-section,
  .rv-product-spec-section {
    padding: 70px 0;
  }

  .rv-product-image-wrapper {
    max-width: 700px;

    margin: 0 auto;
  }

  .rv-product-content {
    max-width: 100%;
  }

  .rv-product-main-image {
    min-height: 450px;
  }

  .rv-product-main-image img {
    height: 450px;
  }

  .rv-product-cta {
    padding: 45px;
  }
}

@media (max-width: 767px) {
  .rv-product-details-section,
  .rv-product-description-section,
  .rv-product-spec-section {
    padding: 60px 0;
  }

  .rv-product-image-wrapper {
    padding: 15px;
  }

  .rv-product-main-image {
    min-height: 350px;

    border-radius: 25px;
  }

  .rv-product-main-image img {
    height: 350px;
  }

  .rv-product-category {
    top: 0;

    left: 0;

    padding: 9px 15px;

    font-size: 11px;
  }

  .rv-product-content h1 {
    font-size: 40px;
  }

  .rv-product-features {
    grid-template-columns: 1fr;
  }

  .rv-product-benefits {
    grid-template-columns: 1fr;
  }

  .rv-product-info-row {
    align-items: flex-start;

    flex-direction: column;

    gap: 6px;
  }

  .rv-product-info-row strong {
    text-align: left;
  }

  .rv-product-spec-row {
    align-items: flex-start;

    flex-direction: column;

    gap: 7px;
  }

  .rv-product-spec-row strong {
    text-align: left;
  }

  .rv-product-cta {
    flex-direction: column;

    align-items: flex-start;

    padding: 40px 25px;
  }

  .rv-product-cta-actions {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .rv-product-content h1 {
    font-size: 35px;
  }

  .rv-product-actions {
    flex-direction: column;

    align-items: stretch;
  }

  .rv-product-primary-btn,
  .rv-product-call-btn {
    width: 100%;
  }

  .rv-product-primary-btn {
    justify-content: space-between;
  }

  .rv-product-info-card {
    padding: 22px;
  }

  .rv-product-spec-row {
    padding: 18px;
  }

  .rv-product-cta {
    border-radius: 22px;
  }
}
