 :root {
     --rose:        #3b82f6;
  --rose-deep:   #1d4ed8;
  --rose-light:  #e8f1ff;
  --rose-pale:   #f5f9ff;

  --teal:        #14b8a6;
  --teal-light:  #e6faf7;

  --cream:       #fcfbff;
  --ink:         #1b2430;
  --muted:       #6b7280;
--border: rgba(59, 130, 246, .15);

--sh-sm: 0 2px 14px rgba(59, 130, 246, .10);

--sh-md: 0 8px 36px rgba(59, 130, 246, .14);

--sh-lg: 0 20px 64px rgba(59, 130, 246, .18);
 }

 *,
 *::before,
 *::after {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
 }

 html {
   scroll-behavior: smooth;
 }

 body {
   font-family: 'Nunito', sans-serif;
   background: var(--cream);
   color: var(--ink);
   overflow-x: hidden;
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
   font-family: 'Playfair Display', serif;
   line-height: 1.2;
 }

 a {
   text-decoration: none;
   pointer-events: auto;
 }

 /* REUSABLE */
 .btn-rose {
   background: var(--rose);
   color: #fff;
   border: none;
   border-radius: 30px;
   padding: .65rem 1.9rem;
   font-family: 'Nunito', sans-serif;
   font-size: .85rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
   transition: background .22s, transform .15s, box-shadow .22s;
   box-shadow: 0 4px 18px 0 4px 18px rgb(29 78 216 / 31%);
   display: inline-flex;
   align-items: center;
   gap: 8px;
   cursor: pointer;
 }

 .btn-rose:hover {
   background: var(--rose-deep);
   color: #fff;
   transform: translateY(-2px);
   box-shadow:0 8px 28px rgb(29 78 216 / 44%);
 }

 .btn-outline-white {
   background: transparent;
   color: #fff;
   border: 2px solid rgba(255, 255, 255, .7);
   border-radius: 30px;
   padding: .62rem 1.7rem;
   font-family: 'Nunito', sans-serif;
   font-size: .85rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
   transition: background .22s, border-color .22s, transform .15s;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   cursor: pointer;
 }

 .btn-outline-white:hover {
   background: rgba(255, 255, 255, .15);
   border-color: #fff;
   color: #fff;
   transform: translateY(-2px);
 }

 .section-tag {
   display: inline-block;
   background: var(--rose-light);
   color: var(--rose);
   font-size: .68rem;
   font-weight: 700;
   letter-spacing: .18em;
   text-transform: uppercase;
   padding: .3rem .95rem;
   border-radius: 20px;
   margin-bottom: .9rem;
 }

 .section-heading {
   font-size: clamp(2rem, 4vw, 2.8rem);
   color: var(--ink);
   font-weight: 700;
   margin-bottom: .6rem;
 }

 .section-sub {
   color: var(--muted);
   font-size: .95rem;
   line-height: 1.8;
   max-width: 560px;
 }

 .divider-rose {
   width: 52px;
   height: 3px;
   background: linear-gradient(90deg, var(--rose), var(--rose-deep));
   border-radius: 4px;
   margin: .5rem 0 1.2rem;
 }

 .divider-rose.center {
   margin-left: auto;
   margin-right: auto;
 }

 .fade-up {
   opacity: 0;
   transform: translateY(32px);
   transition: opacity .65s ease, transform .65s ease;
 }

 .fade-up.visible {
   opacity: 1;
   transform: translateY(0);
 }

 /* TOP STRIP */
 #top-strip {
   background: var(--rose-deep);
   padding: 7px 0;
 }

 #top-strip .strip-inner {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: 6px;
 }

 #top-strip span,
 #top-strip a {
   font-size: .7rem;
   color: rgba(255, 255, 255, .88);
   letter-spacing: .09em;
   text-transform: uppercase;
 }

 #top-strip a:hover {
   color: #fff;
 }

 #top-strip i {
   margin-right: 5px;
 }

 /* HEADER */
 #header {
   background: #fff;
   border-bottom: 1px solid var(--border);
   position: sticky;
   top: 0;
   z-index: 999;
   box-shadow: var(--sh-sm);
 }

 #header .logo-mark img {
   width: 100px;
 }
 #header .logo-mark h2 {
    color:var(--rose-deep);
    font-size: 30px;
    font-weight: 600;
 }

 #header .logo-mark i {
   color: var(--rose);
   font-size: 1.15rem;
 }

 #header .brand-name {
   font-family: 'Playfair Display', serif;
   font-size: 1.3rem;
   font-weight: 700;
   color: var(--ink);
   line-height: 1.1;
 }

 #header .brand-sub {
   font-size: .62rem;
   color: var(--muted);
   letter-spacing: .1em;
   text-transform: uppercase;
 }

 #header .nav-link {
   font-size: 16px;
   font-weight: 600;
   color: #000 !important;
   letter-spacing: .04em;
   padding: .48rem 1rem !important;
   border-radius: 6px;
   transition: color .2s, background .2s;
 }

 #header .nav-link:hover,
 #header .nav-link.active {
   color: var(--rose) !important;
   background: var(--rose-light);
 }

 #header .navbar-toggler {
   border: 1.5px solid var(--border);
   border-radius: 8px;
   padding: .35rem .55rem;
 }

 #header .navbar-toggler:focus {
   box-shadow: none;
 }

 /* HERO */
 #hero {
   position: relative;
   min-height: 92vh;
   display: flex;
   align-items: center;
   overflow: hidden;
 }

 #hero .hero-bg {
   position: absolute;
   inset: 0;
   background-image: url('../img/banner.png');
   background-size: cover;
   background-position: center 30%;
   z-index: 0;
 }

 #hero .hero-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(105deg, rgb(29 79 216 / 44%) 0%, rgb(29 78 216 / 50%) 45%, rgba(46, 139, 139, .22) 100%);
   z-index: 1;
 }

 #hero .hero-grain {
   position: absolute;
   inset: 0;
   background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
   z-index: 2;
   opacity: .4;
   pointer-events: none;
 }

 #hero .hero-content {
   position: relative;
   z-index: 3;
   padding: 100px 0 80px;
   width: 100%;
   text-align: center;
 }

 #hero .hero-badge {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   background: rgba(255, 255, 255, .12);
   border: 1px solid rgba(255, 255, 255, .28);
   backdrop-filter: blur(8px);
   border-radius: 30px;
   padding: .4rem 1.1rem;
   font-size: .68rem;
   color: rgba(255, 255, 255, .9);
   font-weight: 700;
   letter-spacing: .14em;
   text-transform: uppercase;
   margin-bottom: 1.3rem;
   animation: fadeDown .6s ease both;
 }

 #hero h1 {
   font-size: clamp(2.5rem, 5.5vw, 4rem);
   color: #fff;
   font-weight: 700;
   line-height: 1.12;
   margin-bottom: 1.2rem;
   animation: fadeUp .7s .1s ease both;
   text-shadow: 0 2px 20px rgba(0, 0, 0, .3);
 }

 #hero h1 em {
   font-style: italic;
   color: var(--rose-deep);
 }

 #hero .hero-desc {
   font-size: 1rem;
   color: rgba(255, 255, 255, .78);
   line-height: 1.85;
   margin: 0 auto 2rem auto;
   /* center karega */
   max-width: 520px;
   /* width control kar sakte ho */
   text-align: center;
   /* text center */
   animation: fadeUp .7s .2s ease both;
 }

 #hero .hero-stats {
   display: flex;
   justify-content: center;
   gap: 2.2rem;
   margin-bottom: 2.4rem;
   flex-wrap: wrap;
   animation: fadeUp .7s .3s ease both;
 }

 #hero .stat-item {
   border-left: 2px solid rgba(247, 197, 208, .5);
   padding-left: 1rem;
 }

 #hero .stat-item:first-child {
   border: none;
 }

 #hero .stat-num {
   font-family: 'Playfair Display', serif;
   font-size: 2.1rem;
   font-weight: 700;
   color: var(--rose-deep);
   line-height: 1;
 }

 #hero .stat-label {
   font-size: .68rem;
   color: rgba(255, 255, 255, .65);
   text-transform: uppercase;
   letter-spacing: .09em;
 }

 #hero .hero-btns {
   display: flex;
   justify-content: center;
   gap: 12px;
   flex-wrap: wrap;
   animation: fadeUp .7s .4s ease both;
 }

 #hero .appt-card {
   background: rgba(255, 255, 255, .97);
   border-radius: 22px;
   box-shadow: var(--sh-lg);
   padding: 20px;
   position: relative;
   animation: fadeRight .8s .2s ease both;
   border: 1px solid var(--border);
   border-top-width: 5px;
   border-top-color: #b71157;
 }

 #hero .appt-card .card-title {
   font-size: 1.55rem;
   font-weight: 700;
   color: var(--ink);
   margin-bottom: .2rem;
 }

 #hero .appt-card .card-sub {
   font-size: .78rem;
   color: var(--muted);
   margin-bottom: 1.6rem;
 }

 #hero .appt-card .form-control,
 #hero .appt-card .form-select {
   border: 1.5px solid var(--border);
   border-radius: 10px;
   padding: .68rem 1rem;
   font-family: 'Nunito', sans-serif;
   font-size: .88rem;
   color: var(--ink);
   background: var(--rose-pale);
   transition: border-color .2s, box-shadow .2s, background .2s;
 }

 #hero .appt-card .form-control:focus,
 #hero .appt-card .form-select:focus {
   border-color: var(--rose);
   box-shadow: 0 0 0 3px rgba(192, 83, 108, .12);
   background: #fff;
   outline: none;
 }

 #hero .appt-card .form-label {
   font-size: .72rem;
   font-weight: 700;
   color: var(--muted);
   letter-spacing: .07em;
   text-transform: uppercase;
   margin-bottom: .3rem;
 }

 #hero .appt-card .btn-submit {
   width: 100%;
   justify-content: center;
   font-size: .9rem;
   padding: .85rem;
   margin-top: .4rem;
   border-radius: 12px;
 }

 #hero .appt-card .privacy-note {
   text-align: center;
   font-size: .68rem;
   color: var(--muted);
   margin-top: .85rem;
 }

 #hero .appt-card .privacy-note i {
   color: var(--rose);
 }

 /* CRED BAR */
 #cred-bar {
   background: var(--rose-light);
   border-bottom: 1px solid var(--border);
   padding: 14px 0;
 }

 #cred-bar .cred-list {
   display: flex;
   justify-content: center;
   gap: 2.5rem;
   flex-wrap: wrap;
   align-items: center;
 }

 #cred-bar .cred-item {
   display: flex;
   align-items: center;
   gap: 9px;
   font-size: .78rem;
   color: var(--muted);
   white-space: nowrap;
 }

 #cred-bar .cred-item i {
   color: var(--rose);
   font-size: .88rem;
 }

 #cred-bar .cred-item strong {
   color: var(--rose-deep);
 }

 /* ABOUT */
 #about {
   padding: 100px 0;
   background: #fff;
 }

 #about .img-box {
   width: 100%;
   border-radius: 22px;
   overflow: hidden;
   box-shadow: var(--sh-md);
   background: linear-gradient(135deg, var(--rose-light) 0%, var(--teal-light) 100%);
   height: 500px;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 #about .img-placeholder {
   text-align: center;
    width: 100%;
    height: 100%;
   color: var(--rose);
 }

 #about .img-placeholder img {
    object-fit: cover;
    width: 100%;
    height: 100%;
 }

 #about .about-img-wrap {
   position: relative;
 }

 #about .exp-badge {
   position: absolute;
   bottom: -18px;
   right: -18px;
   width: 116px;
   height: 116px;
   background: var(--rose);
   border-radius: 50%;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   color: #fff;
   box-shadow: var(--sh-md);
   border: 4px solid #fff;
 }

 #about .exp-badge .num {
   font-family: 'Playfair Display', serif;
   font-size: 2.1rem;
   font-weight: 700;
   line-height: 1;
 }

 #about .exp-badge .lbl {
   font-size: .58rem;
   text-align: center;
   letter-spacing: .06em;
   text-transform: uppercase;
   opacity: .85;
 }

 #about .about-content {
   padding-left: 3rem;
 }

 #about .qual-list {
   list-style: none;
   padding: 0;
   margin: 1.6rem 0 2rem;
 }

 #about .qual-list li {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   margin-bottom: 1rem;
   font-size: .9rem;
   color: var(--muted);
   line-height: 1.6;
 }

 #about .qual-list li i {
   color: var(--rose);
   margin-top: 2px;
   flex-shrink: 0;
 }

 #about .qual-list li strong {
   color: var(--ink);
 }

 /* SERVICES */
 #services {
   padding: 100px 0;
   background: var(--cream);
 }

 #services .service-card {
   background: #fff;
   border-radius: 20px;
   padding: 2.2rem 1.9rem;
   height: 100%;
   border: 1.5px solid var(--border);
   transition: transform .25s, box-shadow .25s, border-color .25s;
   position: relative;
   overflow: hidden;
 }

 #services .service-card::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 3px;
   background: linear-gradient(90deg, var(--rose), var(--rose-deep));
   opacity: 0;
   transition: opacity .25s;
 }

 #services .service-card:hover {
   transform: translateY(-7px);
   box-shadow: var(--sh-lg);
   border-color: var(--rose);
 }

 #services .service-card:hover::before {
   opacity: 1;
 }

 #services .svc-icon {
   width: 62px;
   height: 62px;
   border-radius: 18px;
   background: var(--rose-light);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 1.3rem;
   transition: background .25s;
 }

 #services .service-card:hover .svc-icon {
   background: var(--rose);
 }

 #services .svc-icon i {
   font-size: 1.45rem;
   color: var(--rose);
   transition: color .25s;
 }

 #services .service-card:hover .svc-icon i {
   color: #fff;
 }

 #services .service-card h5 a {
   font-size: 1.12rem;
   font-weight: 700;
   color: var(--ink);
   margin-bottom: .6rem;
   cursor: pointer;
 }

 #services .service-card p {
   font-size: .84rem;
   color: var(--muted);
   line-height: 1.75;
   margin-bottom: 1.3rem;
 }

 #services .svc-btn {
   font-size: .74rem;
   cursor: pointer;
   color: var(--rose);
   font-weight: 700;
   letter-spacing: .07em;
   text-transform: uppercase;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   border-bottom: 1.5px solid var(--rose-light);
   padding-bottom: 2px;
   transition: gap .2s, border-color .2s;
 }

 #services .service-card:hover .svc-btn {
   gap: 11px;
   border-color: var(--rose);
 }

 /* WHY US */
 #why-us {
   padding: 100px 0;
   background: linear-gradient(135deg, #1d4ed8 0%, #1d4ed8 100%);
   position: relative;
   overflow: hidden;
 }

 #why-us::before {
   content: '';
   position: absolute;
   top: -100px;
   right: -100px;
   width: 500px;
   height: 500px;
   background: radial-gradient(circle, rgba(211, 203, 205, 0.14) 0%, transparent 70%);
   border-radius: 50%;
 }

 #why-us .section-tag {
   background: #fff;
   color: var(--rose-deep);
 }

 #why-us .section-heading {
   color: #fff;
 }

 #why-us .section-sub {
   color: rgba(255, 255, 255, .5);
 }

 #why-us .why-card {
   background: rgba(255, 255, 255, .055);
   border: 1px solid #fff;
   border-radius: 18px;
   padding: 2rem 1.7rem;
   height: 100%;
   transition: background .25s, transform .25s;
   backdrop-filter: blur(6px);
 }

 #why-us .why-card:hover {
   background: rgb(255 255 255 / 12%);
   transform: translateY(-5px);
 }

 #why-us .why-num {
   font-family: 'Playfair Display', serif;
   font-size: 3.2rem;
   font-weight: 700;
   color: rgb(255 249 250 / 32%);
   line-height: 1;
   margin-bottom: .5rem;
 }

 #why-us .why-card h5 {
   font-size: 1.05rem;
   color: #fff;
   margin-bottom: .5rem;
 }

 #why-us .why-card p {
   font-size: .83rem;
   color: rgba(255, 255, 255, .52);
   line-height: 1.75;
 }

 /* TESTIMONIALS */
 #testimonials {
   padding: 100px 0;
   background: var(--rose-pale);
 }

 #testimonials .owl-stage-outer {
   padding-bottom: 10px;
 }

 #testimonials .testi-card {
   background: #fff;
   border-radius: 20px;
   padding: 2.2rem 2rem;
   box-shadow: var(--sh-sm);
   border: 1px solid var(--border);
   margin: 10px 12px 20px;
   transition: transform .25s, box-shadow .25s;
 }

 #testimonials .testi-card:hover {
   transform: translateY(-4px);
   box-shadow: var(--sh-md);
 }

 #testimonials .stars {
   color: #f5a623;
   font-size: .82rem;
   margin-bottom: 1rem;
   letter-spacing: 2px;
 }

 #testimonials .quote-icon {
   width: 42px;
   height: 42px;
   background: var(--rose-light);
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 1.2rem;
 }

 #testimonials .quote-icon i {
   color: var(--rose);
   font-size: 1rem;
 }

 #testimonials .testi-text {
   font-size: .9rem;
   color: var(--muted);
   line-height: 1.85;
   margin-bottom: 1.6rem;
   font-style: italic;
   height: 120px;
   /* fixed height */
   overflow-y: auto;
   /* vertical scrollbar */
   padding-right: 6px;
 }

 #testimonials .testi-text::-webkit-scrollbar {
   width: 2px;
 }

 #testimonials .testi-text::-webkit-scrollbar-track {
   background: #f1f1f1;
   border-radius: 10px;
 }

 #testimonials .testi-text::-webkit-scrollbar-thumb {
   background: var(--rose);
   border-radius: 10px;
 }

 #testimonials .testi-author {
   display: flex;
   align-items: center;
   gap: 12px;
 }

 #testimonials .author-avatar {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   background: var(--rose-light);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
 }

 #testimonials .author-avatar i {
   color: var(--rose);
   font-size: 1.2rem;
 }

 #testimonials .author-name {
   font-weight: 700;
   font-size: .9rem;
   color: var(--ink);
 }

 #testimonials .author-label {
   font-size: .72rem;
   color: var(--muted);
 }

 #testimonials .owl-nav {
   margin-top: 1.8rem;
   text-align: center;
   display: flex;
   justify-content: center;
   gap: 10px;
 }

 #testimonials .owl-nav button {
   width: 46px;
   height: 46px;
   border-radius: 50% !important;
   background: #fff !important;
   border: 2px solid var(--border) !important;
   color: var(--rose) !important;
   display: flex !important;
   align-items: center;
   justify-content: center;
   transition: all .2s !important;
 }

 #testimonials .owl-nav button:hover {
   background: var(--rose) !important;
   color: #fff !important;
   border-color: var(--rose) !important;
 }

 #testimonials .owl-nav button span {
   font-size: 1.4rem;
   line-height: 1;
 }

 #testimonials .owl-dots {
   text-align: center;
   margin-top: 1rem;
 }

 #testimonials .owl-dots .owl-dot span {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: var(--border) !important;
   transition: all .25s;
 }

 #testimonials .owl-dots .owl-dot.active span {
   background: var(--rose) !important;
   width: 24px;
   border-radius: 4px;
 }

 

 /* CONTACT */
 #contact {
   padding: 100px 0;
   background: var(--cream);
 }

 #contact .contact-wrap {
   background: #fff;
   border-radius: 22px;
   box-shadow: var(--sh-md);
   border: 1px solid var(--border);
   overflow: hidden;
 }

 #contact .contact-left {
   background: linear-gradient(150deg, var(--rose-deep) 0%, #2b46bb 100%);
   padding: 3rem 2.5rem;
   height: 100%;
   position: relative;
   overflow: hidden;
 }

 #contact .contact-left::before {
   content: '';
   position: absolute;
   bottom: -60px;
   right: -60px;
   width: 240px;
   height: 240px;
   background: rgba(255, 255, 255, .06);
   border-radius: 50%;
 }

 #contact .contact-left h3 {
   font-size: 1.9rem;
   color: #fff;
   margin-bottom: .4rem;
 }

 #contact .contact-left p.sub {
   font-size: .84rem;
   color: rgba(255, 255, 255, .62);
   margin-bottom: 20px;
 }

 #contact .ci-row {
   display: flex;
   align-items: flex-start;
   gap: 14px;
   margin-bottom: 20px;
   position: relative;
   z-index: 1;
 }

 #contact .ci-icon {
   width: 42px;
   height: 42px;
   border-radius: 12px;
   background: rgba(255, 255, 255, .14);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
 }

 #contact .ci-icon i {
   color: #fff;
 }

 #contact .ci-text .lbl {
   font-size: .65rem;
   text-transform: uppercase;
   letter-spacing: .1em;
   color: rgba(255, 255, 255, .52);
 }

 #contact .ci-text .val {
   font-size: .88rem;
   color: #fff;
   font-weight: 600;
 }

 #contact .ci-text a {
   color: #fff;
 }

 #contact .ci-text a:hover {
   color: #a8c9fd;
 }

 #contact .contact-social {
   margin-top: 2.5rem;
   position: relative;
   z-index: 1;
 }

 #contact .contact-social p {
   font-size: .7rem;
   color: rgba(255, 255, 255, .48);
   letter-spacing: .1em;
   text-transform: uppercase;
   margin-bottom: .7rem;
 }

 #contact .contact-social a {
   width: 38px;
   height: 38px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .12);
   border: 1px solid rgba(255, 255, 255, .18);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: rgba(255, 255, 255, .75);
   font-size: .9rem;
   margin-right: 8px;
   transition: background .2s, color .2s;
 }

 #contact .contact-social a:hover {
   background: var(--rose);
   color: #fff;
   border-color: var(--rose);
 }

 #contact .contact-right {
   padding: 3rem 2.5rem;
 }

 #contact .contact-right h4 {
   font-size: 1.6rem;
   margin-bottom: .3rem;
 }

 #contact .contact-right .sub {
   font-size: .83rem;
   color: var(--muted);
   margin-bottom: 20px;
 }

 #contact .form-control,
 #contact .form-select {
   border: 1.5px solid var(--border);
   border-radius: 10px;
   padding: .72rem 1rem;
   font-family: 'Nunito', sans-serif;
   font-size: .88rem;
   color: var(--ink);
   background: var(--rose-pale);
   transition: border-color .2s, box-shadow .2s, background .2s;
 }

 #contact .form-control:focus,
 #contact .form-select:focus {
   border-color: var(--rose);
   box-shadow: 0 0 0 3px rgba(192, 83, 108, .12);
   background: #fff;
   outline: none;
 }

 #contact .form-label {
   font-size: .72rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .07em;
   color: var(--muted);
   margin-bottom: .3rem;
 }

 /* FOOTER */
 #footer {
   background: linear-gradient(135deg, #1c1718, #2a1c1f);
   padding: 72px 0 0;
   overflow: hidden;
   color: rgba(255, 255, 255, .6);
 }

 #footer .brand-name {
   font-family: 'Playfair Display', serif;
   font-size: 1.55rem;
   font-weight: 700;
   color: #fff;
 }

 #footer .brand-name img {
   width: 100px;
 }

 #footer .footer-desc {
   font-size: .83rem;
   line-height: 1.85;
   margin: .9rem 0 1.5rem;
 }

 #footer .footer-social a {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .08);
   border: 1px solid rgba(255, 255, 255, .1);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: rgba(255, 255, 255, .65);
   font-size: .85rem;
   transition: background .2s, color .2s;
   margin-right: 8px;
 }

 #footer .footer-social a:hover {
   background: var(--rose);
   color: #fff;
   border-color: var(--rose);
 }

 #footer h6 {
   font-family: 'Nunito', sans-serif;
   font-size: .72rem;
   text-transform: uppercase;
   letter-spacing: .14em;
   color: #fff;
   margin-bottom: 1.3rem;
   font-weight: 700;
 }

 #footer .footer-links {
   list-style: none;
   padding: 0;
 }

 #footer .footer-links li {
   margin-bottom: .6rem;
 }

 #footer .footer-links a {
   font-size: .83rem;
   color: rgba(255, 255, 255, .52);
   display: flex;
   align-items: center;
   gap: 7px;
   transition: color .2s, padding-left .2s;
 }

 #footer .footer-links a:hover {
   color: var(--rose);
   padding-left: 4px;
 }

 #footer .footer-links a i {
   font-size: .62rem;
   color: var(--rose);
 }

 #footer .fc-item {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   margin-bottom: .9rem;
 }

 #footer .fc-item i {
   color: var(--rose);
   margin-top: 2px;
   flex-shrink: 0;
 }

 #footer .fc-item span {
   font-size: .83rem;
   line-height: 1.65;
 }

 #footer .fc-item a {
   color: rgba(255, 255, 255, .6);
 }

 #footer .fc-item a:hover {
   color: var(--rose);
 }

 #footer .footer-bottom {
   margin-top: 52px;
   padding: 18px 0;
   border-top: 1px solid rgba(255, 255, 255, .07);
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: 8px;
 }

 #footer .footer-bottom p {
   font-size: .74rem;
   color: rgba(255, 255, 255, .3);
   margin: 0;
 }

 #footer .footer-bottom a {
   color: var(--rose);
 }

 /* WHATSAPP FLOAT */
 .wa-float {
   position: fixed;
   bottom: 28px;
   right: 28px;
   z-index: 9999;
   width: 56px;
   height: 56px;
   background: #25d366;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 1.55rem;
   box-shadow: 0 6px 22px rgba(37, 211, 102, .42);
   transition: transform .2s;
 }

 .wa-float:hover {
   transform: scale(1.1);
   color: #fff;
 }

 .wa-float::before {
   content: '';
   position: absolute;
   inset: -5px;
   border-radius: 50%;
   border: 2px solid rgba(37, 211, 102, .38);
   animation: waPulse 2.2s ease-in-out infinite;
 }

 @keyframes waPulse {

   0%,
   100% {
     transform: scale(1);
     opacity: .7
   }

   50% {
     transform: scale(1.18);
     opacity: 0
   }
 }

 @keyframes fadeDown {
   from {
     opacity: 0;
     transform: translateY(-22px)
   }

   to {
     opacity: 1;
     transform: translateY(0)
   }
 }

 @keyframes fadeUp {
   from {
     opacity: 0;
     transform: translateY(34px)
   }

   to {
     opacity: 1;
     transform: translateY(0)
   }
 }

 @keyframes fadeRight {
   from {
     opacity: 0;
     transform: translateX(42px)
   }

   to {
     opacity: 1;
     transform: translateX(0)
   }
 }

 /* RESPONSIVE */
 @media(max-width:991px) {
   #about .about-content {
     padding-left: 0;
     margin-top: 3.5rem
   }

   #about .exp-badge {
     right: 10px;
     bottom: 10px
   }

   #hero .hero-content {
     padding: 80px 0 60px
   }

   #hero .appt-card {
     margin-top: 2.5rem
   }

   #contact .contact-left,
   #contact .contact-right {
     padding: 2.5rem 2rem
   }
 }

 @media(max-width:767px) {
   #hero {
     min-height: auto
   }

   #hero h1 {
     font-size: 30px
   }

   #hero .hero-stats {
     gap: 1.4rem
   }

   .section-heading {
     font-size: 28px;
   }

   #about .exp-badge {
     width: 90px;
     height: 90px
   }

   
   #about .exp-badge .num {
     font-size: 1.65rem
   }

   #top-strip .strip-right {
     display: none
   }

   #about {
     padding: 30px 0;
   }

   #about .row {
     flex-direction: column-reverse;
     row-gap: 20px;
   }

   #services {
     padding: 30px 0;
   }
 }

 @media(max-width:575px) {
   #cred-bar .cred-list {
     gap: 1rem;
     justify-content: center
   }

   #cred-bar .cred-item {
    gap: 5px;
    font-size: 10px;
}

   #hero .hero-btns {
     flex-direction: column
   }

   #hero .hero-btns .btn-rose,
   #hero .hero-btns .btn-outline-white {
     justify-content: center
   }

   #top-strip span,
   #top-strip a {
     font-size: 7px;
   }

   #why-us {
     padding: 30px 0;
   }

   #testimonials {
     padding: 30px 0;
   }

   #locations {
     padding: 30px 0;
   }

   #contact {
     padding: 30px 0;
   }

   #footer {
     padding: 30px 0;
   }

   #footer .footer-bottom {
     justify-content: center;
   }
 }


 /* quickcontact */
 .quickcontact {
   width: 45px;
   position: fixed;
   top: 77%;
   right: 15px;
   z-index: 102;
 }

 .quickcontact img {
   width: 45px;
 }




 /* modal css ===================== */

#modal-part .modal.fade .modal-dialog{
transform:translateY(-20px);
transition:all .3s ease-in-out
}

#modal-part .modal.show .modal-dialog{
transform:translateY(0)
}

#modal-part .modal-content{
border:none;
border-radius:16px;
overflow:hidden;
box-shadow:var(--sh-lg);
border:1px solid var(--border);
}

#modal-part .modal-header{
background:linear-gradient(135deg,var(--rose-deep),var(--rose));
color:#fff;
border-bottom:none;
padding:20px 24px;
position:relative;
}

#modal-part .modal-header::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:3px;
background:linear-gradient(
to right,
transparent,
var(--teal),
#fff,
var(--teal),
transparent
);
}

#modal-part .modal-title{
font-weight:700;
font-size:23px!important;
letter-spacing:1px;
color:#fff;
}

#modal-part .btn-close{
filter:invert(1);
opacity:.7;
transition:.3s;
}

#modal-part .btn-close:hover{
opacity:1;
transform:rotate(90deg)
}

#modal-part .modal-body{
padding:30px;
background:var(--cream);
}

#modal-part .form-control{
font-family:'Lato',sans-serif;
border-radius:10px;
padding:12px 15px;
margin-bottom:15px;
border:1px solid var(--border);
background:var(--rose-pale);
font-size:14px;
color:var(--ink);
transition:.3s;
}

#modal-part .form-control::placeholder{
color:var(--muted)
}

#modal-part .form-control:focus{
border-color:var(--rose);
box-shadow:0 0 0 4px rgba(59,130,246,.14);
outline:none;
background:#fff;
}

#modal-part textarea.form-control{
resize:none
}

#modal-part button.submit{
font-family:'Lato',sans-serif;
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
background:linear-gradient(
135deg,
var(--rose-deep),
var(--rose)
);
border:none;
padding:14px;
border-radius:10px;
color:#fff;
width:100%;
transition:.3s;
}

#modal-part button.submit:hover{
transform:translateY(-2px);
box-shadow:var(--sh-md);
}