:root{
  --primary-pink : #DD1C7F;
  --secondary-skyeblue : #009BDB;
  --success-color : #6ABB6C;
  --white-color: #fff;
  --yellow-color: #F39C12;
  --whatsapp-green: #00E576;
  --bggrey: #F4F2F2;
  --black-color:#000;
  --red-color:#EE5D73;
  --green-color:#B3CA2C;
  --text-lightgrey:#828282;
  --text-grey:#3c3c3c;
  --purple-color:#550964;
  --lightgreen-color: #4B9D7C;
}

/* global resets + scrollbar */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: var(--text-grey) #ddd; /* fixed: requires thumb + track */
}

*::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #ddd;
}
*::-webkit-scrollbar-thumb {
  background-color: var(--text-grey);
  border-radius: 50px;
  border: 2px solid var(--text-grey);
}

/* fonts */
/*@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');*/

@font-face {
  font-family: 'righteousregular';
  src: url('../fonts/righteous-regular-webfont.woff2') format('woff2'),
       url('../fonts/righteous-regular-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display:swap;
}

body{ font-family: 'Poppins', sans-serif; }
.fs-14{ font-size: 14px !important; }

/* fixed call + whatsapp buttons */
.fixedcallbutton{
  position: fixed;
  right: 0;
  top: 25%;
  width: 40px;
  z-index: 99;
  text-align: center;
}

/* each button */
.fixedcallbutton a{
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin-bottom: 6px;
  border-radius: 5px 0 0 5px;
}

/* call button */
.fixedcallbutton .call-btn{
  background: var(--success-color);
}

/* whatsapp button */
.fixedcallbutton .whatsapp-btn{
  background: var(--success-color);
}


/* header */
.header{
  background: var(--primary-pink);
  position: relative;
  padding: 0 5% 30px; /* consolidated padding */
}
.header::after{
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  height: 184px;
  bottom: -173px;
  background: url(../images/headerborder.svg) top center no-repeat;
  z-index: 9;
}
.header h3{ font-family: 'righteousregular'; }
.header .navbar-brand{
  background: var(--white-color);
  position: relative;
  z-index: 9;
  border-radius: 0 0 30px 30px;
  padding: 0 10px 10px;
}
.header .navbar-brand img{ max-width: 95px; }
.header .navbar-nav{ margin-top: 10px; }
.header li.nav-item { margin: 0 0 0 18px; }
.header li.nav-item .nav-link{ padding: 0; }

/* marquee-style image scrollers */
/*.mainbox{
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
  align-items: center;
}
.mainbox ul {
  list-style: none;
  display: flex;
  padding:0;
  flex-wrap: nowrap;
  align-items: center;
  transform: translateX(-100%);
  animation: Ticker_slide-to-right__TU154 90s linear infinite forwards;
}
.mainbox ul li {
  width: 208px;
  height:249px;
  display: inline-block;
  margin-right:15px;
  border-radius: 15px;
  overflow: hidden;
}
.secondlist.mainbox ul {
  transform: translateX(-100%);
  animation: Ticker_slide-to-left__oS_Sq 90s linear infinite forwards;
}
.mainbox ul li img {
  width: 100%;
  height:100%;
  object-fit: cover;
}*/

.mainbox{
  display:flex;
  flex-wrap:nowrap;
  overflow:hidden;
  align-items:center;
}
.mainbox ul{
  list-style:none;
  display:flex;
  padding:0;
  flex-wrap:nowrap;
  align-items:center;
  /* start aligned so first list is visible */
  transform:translateX(0);
  animation:Ticker_slide-to-left__oS_Sq 90s linear infinite;
}
.mainbox ul li{
  width:208px;
  height:249px;
  display:inline-block;
  margin-right:15px;
  border-radius:15px;
  overflow:hidden;
}
.mainbox ul li img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform 0.4s ease, box-shadow 0.4s ease; /* smooth effect */
}
 

/* hover state */
.mainbox ul li img:hover {
  transform: scale(1.08);                 /* slight zoom */
  box-shadow: 0 8px 18px rgba(0,0,0,0.25); /* subtle depth */
  border-radius: 15px;                    /* keeps corners rounded */
}

/*.secondlist.mainbox ul{
  animation:Ticker_slide-to-right__TU154 90s linear infinite;
}*/

@keyframes Ticker_slide-to-right__TU154 {
  0% { transform: translate3d(-100%,0,0) }
  100% { transform: translateZ(0) }
}
@keyframes Ticker_slide-to-left__oS_Sq {
  0% { transform: translateZ(0) }
  100% { transform: translate3d(-100%,0,0) }
}

/* top banner */
.topbanner{
  padding: 80px 0 60px;
  background-color: #F4F2F2;
  position: relative;
}
.topbanner::after{
  position: absolute;
  bottom: -106px;
  width: 100%;
  left: 0;
  right: 0;
  content: '';
  height: 112px;
  background-image: url("data:image/svg+xml,%3Csvg width='1440' height='91' viewBox='0 0 1440 91' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 4H1440V20C1440 20 1226.82 108.186 888.5 88C638.485 73.0831 354.5 21.5 235 20C115.5 18.5 0 75 0 75V4Z' fill='%23DD1C7F'/%3E%3Cpath d='M0 0H1440V11C1440 11 1226.82 99.1857 888.5 79C638.485 64.0831 354.5 12.5 235 11C115.5 9.5 0 66 0 66V0Z' fill='%23F4F2F2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
}
.topbanner h1{
  font-size: 54px;
  font-family: 'righteousregular';
  position: relative;

  background-image: url(../images/teddy.png);
  background-repeat: no-repeat;
  background-position: right 25% top 0px; /* same position you had */
  background-size: 70px 70px;               /* ← make it 90×90 */
 
}

.topbanner .btn-primary{
  display: inline-flex; align-items: center;
  background: var(--secondary-skyeblue); border: none; padding: 10px 20px;
}
.topbanner .btn svg{ margin-right: 5px; }
.topbanner .btn-success{
  display: inline-flex; align-items: center; background: #00E576; border:none;
  padding: 10px 20px; margin-right: 10px;
}
.topbanner .btn-success svg{ margin-right: 10px; }
.topbanner p{
  font-size: 17px; margin: 15px 0; color: #550964;
}

/* about us */
.aboutus{ padding: 160px 0 100px; }
.aboutus h4{ font-weight: 700; color: var(--secondary-skyeblue); font-size: 16px; }
.aboutus h2{ font-family: 'righteousregular'; color: var(--black-color); font-size: 38px; }
.aboutus p{ color: #737373; margin: 0; }
.aboutus .featbox{ border-radius: 12px; padding: 25px 20px; text-align: center; min-height: 270px; margin-top: 35px; }
.aboutus .featbox p{ font-size: 12px; font-weight: 400; margin: 0; }
.aboutus .featbox h6{ margin: 14px 0; }

.aboutus .featbox.border-yellow {
  border: 2px solid rgba(253, 191, 19, 0.35);
  background: rgba(253, 191, 19, 0.10);
}
.aboutus .featbox.border-red {
  border: 2px solid rgba(238, 93, 115, 0.35);
  background: rgba(238, 93, 115, 0.10);
}
.aboutus .featbox.border-green {
  border: 2px solid rgba(98, 190, 115, 0.35);
  background: rgba(98, 190, 115, 0.12);
}
.aboutus .featbox.border-skyblue {
  border: 2px solid rgba(20, 185, 197, 0.35);
  background: rgba(20, 185, 197, 0.10);
}
.aboutus .swiper{ padding-bottom: 50px; }

/* candy gradients */
.candy-lightpink { background: linear-gradient(135deg, #ffe6f0 0%, #ffb6c1 100%); }
.candy-mint      { background: linear-gradient(135deg, #dff7eb 0%, #a0eec0 100%); }
.candy-sky       { background: linear-gradient(135deg, #e6f2ff 0%, #a0c4ff 100%); }
.candy-yellow    { background: linear-gradient(135deg, #fff9e6 0%, #ffe680 100%); }

/* icon box */
.icon-circle{
  width: 80px; height: 80px; border-radius: 16px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 14px; box-shadow: 0 6px 14px rgba(0,0,0,0.08);
  font-size: 40px; transition: transform .25s ease, box-shadow .25s ease;
}
.icon-circle:hover{
  transform: translateY(-6px) scale(1.08);
  box-shadow: 0 14px 28px rgba(0,0,0,0.15);
}

/* generic featbox card style (non-aboutus) */
.featbox {
  padding: 22px; border-radius: 14px; background: #ffffff;
  min-height: 120px; text-align: center;
}
.featbox h6 { margin-top: 6px; margin-bottom: 6px; }
.featbox p  { margin: 0; color: #555; font-size: 14px; }

/* gallery + custom layout */
.gallery .custom-layout-with-text {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
  gap: 30px; margin-bottom: 80px;
}
.gallery .custom-images { display: flex; gap: 21px; }
.gallery .custom-left-images { display: flex; flex-direction: column; gap: 21px; }
.gallery .custom-left-images img {
  width: 284px; height: 242px; object-fit: cover;
  border-radius: 20px; border: 0 solid #fff; box-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
.gallery .custom-right-image img {
  width: 299px; height: 505px; object-fit: cover;
  border-radius: 20px; border: 0 solid #007aff; box-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
.gallery .custom-text-section { max-width: 500px; color: white; }
.gallery .custom-text-section h2 {
  font-size: 38px; font-weight: 900; margin-bottom: 20px; margin-top: 30px; line-height: 1.2;
}
.gallery .custom-text-section p {
  font-size: 16px; margin-bottom: 30px; line-height: 1.6; color: #dfece9;
}
.gallery .custom-text-section .btn {
  background-color: white; color: #4B9D7C; font-weight: bold; border: none;
  padding: 15px 30px; border-radius: 40px; font-size: 16px; text-decoration: none; display: inline-block; transition: background-color 0.3s ease;
}
.gallery .custom-text-section .btn:hover { background-color: #ddd; }

.gallery .cloudimg.last{ top: auto; bottom: -96px; }
.gallery .cloudimg{
  position: absolute; top: -120px; width: 100%;
}
.gallery{ padding: 120px 0 120px; background: var(--lightgreen-color); position: relative; }
.gallery ul.leftside {
  padding: 0; margin: 0; list-style: none;
  display: inline-flex; flex-direction: column;
}
.gallery .centerlogo{
  width: 187px; height: 187px; margin: 0 auto 20px; border-radius: 50%; overflow: hidden;
}
.gallery .centerlogo img{ width: 100%; height: 100%; }

.gallery ul.leftside li{
  max-width: 287px; width: 287px; height: 206px;
  border: 4px solid #FFFFFF; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25); border-radius: 5px;
}
.gallery ul.leftside li img{ width: 100%; height:100%; object-fit:cover; }
.gallery ul.leftside li:nth-child(2){ margin-top: -130px; margin-left: 150px; }
.gallery ul.leftside li:nth-child(3){ margin-left: 300px; margin-top: -130px; }
.gallery .btn-default{ background: var(--white-color); padding: 10px 25px; color: var(--lightgreen-color); margin-top: 40px; }

.gallery ul.rightside{
  padding: 0; margin: 0; list-style: none; display: inline-flex; flex-direction: column-reverse;
}
.gallery ul.rightside li{
  max-width: 287px; width: 287px; height: 206px;
  border: 4px solid #FFFFFF; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25); border-radius: 5px;
}
.gallery ul.rightside li img{ width: 100%; height:100%; object-fit:cover; }
.gallery ul.rightside li:nth-child(2){ margin-top: -130px; margin-left: 150px; }
.gallery ul.rightside li:last-child{ margin-left: 300px; }
.gallery ul.rightside li:first-child{ margin-top: -130px; }

/* services */
.services{
  padding: 100px  0 80px;
  background: linear-gradient(0deg, rgba(255,240,229,1) 0%, rgba(255,240,229,0) 100%);
}
.services h2{
  font-size: 36px; color: #2E0336; font-family: 'righteousregular';
  margin-bottom: 40px;
}
.services .servicebox{
  position: relative;
  padding: 15px; background: var(--white-color);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
  border-radius: 12px; margin-bottom:24px;
  overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}
.services .servicebox:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}
.services .servicebox:hover::after {
  content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  border-radius: 12px; box-shadow: 0 0 20px rgba(0, 200, 150, 0.4);
  animation: pulseAnim 1.5s infinite; pointer-events: none;
}
@keyframes pulseAnim {
  0%   { box-shadow: 0 0 0 rgba(0,200,150,0.4); }
  50%  { box-shadow: 0 0 20px rgba(0,200,150,0.6); }
  100% { box-shadow: 0 0 0 rgba(0,200,150,0.4); }
}
.services .servicebox h5{
  font-weight: 600; font-size: 18px; line-height: 27px; margin: 15px 0 5px 0;
  letter-spacing: 0.03em; color: var(--text-grey);
}
.services .servicebox p{
  font-size: 14px; font-weight: 400; min-height: 84px;
  font-family: 'Poppins', sans-serif; color: var(--text-lightgrey); letter-spacing: 1px;
}
.services .servicebox h6{ font-weight: 700; color: var(--primary-pink); }
.services .servicebox .btn-success{
  margin-top: 10px; background: var(--success-color); border: none;
}
.services .servicebox .ser_img{ border-radius: 8px; width: 100%; height: 185px; overflow: hidden; }
.services .servicebox .ser_img img{ width: 100%; object-fit:cover; }

/* our team */
.ourteam{
  padding: 200px 0 90px 0;
  background: linear-gradient(0deg, rgba(229,229,229,1) 0%, rgba(229,229,229,0) 100%);
  position: relative;
}
.ourteam .container{ position: relative; z-index: 9; }
.ourteam:before{
  position: absolute; content: ''; left: 0; z-index: 0; right: 0; top: 0; bottom: 0;
  background: url(../images/ourteambg.svg) top 5% center no-repeat;
}
.ourteam .teambox {
  background: var(--white-color); border-radius: 35px; margin-bottom: 30px; padding: 50px 35px;
}
.ourteam h2{
  font-size: 36px; color: var(--black-color); font-family: 'righteousregular';
  margin-bottom: 40px;
}
.ourteam .teambox .leftimg{ position: relative; width: 220px; height: 220px; }
.ourteam .teambox h6{ color: var(--text-lightgrey); }
.ourteam .teambox h5{ font-size: 18px; color: var(--text-grey); font-weight: 700; }
.ourteam .teambox h4{
  font-size: 20px; font-weight: 700; letter-spacing: 2px; font-family: 'righteousregular'; color: var(--primary-pink);
}
.ourteam .teambox .leftimg img{
  width: 218px; height: 218px; border-radius: 50%; object-fit: cover;
}
.ourteam .teambox .leftimg::after{
  position: absolute; content: ''; top: -2px; left: -1px; right: -1px; bottom: -1px;
  background: url(../images/outteamtopshape.svg);
}

/* customer review */
.customerreview{
  background: var(--primary-pink) url(../images/customerreviewbg.png) top center no-repeat;
  background-size: 100%;
  padding: 60px 0 30px; position: relative;
}
.customerreview:before{
  position: absolute; left: 0; content: ''; right: 0; top: -41px; height: 43px;
  background: url(../images/customerreviewborder.svg) top center no-repeat; background-size: cover;
}
.customerreview:after{
  position: absolute; left: 0; content: ''; right: 0; bottom: -41px; height: 43px;
  background: url(../images/customerreviewborder.svg) top center no-repeat; background-size: cover; transform: rotate(180deg);
}
.customerreview h4{
  font-size: 20px; font-family: 'righteousregular'; color: var(--white-color);
}
.customerreview .ratingbox span{ line-height: 24px; }
.customerreview .ratingbox strong{ margin: 0 10px; line-height: 6px; margin-top: 0px; }
.customerreview .ratingbox{
  margin-bottom: 30px; font-size: 14px; color: var(--white-color);
}
.customerreview h2{
  font-size: 36px; color: var(--white-color); font-family: 'righteousregular'; margin-bottom: 25px;
}
.customerreview .review_img img{ object-fit: cover; height: 66px; }
.customerreview .review_img {
  border-radius: 50%; overflow: hidden; width: 66px; height: 66px;
  border: 1px solid #710A85; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.customerreview .testomonialscard{
  background: var(--white-color); border-radius: 40px; padding: 30px; min-height:308px;
}
.customerreview .testomonialscard a{ display: inline-block; font-size: 14px; }
.customerreview .testomonialscard p{
  display: inline-block; color: var(--text-lightgrey); font-size: 14px;
}
.customerreview .testomonialscard h4{ color: var(--primary-pink); margin: 15px 0 10px; }
.customerreview .swiper{ padding-bottom: 60px; }
.customerreview .swiper .swiper-pagination-bullet{ background: var(--white-color); }

/* pop-in on load */
.customerreview .ratingbox{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.55rem .85rem; border-radius:12px;
  background: rgba(255,255,255,.08);
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  position:relative; overflow:hidden;
  transform:translateZ(0);
  will-change:transform, box-shadow;
  animation:rb-in .45s ease-out both;
}
@keyframes rb-in{
  from{ transform:translateY(6px) scale(.98); opacity:0; }
  to  { transform:none; opacity:1; }
}

/* lift + shine on hover */
.customerreview .ratingbox:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
.customerreview .ratingbox::after{
  content:""; position:absolute; inset:0 -120% 0 0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.55) 26%,transparent 52%);
  transform:skewX(-20deg); opacity:0; pointer-events:none;
}
.customerreview .ratingbox:hover::after{
  animation:rb-shine .9s ease forwards;
}
@keyframes rb-shine{
  0%  { transform:translateX(-60%) skewX(-20deg); opacity:0; }
  30% { opacity:1; }
  100%{ transform:translateX(60%)  skewX(-20deg); opacity:0; }
}


/* get in touch */
.getintouch{ padding: 150px 0 40px; }
.getintouch .innerbox{
  padding: 50px 80px 85px; position: relative;
  background:#FFE7C0 url(../images/contactstars.svg) center center no-repeat;
}
.getintouch .innerbox h2{
  font-size: 42px; color: var(--purple-color); font-family: 'righteousregular'; margin-bottom: 40px;
}
.getintouch .innerbox h4{
  font-size: 16px; color: var(--yellow-color); font-family: 'righteousregular';
}
.getintouch .innerbox:before{
  position: absolute; content: ''; left: 0; right: 0; top: -55px; height: 56px;
  background:url(../images/contactustopborder.svg) top center no-repeat;
}
.getintouch .innerbox .form-group{ margin-bottom: 20px; }
.getintouch .innerbox .btn-secondary{
  background: var(--yellow-color); border-radius: 0; border: none;
  padding: 12px 120px; font-size: 18px;
}
.getintouch .innerbox .form-control{
  border-radius: 0; box-shadow: none; border: none; font-weight: 400; color: var(--text-lightgrey);
  min-height: 60px; padding: 10px 15px;
}
.getintouch .innerbox textarea.form-control{ min-height: 220px; }

/* footer */
.footer{
  background: #171717; padding-top: 45px;
}
.footer ul.timinglist{ list-style: none; padding: 0; margin: 0; }
.footer .btn-success{
  display: inline-flex; align-items: center; background: #00E576; border:none;
  padding: 10px 20px; margin-top: 20px; display: inline-block;
}
.footer .btn-success svg{ margin-right: 5px; }
.footer ul.timinglist li{
  margin-bottom: 5px; color: var(--text-lightgrey); font-size: 14px;
}
.footer .mapbox iframe{
  margin: 0; /* fixed: was 00 */
  display: block; border-radius: 10px;
}
.footer .mapbox{
  border-radius: 12px; border: 4px solid var(--text-lightgrey);
}
.footer h4{
  color: var(--white-color); font-family: 'righteousregular'; font-size: 20px; margin-bottom: 15px;
}
.footer ul.contactlist{ padding: 0; margin: 0; list-style: none; }
.footer ul.contactlist li {
  color: var(--white-color); font-size: 14px; position: relative; padding-left: 30px; margin-bottom: 18px;
}
.footer ul.contactlist li svg{ position: absolute; left: 0; }
.footer ul.contactlist li a{ color: var(--white-color); text-decoration: none; }
.footer ul.sociallist { margin-top: 40px !important; }
.footer ul.sociallist li { margin-right: 10px; }
.footer ul.sociallist li a{
  width: 40px; height: 40px; display: flex; justify-content: center; align-items: center;
  border-radius: 50%; background: #2C2C2C; transition:all 0.5s ease;
}
.footer ul.sociallist li a:hover{ background: var(--primary-pink); }
.footer .btn-secondary svg{ margin-right: 15px; }
.footer .btn-secondary {
  background: var(--yellow-color); padding: 8px 10px; color: var(--white-color);
  border-radius: 10px; font-size: 18px; margin-top: 18px; display: flex; align-items: center; justify-content: center; border:none;
}
.footer .copyright {
  margin-top: 20px; padding: 15px 0; border-top: 1px solid var(--text-grey);
}
.footer .copyright p{ margin: 0; color: var(--text-lightgrey); }
.footer .copyright p a{ color: var(--red-color); }

/* rating + interactive bits used in customer view / services */
.ratingbox {
  display: flex; align-items: center; justify-content: center; gap: 0;
  margin-top: 0; flex-wrap: wrap;
}
.rating-number { font-size: 20px; font-weight: 400; color: white; }
.rating-stars .star { font-size: 20px; color: #bbbbbb; }
.rating-stars .star.filled { color: #ffb800; }
.review-count {
  font-size: 16px; color: #80d4ff; margin-left: 0; font-weight: 500;
}

/* scroll reveal */
.animate-on-scroll { opacity: 0; transform: translateY(20px); transition: all 0.6s ease-out; }
.animate-on-scroll.show { opacity: 1; transform: translateY(0); }

/* team card hover */
.team-card { transition: transform 0.4s ease, box-shadow 0.4s ease; cursor: pointer; }
.team-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25); border-radius: 35px;
}
.team-card.auto-hover {
  transform: translateY(-10px) scale(1.02) !important;
  box-shadow: 0 12px 35px rgba(255, 105, 180, 0.25) !important; border-radius: 35px;
}
.ourteam .team-card:hover { box-shadow: 0 12px 35px rgba(255, 105, 180, 0.25); }

/* testimonial grid (customer new view) */
.testimonial-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px; max-width: 1200px; margin: 0 auto;
}
/*.testimonial-card {
  background: #fff; border-radius: 10px; padding: 1rem; box-shadow: 0 0 0 1px #ddd;
  display: flex; flex-direction: column; justify-content: space-between;
  min-height: 180px; max-height: 180px; overflow: hidden; transition: box-shadow 0.3s ease;
}
.testimonial-card:hover { box-shadow: 0 4px 10px rgba(0,0,0,0.1); }*/


/* testimonial card redesign */
.customerreview .testimonial-card {
  background: #fff;
  border-radius: 20px;
  padding: 25px;
  position: relative;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  min-height: 220px;
  transition: transform .25s ease, box-shadow .25s ease;
  display: flex;
  flex-direction: column;
}
.customerreview .testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
} 
.customerreview .testimonial-text { 
  margin-bottom: 0;                 /* remove variable gap */
  display: -webkit-box;             /* optional: keep heights more uniform */
  -webkit-line-clamp: 4;            /* show up to 4 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.6;
  min-height: calc(1.6em * 4);      /* reserves space for 4 lines */
}
.customerreview .stars {
  margin-bottom: 10px; font-size: 1.2rem;
}
.customerreview .testimonial-user {
  display: flex; align-items: center; gap: 12px;
  margin-top: auto;                 /* pushes this block to the bottom */
  padding-top: 12px;          
}
.customerreview .testimonial-user img {
  width: 42px; height: 42px; border-radius: 50%;
  object-fit: cover; box-shadow: 0 3px 8px rgba(0,0,0,.15);
}
.customerreview .testimonial-user-info strong {
  display: block; font-size: 15px; color: var(--primary-pink); font-weight: 600;
}
.customerreview .testimonial-user-info span {
  font-size: 13px; color: #777;
}


.stars { margin-bottom: 0.5rem; }
.stars span { font-size: 16px; margin-right: 1px; }
.testimonial-text { color: #333; font-size: 12px; line-height: 1.4; font-family: 'Poppins', sans-serif; margin-bottom: 5px; }
.testimonial-text .read-more { display: inline; font-size: 9px; color: #454444; text-decoration: none; margin-left: 6px; }
.testimonial-user { display: flex; align-items: center; gap: 8px; }
.testimonial-user img {
  width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 2px solid #eee;
}
.testimonial-user-info { line-height: 1.2; }
.testimonial-user-info strong { display: block; font-size: 14px; color: #111; }
.testimonial-user-info span { font-size: 13px; color: #777; }

/* testimonial pagination dots (small) */
.testimonial-pagination{
  display:flex; justify-content:center; align-items:center; gap:8px;
  margin:16px 0 6px;
}
.testimonial-pagination .dot{
  width:8px; height:8px; border-radius:50%;
  background: rgba(255,255,255,.5); /* on pink bg */
  border: 1px solid rgba(255,255,255,.75);
  cursor:pointer; display:inline-block;
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
  opacity:.8;
}
.testimonial-pagination .dot:hover{ transform: scale(1.2); opacity:1; }
.testimonial-pagination .dot[aria-current="true"]{
  background:#fff; transform: scale(1.35);
  box-shadow: 0 0 0 3px rgba(255,255,255,.18);
}

/* dark-on-light fallback if you reuse dots elsewhere */
.customerreview .testimonial-pagination .dot{
  /* uses white since section bg is pink */
}


/* responsive tweaks */
@media (max-width : 1600px) {
  .gallery .cloudimg{ top: -97px; }
  .gallery .cloudimg.last { top: auto; bottom: -76px; }
}

@media (max-width: 768px) {
  .gallery .custom-layout { flex-direction: column; align-items: center; text-align: center; }
  .gallery .custom-left-images img { width: 162px; height: 141px; }
  .gallery .custom-right-image img { width: 169.5px; height: 303px; }
  .gallery .custom-layout-with-text { flex-direction: column; align-items: center; padding: 0 20px; }
  .gallery .custom-images { margin-top: 20px; align-items: center; display: flex; gap: 10px; }
  .gallery .custom-text-section h2 { font-size: 25px; text-align: center; }
  .gallery .custom-text-section p, .gallery .custom-text-section { text-align: center; }
}

@media (max-width : 1367px) {
  .gallery .centerlogo{ margin: 0 auto -80px; }
}

@media (max-width : 990px) {
  .footer ul.sociallist{ margin-bottom: 30px !important; }
  .footer .btn-success{ margin-bottom: 30px; }

  .gallaryslider{ margin-top:120px; }
  .gallaryslider .gall_img {
    border: 4px solid #FFFFFF; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 5px; overflow:hidden;
  }
  .gallaryslider .gall_img img {
    height: 300px; width: 100%; object-fit: cover; object-position: top;
  }
}

@media (max-width : 767px) {
  .customerreview .testomonialscard{ min-height:328px; }

  .ourteam .teambox .leftimg{ max-width:220px; margin:0 auto; }
  .gallaryslider{ margin-top:30px; }
  .gallaryslider .gall_img img {
    height: 250px; width: 100%; object-fit: cover; object-position: top;
  }

  .header .navbar-nav {
    margin-top: 0; position: absolute; z-index: 99; background: var(--primary-pink);
    left: 0; border-radius: 0 0 20px 20px; padding: 20px 0; right: 0;
  }
  .header h3{ font-size: 14px; }

  .gallery .cloudimg { top: -47px; height: 95px; }
  .gallery .cloudimg img{ object-fit: cover; height: 100%; }
  .gallery .cloudimg.last { top: auto; bottom: -56px; }

  .topbanner .btn-primary,.topbanner .btn-success{ font-size: 14px; }
  .header .navbar-toggler{
    display: block; margin-left: auto; margin-top: 10px; box-shadow: none;
  }
  .header .navbar-brand img{ max-width: 75px; }
  .header .navbar-brand{ border-radius: 0 0 15px 15px; }
  .header .navbar-toggler-icon{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    border-color: #fff;
  }

  .getintouch .innerbox{ padding:30px 30px; }
  .aboutus h2,.services h2,.getintouch .innerbox h2{ font-size: 30px; }
  .getintouch .innerbox .btn-secondary{ padding: 12px 20px; width: 100%; }

  .ourteam .teambox .leftimg::after{ background-position: center center; }
  .ourteam .rightcontent{ margin-top: 20px; }
  .ourteam .teambox{ text-align: center; display: block !important; padding: 30px 35px; }

  .services .servicebox { margin: 0 0 20px 0; }
  .ourteam:before{ background: url(../images/ourteambg.svg) top 1% center no-repeat; }
  .ourteam{ padding: 140px 0 70px 0; }

  .services{ padding: 50px 0; }

  .gallery ul.leftside{ text-align:center; }
  .gallery ul.leftside li{ max-width: 100%; }
  .gallery ul.leftside li:nth-child(2){ margin-left: 0; margin-top: 20px; }
  .gallery ul.leftside li:nth-child(3){ margin-left: 0; margin-top: 20px; }

  .gallery .centerlogo{ margin: 0 auto 30px; }

  .gallery ul.rightside{
    width: 100%; flex-direction: column; text-align:center; align-items:center;
  }
  .gallery ul.rightside li{ max-width: 100%; }
  .gallery ul.rightside li:first-child{ margin-left: 0; margin-top: 20px; }
  .gallery ul.rightside li:last-child{ margin-left: 0; margin-top: 20px; }
  .gallery ul.rightside li:nth-child(2){ margin-top: 20px; margin-left: 0; }

  .gallery{ padding: 50px 0; text-align: center; }
  .aboutus{ padding: 50px 0; }
  .topbanner h1{ font-size: 36px; margin-top: 30px; background-position: right bottom; }
  .header{ padding: 1; }
  .topbanner::after{ display: none; }

}

/* Auto-hover on mobile/touch for the active/visible slide */
@media (hover: none), (pointer: coarse) {
  #featslider .swiper-slide-active .icon-circle,
  #featslider .swiper-slide-visible .icon-circle {
    transform: translateY(-6px) scale(1.08);
    box-shadow: 0 14px 28px rgba(0,0,0,0.15);
  }
}

/* Optional: a gentle pulse on the gradient backgrounds when active */
@media (hover: none), (pointer: coarse) {
  #featslider .swiper-slide-active .icon-circle.candy-lightpink,
  #featslider .swiper-slide-active .icon-circle.candy-mint,
  #featslider .swiper-slide-active .icon-circle.candy-sky,
  #featslider .swiper-slide-active .icon-circle.candy-yellow {
    animation: candyPulse 2.2s ease-in-out infinite;
  }
}

@keyframes candyPulse {
  0%   { transform: translateY(-6px) scale(1.08); filter: brightness(1); }
  50%  { transform: translateY(-8px) scale(1.12); filter: brightness(1.06); }
  100% { transform: translateY(-6px) scale(1.08); filter: brightness(1); }
}
/*8 Sep*/
 

/* base swing (desktop) */
.gallery .custom-right-image img {
  transform-origin: 50% 100%;      /* bottom center pivot */
  animation: jcdcSwing 7.5s ease-in-out infinite;
  will-change: transform;
}

@keyframes jcdcSwing {
  0%   { transform: rotate(-4deg); }
  50%  { transform: rotate(4deg); }
  100% { transform: rotate(-4deg); }
}

/* smaller swing on small screens (use a different keyframe name) */
@keyframes jcdcSwingSm {
  0%   { transform: rotate(-3deg); }
  50%  { transform: rotate(3deg); }
  100% { transform: rotate(-3deg); }
}

@media (max-width: 768px) {
  .gallery .custom-right-image img {
    animation-name: jcdcSwingSm;   /* switch to the mobile keyframes */
    animation-duration: 8.5s;      /* slightly slower */
  }
}

/* accessibility + nice-to-have */
@media (prefers-reduced-motion: reduce) {
  .gallery .custom-right-image img { animation: none; }
}
@media (hover:hover) and (pointer:fine) {
  .gallery .custom-right-image img:hover { animation-play-state: paused; }
}

