/* ===================================
   MAA DENTAL CARE - MAIN STYLESHEET
   =================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap');

:root {
  --primary: #0d9488;
  --primary-dark: #0f766e;
  --primary-light: #ccfbf1;
  --secondary: #0ea5e9;
  --accent: #14b8a6;
  --white: #ffffff;
  --light: #f0fdfa;
  --light-blue: #e0f2fe;
  --text-dark: #0f172a;
  --text-body: #334155;
  --text-muted: #64748b;
  --border: #e2e8f0;
  --gradient-primary: linear-gradient(135deg, #0d9488 0%, #0ea5e9 100%);
  --gradient-hero: linear-gradient(135deg, rgba(13,148,136,0.9) 0%, rgba(14,165,233,0.85) 100%);
  --shadow-sm: 0 2px 10px rgba(13,148,136,0.1);
  --shadow-md: 0 8px 30px rgba(13,148,136,0.15);
  --shadow-lg: 0 20px 60px rgba(13,148,136,0.2);
  --radius: 16px;
  --radius-sm: 10px;
  --transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;font-size:15px;color:var(--text-body);background:var(--white);overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;font-weight:700;color:var(--text-dark);line-height:1.25;}
a{text-decoration:none;color:inherit;transition:var(--transition);}
img{max-width:100%;}

/* TOP BAR */
.top-bar{background:var(--gradient-primary);color:var(--white);padding:10px 0;font-size:13.5px;font-weight:500;}
.top-bar a{color:var(--white);opacity:.92;}
.top-bar a:hover{opacity:1;text-decoration:underline;}
.top-bar-item{display:inline-flex;align-items:center;gap:7px;}

/* NAVBAR */
.navbar{background:var(--white)!important;box-shadow:0 2px 20px rgba(0,0,0,.08);padding:14px 0;transition:var(--transition);z-index:1050;}
.navbar.scrolled{padding:10px 0;box-shadow:0 4px 30px rgba(0,0,0,.12);}
.navbar-brand{display:flex;align-items:center;gap:12px;}
.brand-logo{width:48px;height:48px;background:var(--gradient-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:white;box-shadow:var(--shadow-sm);}
.brand-name{font-size:18px;font-weight:800;color:var(--primary);display:block;letter-spacing:-.3px;}
.brand-sub{font-size:11px;color:var(--text-muted);font-weight:400;display:block;}
.navbar-nav .nav-link{font-weight:600;font-size:14px;color:var(--text-dark)!important;padding:8px 16px!important;border-radius:var(--radius-sm);position:relative;transition:var(--transition);}
.navbar-nav .nav-link::after{content:'';position:absolute;bottom:4px;left:50%;right:50%;height:2px;background:var(--primary);border-radius:2px;transition:var(--transition);}
.navbar-nav .nav-link:hover::after,.navbar-nav .nav-link.active::after{left:16px;right:16px;}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--primary)!important;}
.btn-appointment{background:var(--gradient-primary);color:white!important;border:none;padding:10px 24px!important;border-radius:50px!important;font-weight:600!important;font-size:14px!important;box-shadow:var(--shadow-sm);transition:var(--transition);}
.btn-appointment::after{display:none!important;}
.btn-appointment:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(13,148,136,.4)!important;color:white!important;}

/* BUTTONS */
.btn-primary-custom{background:var(--gradient-primary);color:white;border:none;padding:14px 36px;border-radius:50px;font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:8px;transition:var(--transition);box-shadow:0 6px 25px rgba(13,148,136,.35);cursor:pointer;}
.btn-primary-custom:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(13,148,136,.45);color:white;}
.btn-outline-custom{background:transparent;color:white;border:2px solid rgba(255,255,255,.7);padding:13px 34px;border-radius:50px;font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:8px;transition:var(--transition);cursor:pointer;}
.btn-outline-custom:hover{background:white;color:var(--primary);border-color:white;transform:translateY(-3px);}

/* HERO */
.hero-section{position:relative;overflow:hidden;}
#heroCarousel{height:100vh;min-height:580px;}
.carousel-item{height:100vh;min-height:580px;}
.hero-slide{height:100%;background-size:cover;background-position:center;position:relative;}
.hero-slide::before{content:'';position:absolute;inset:0;
                    /*background:var(--gradient-hero);*/
                     background:linear-gradient(135deg, #14b8a600, #0ea5e96e);


}
.hero-slide-1{background:linear-gradient(135deg,#0d9488,#0ea5e9);}
.hero-slide-2{background:linear-gradient(135deg,#0f766e,#0284c7);}
.hero-slide-3{background:linear-gradient(135deg,#14b8a6,#0ea5e9);}
/* decorative pattern on hero slides */
.hero-slide::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Ccircle cx='40' cy='40' r='35' stroke='white' stroke-opacity='0.03' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");}
.hero-content{position:absolute;inset:0;display:flex;align-items:center;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);color:white;padding:8px 20px;border-radius:50px;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:24px;}
.hero-title{font-size:clamp(36px,6vw,66px);font-weight:800;color:white;line-height:1.1;margin-bottom:20px;text-shadow:0 2px 20px rgba(0,0,0,.2);}
.hero-title span{color:#a7f3d0;}
.hero-desc{font-size:17px;color:rgba(255,255,255,.88);max-width:520px;margin-bottom:36px;line-height:1.7;}
.hero-stats{display:flex;gap:32px;margin-top:40px;}
.hero-stat{color:white;}
.hero-stat .num{font-size:32px;font-weight:800;display:block;line-height:1;}
.hero-stat .label{font-size:12px;opacity:.8;font-weight:500;}
.carousel-control-prev,.carousel-control-next{width:50px;height:50px;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:50%;top:50%;transform:translateY(-50%);opacity:1;margin:0 20px;transition:var(--transition);}
.carousel-control-prev:hover,.carousel-control-next:hover{background:rgba(255,255,255,.3);}
.carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:50%;border:2px solid white;background:transparent;opacity:.6;transition:var(--transition);}
.carousel-indicators .active{background:white;opacity:1;width:28px;border-radius:5px;}

/* DECORATIVE SHAPES ON HERO */
.hero-deco{position:absolute;right:8%;top:50%;transform:translateY(-50%);z-index:1;opacity:.12;}
.hero-deco .deco-circle{border-radius:50%;border:2px solid white;}
.hero-deco .c1{width:320px;height:320px;position:absolute;top:-160px;right:0;}
.hero-deco .c2{width:200px;height:200px;position:absolute;top:-100px;right:60px;}
.hero-deco .c3{width:100px;height:100px;position:absolute;top:-50px;right:110px;}

/* SECTION */
.section-pad{padding:90px 0;}
.section-pad-sm{padding:60px 0;}
.section-label{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:14px;}
.section-label::before,.section-label::after{content:'';display:block;width:24px;height:2px;background:var(--primary);border-radius:2px;}
.section-title{font-size:clamp(28px,4vw,42px);font-weight:800;color:var(--text-dark);margin-bottom:16px;}
.section-title span{color:var(--primary);}
.section-desc{font-size:16px;color:var(--text-muted);max-width:580px;margin:0 auto;line-height:1.75;}
.section-divider{width:60px;height:4px;background:var(--gradient-primary);border-radius:2px;margin:18px auto 0;}

/* ABOUT */
.about-section{background:var(--light);}
.about-img-wrap{position:relative;border-radius:var(--radius);overflow:hidden;}
.about-img-wrap img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg);}
.about-img-placeholder{width:100%;aspect-ratio:4/4;background:var(--gradient-primary);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font-size:80px;box-shadow:var(--shadow-lg);}
.about-img-placeholder p{font-size:16px;margin-top:12px;opacity:.8;}
.about-badge{position:absolute;bottom:30px;left:-20px;background:white;border-radius:var(--radius-sm);padding:18px 24px;box-shadow:var(--shadow-md);text-align:center;}
.about-badge .num{font-size:36px;font-weight:800;color:var(--primary);display:block;line-height:1;}
.about-badge .txt{font-size:12px;color:var(--text-muted);font-weight:500;}
.about-feature-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;}
.about-feature-icon{width:44px;height:44px;flex-shrink:0;background:var(--primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--primary);}
.about-feature-item h6{font-size:15px;font-weight:700;margin-bottom:3px;}
.about-feature-item p{font-size:13px;color:var(--text-muted);margin:0;}

/* SERVICES */
.service-card{background:white;border-radius:var(--radius);padding:36px 28px;border:1px solid var(--border);transition:var(--transition);height:100%;position:relative;overflow:hidden;}
.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:var(--transition);transform-origin:left;}
.service-card:hover::before{transform:scaleX(1);}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.service-icon{width:70px;height:70px;background:var(--primary-light);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--primary);margin-bottom:22px;transition:var(--transition);}
.service-card:hover .service-icon{background:var(--gradient-primary);color:white;transform:scale(1.1);}
.service-card h4{font-size:17px;font-weight:700;margin-bottom:10px;}
.service-card p{font-size:14px;color:var(--text-muted);line-height:1.7;}

/* SERVICE PRICE CARDS */
.service-price-card{background:white;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;transition:var(--transition);height:100%;}
.service-price-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.card-header-custom{background:var(--gradient-primary);padding:28px 24px 20px;text-align:center;color:white;}
.card-icon{font-size:36px;margin-bottom:10px;display:block;}
.card-title-name{font-size:16px;font-weight:700;color:white;margin:0;}
.service-price-card .card-body-custom{padding:24px;}
.price-tag{font-size:28px;font-weight:800;color:var(--primary);display:block;margin-bottom:8px;}
.duration-tag{font-size:12px;color:var(--text-muted);background:var(--light);padding:4px 10px;border-radius:50px;display:inline-block;margin-bottom:14px;}
.service-price-card p{font-size:13.5px;color:var(--text-muted);line-height:1.65;}
.btn-book{background:var(--primary-light);color:var(--primary);border:none;padding:10px 20px;border-radius:50px;font-weight:600;font-size:13px;width:100%;transition:var(--transition);cursor:pointer;margin-top:14px;}
.btn-book:hover{background:var(--gradient-primary);color:white;transform:translateY(-2px);box-shadow:var(--shadow-sm);}

/* WHY CHOOSE US */
.why-section{background:var(--text-dark);}
.why-card{text-align:center;padding:36px 24px;border-radius:var(--radius);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:var(--transition);}
.why-card:hover{background:rgba(13,148,136,.15);border-color:rgba(13,148,136,.4);transform:translateY(-6px);}
.why-icon{width:72px;height:72px;background:var(--gradient-primary);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;color:white;margin:0 auto 22px;box-shadow:0 8px 25px rgba(13,148,136,.3);}
.why-card h5{font-size:16px;font-weight:700;color:white;margin-bottom:10px;}
.why-card p{font-size:13.5px;color:rgba(255,255,255,.6);line-height:1.7;}

/* DOCTOR */
.doctor-section{background:var(--light);}
.doctor-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);}
.doctor-img-placeholder{width:100%;aspect-ratio:4/4;background:var(--gradient-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font-size:80px;}
.doctor-info{padding:32px;}
.doctor-info h3{font-size:24px;font-weight:800;color:var(--text-dark);}
.doctor-designation{color:var(--primary);font-weight:600;font-size:14px;margin-bottom:18px;}
.qualification-badge{display:inline-block;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;padding:5px 14px;border-radius:50px;margin:3px 3px 3px 0;}
.spec-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-body);margin-bottom:10px;}
.spec-item i{color:var(--primary);font-size:15px;}
.timing-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--border);font-size:14px;}
.timing-row:last-child{border:none;}
.timing-row .day{font-weight:600;color:var(--text-dark);}
.timing-row .time{color:var(--primary);font-weight:500;}

/* TESTIMONIALS */
.testimonials-section{background:var(--white);}
.testimonial-card{background:white;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--border);height:100%;transition:var(--transition);}
.testimonial-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.stars{color:#f59e0b;margin-bottom:16px;font-size:15px;}
.testimonial-text{font-size:14.5px;color:var(--text-body);line-height:1.75;margin-bottom:22px;}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:white;flex-shrink:0;}
.testimonial-meta h6{font-size:14px;font-weight:700;margin-bottom:2px;}
.testimonial-meta span{font-size:12px;color:var(--text-muted);}

/* CTA */
.cta-section{background:var(--gradient-primary);position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;top:-50%;right:-10%;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.06);}
.cta-section::after{content:'';position:absolute;bottom:-40%;left:-5%;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}

/* COUNTERS */
.counter-section{background:var(--gradient-primary);}
.counter-item{text-align:center;padding:20px;}
.counter-num{font-size:48px;font-weight:800;color:white;display:block;line-height:1;}
.counter-label{font-size:14px;color:rgba(255,255,255,.8);font-weight:500;margin-top:6px;display:block;}

/* CONTACT */
.contact-card{background:white;border-radius:var(--radius);padding:36px;box-shadow:var(--shadow-md);border:1px solid var(--border);}
.contact-info-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;}
.contact-icon{width:50px;height:50px;flex-shrink:0;background:var(--primary-light);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--primary);}
.contact-info-item h6{font-size:14px;font-weight:700;margin-bottom:3px;}
.contact-info-item p{font-size:14px;color:var(--text-muted);margin:0;}
.form-control-custom{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;font-family:'Poppins',sans-serif;color:var(--text-dark);transition:var(--transition);background:var(--light);width:100%;}
.form-control-custom:focus{outline:none;border-color:var(--primary);background:white;box-shadow:0 0 0 4px rgba(13,148,136,.1);}
.map-embed{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);}
.map-embed iframe{width:100%;height:350px;border:none;display:block;}
.whatsapp-btn{position:fixed;bottom:90px;right:25px;width:56px;height:56px;background:#25d366;border-radius:50%;z-index:999;display:flex;align-items:center;justify-content:center;font-size:26px;color:white;box-shadow:0 6px 20px rgba(37,211,102,.4);transition:var(--transition);}
.whatsapp-btn:hover{transform:scale(1.12);box-shadow:0 10px 30px rgba(37,211,102,.5);color:white;}

/* FOOTER */
.footer{background:#0a1628;color:rgba(255,255,255,.75);}
.footer-top{padding:80px 0 50px;}
.footer-brand-name{font-size:22px;font-weight:800;color:white;}
.footer-brand-sub{font-size:12px;color:rgba(255,255,255,.5);}
.footer-desc{font-size:13.5px;line-height:1.8;color:rgba(255,255,255,.6);max-width:280px;}
.footer h5{font-size:14px;font-weight:700;color:white;margin-bottom:20px;text-transform:uppercase;letter-spacing:1.5px;}
.footer-links{list-style:none;padding:0;}
.footer-links li{margin-bottom:10px;}
.footer-links a{font-size:13.5px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:8px;transition:var(--transition);}
.footer-links a::before{content:'→';color:var(--primary);font-size:12px;}
.footer-links a:hover{color:white;padding-left:4px;}
.footer-contact-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;font-size:13.5px;}
.footer-contact-item i{color:var(--primary);font-size:16px;margin-top:2px;flex-shrink:0;}
.social-links{display:flex;gap:10px;margin-top:24px;}
.social-link{width:40px;height:40px;background:rgba(255,255,255,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:15px;transition:var(--transition);}
.social-link:hover{background:var(--primary);color:white;transform:translateY(-3px);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;font-size:13px;}

/* BACK TO TOP */
#backToTop{position:fixed;bottom:25px;right:25px;width:46px;height:46px;background:var(--gradient-primary);color:white;border:none;border-radius:50%;font-size:18px;cursor:pointer;z-index:999;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(13,148,136,.4);transition:var(--transition);opacity:0;transform:translateY(20px);}
#backToTop.visible{opacity:1;transform:translateY(0);}
#backToTop:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(13,148,136,.5);}

/* MODAL */
.modal-header{background:var(--gradient-primary);color:white;border-radius:16px 16px 0 0;}
.modal-header .btn-close{filter:invert(1);}
.modal-content{border-radius:var(--radius);border:none;overflow:hidden;}
.modal-title{font-weight:700;}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .65s ease,transform .65s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.delay-1{transition-delay:.1s;}
.delay-2{transition-delay:.2s;}
.delay-3{transition-delay:.3s;}
.delay-4{transition-delay:.4s;}
.delay-5{transition-delay:.5s;}

/* PAGE HERO (INNER PAGES) */
.page-hero{background:var(--gradient-primary);padding:130px 0 70px;text-align:center;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Ccircle cx='30' cy='30' r='2' fill='white' fill-opacity='0.04'/%3E%3C/g%3E%3C/svg%3E");}
.page-hero h1{font-size:clamp(32px,6vw,52px);font-weight:800;color:white;margin-bottom:12px;position:relative;}
.page-hero p{color:rgba(255,255,255,.8);font-size:16px;position:relative;}
.breadcrumb{justify-content:center;background:none;}
.breadcrumb-item{color:rgba(255,255,255,.7);font-size:14px;}
.breadcrumb-item a{color:rgba(255,255,255,.85);}
.breadcrumb-item.active{color:white;font-weight:600;}
.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.5);}

/* TIMELINE */
.timeline{position:relative;padding:20px 0;}
.timeline::before{content:'';position:absolute;left:20px;top:0;bottom:0;width:2px;background:var(--primary-light);}
.timeline-item{padding-left:60px;position:relative;margin-bottom:36px;}
.timeline-dot{position:absolute;left:12px;top:4px;width:18px;height:18px;background:var(--gradient-primary);border-radius:50%;border:3px solid white;box-shadow:0 0 0 3px var(--primary-light);}
.timeline-content{background:white;border-radius:var(--radius-sm);padding:22px 24px;box-shadow:var(--shadow-sm);border:1px solid var(--border);}
.timeline-content h5{font-size:15px;font-weight:700;margin-bottom:4px;}
.timeline-year{font-size:12px;color:var(--primary);font-weight:700;margin-bottom:8px;display:block;}
.timeline-content p{font-size:13.5px;color:var(--text-muted);margin:0;}

/* GALLERY */
.gallery-item{overflow:hidden;border-radius:var(--radius);}
.gallery-placeholder{width:100%;aspect-ratio:1;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:36px;color:white;transition:var(--transition);}
.gallery-item:hover .gallery-placeholder{transform:scale(1.05);}
.gallery-item:hover .gallery-img-real{transform:scale(1.05);}
.gallery-img-real{width:100%;aspect-ratio:1;object-fit:cover;transition:var(--transition);}

/* FACILITY CARD */
.facility-card{background:white;border-radius:var(--radius);padding:28px;border:1px solid var(--border);text-align:center;transition:var(--transition);}
.facility-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.facility-icon{width:64px;height:64px;background:var(--primary-light);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--primary);margin:0 auto 16px;transition:var(--transition);}
.facility-card:hover .facility-icon{background:var(--gradient-primary);color:white;}
.facility-card h5{font-size:15px;font-weight:700;margin-bottom:8px;}
.facility-card p{font-size:13px;color:var(--text-muted);margin:0;}

/* HOURS TABLE */
.hours-table{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border);}
.hours-row{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--border);}
.hours-row:last-child{border:none;}
.hours-row:hover{background:var(--light);}
.hours-day{font-weight:600;font-size:14px;color:var(--text-dark);}
.hours-time{font-size:14px;color:var(--primary);font-weight:500;}
.hours-closed{font-size:14px;color:#ef4444;font-weight:500;}

/* RESPONSIVE */
@media(max-width:991px){.hero-stats{gap:20px;}.hero-stat .num{font-size:26px;}.about-badge{left:10px;}.footer-top{padding:50px 0 30px;}}
@media(max-width:767px){.top-bar .d-flex{flex-direction:column;gap:6px;font-size:12px;}#heroCarousel,.carousel-item,.hero-slide{min-height:100svh;}.hero-title{font-size:32px;}.hero-desc{font-size:15px;}.hero-stats{gap:16px;}.section-pad{padding:60px 0;}.page-hero{padding:100px 0 50px;}.counter-num{font-size:36px;}}
@media(max-width:480px){.hero-stats{flex-wrap:wrap;}.btn-primary-custom,.btn-outline-custom{padding:12px 24px;font-size:14px;}}

/* ===================================
   PHASE 2 - ADDITIONAL STYLES
   =================================== */

/* --- TEAM PAGE --- */
.team-card {
  background: white;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: var(--transition);
  height: 100%;
}
.team-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}
.team-img-wrap {
  position: relative;
  overflow: hidden;
}
.team-placeholder {
  width: 100%;
  aspect-ratio: 3/3.5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 72px;
  color: white;
  transition: var(--transition);
}
.team-card:hover .team-placeholder { transform: scale(1.05); }
.team-overlay {
  position: absolute;
  inset: 0;
  background: rgba(13,148,136,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: 0;
  transition: var(--transition);
}
.team-card:hover .team-overlay { opacity: 1; }
.team-overlay a {
  width: 42px; height: 42px;
  background: white;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 15px;
  transition: var(--transition);
}
.team-overlay a:hover { background: var(--primary); color: white; transform: scale(1.1); }
.team-info {
  padding: 24px;
  border-top: 3px solid transparent;
  transition: var(--transition);
}
.team-card:hover .team-info { border-color: var(--primary); }
.team-info h4 { font-size: 17px; font-weight: 700; margin-bottom: 4px; }
.team-info .role { font-size: 13px; color: var(--primary); font-weight: 600; margin-bottom: 10px; display: block; }
.team-info p { font-size: 13px; color: var(--text-muted); line-height: 1.65; margin: 0; }
.staff-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 11px; font-weight: 700;
  padding: 4px 12px;
  border-radius: 50px;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* --- GALLERY PAGE --- */
.gallery-filter-btn {
  background: white;
  border: 1.5px solid var(--border);
  color: var(--text-muted);
  padding: 8px 22px;
  border-radius: 50px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}
.gallery-filter-btn:hover,
.gallery-filter-btn.active {
  background: var(--gradient-primary);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 15px rgba(13,148,136,.3);
}
.gallery-grid-item {
  overflow: hidden;
  border-radius: var(--radius);
  position: relative;
  cursor: pointer;
}
.gallery-grid-item .g-placeholder {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  color: white;
  transition: var(--transition);
}
.gallery-grid-item:hover .g-placeholder { transform: scale(1.08); }
.gallery-grid-item .g-overlay {
  position: absolute;
  inset: 0;
  background: rgba(13,148,136,0.75);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  opacity: 0;
  transition: var(--transition);
  gap: 8px;
}
.gallery-grid-item:hover .g-overlay { opacity: 1; }
.gallery-grid-item .g-overlay i { font-size: 28px; }
.gallery-grid-item .g-overlay span { font-size: 13px; font-weight: 600; }
.gallery-grid-item .g-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
  color: white;
  font-size: 13px;
  font-weight: 600;
  transform: translateY(100%);
  transition: var(--transition);
}
.gallery-grid-item:hover .g-caption { transform: translateY(0); }

/* Lightbox */
.lightbox-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.92);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
.lightbox-overlay.active { display: flex; }
.lightbox-content {
  max-width: 85vw;
  max-height: 75vh;
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  background: #1e293b;
  min-width: 320px;
  min-height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox-close {
  position: absolute; top: 16px; right: 16px;
  width: 40px; height: 40px;
  background: rgba(255,255,255,0.15);
  border: none;
  border-radius: 50%;
  color: white;
  font-size: 18px;
  cursor: pointer;
  z-index: 10;
  transition: var(--transition);
}
.lightbox-close:hover { background: var(--primary); }
.lightbox-caption { color: white; font-size: 15px; font-weight: 600; text-align: center; }
.lightbox-nav {
  display: flex; gap: 16px;
}
.lightbox-btn {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  color: white;
  padding: 10px 24px;
  border-radius: 50px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: var(--transition);
}
.lightbox-btn:hover { background: var(--primary); border-color: var(--primary); }

/* --- REVIEWS PAGE --- */
.reviews-summary-card {
  background: white;
  border-radius: var(--radius);
  padding: 36px;
  box-shadow: var(--shadow-md);
  text-align: center;
  border: 1px solid var(--border);
}
.overall-rating {
  font-size: 72px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
  display: block;
}
.big-stars { font-size: 28px; color: #f59e0b; margin: 12px 0; }
.rating-bar-row {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 10px;
}
.rating-bar-label { font-size: 13px; font-weight: 600; color: var(--text-dark); width: 14px; }
.rating-bar-track {
  flex: 1;
  height: 8px;
  background: var(--border);
  border-radius: 4px;
  overflow: hidden;
}
.rating-bar-fill {
  height: 100%;
  background: var(--gradient-primary);
  border-radius: 4px;
  transition: width 1s ease;
}
.rating-bar-count { font-size: 12px; color: var(--text-muted); width: 30px; text-align: right; }
.review-card {
  background: white;
  border-radius: var(--radius);
  padding: 28px;
  border: 1px solid var(--border);
  transition: var(--transition);
  height: 100%;
  position: relative;
}
.review-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); border-color: transparent; }
.review-quote {
  position: absolute;
  top: 20px; right: 24px;
  font-size: 48px;
  color: var(--primary-light);
  font-family: serif;
  line-height: 1;
}
.review-tag {
  display: inline-block;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 50px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.review-date { font-size: 12px; color: var(--text-muted); }
.write-review-card {
  background: var(--gradient-primary);
  border-radius: var(--radius);
  padding: 40px;
  color: white;
  text-align: center;
}
.write-review-card h4 { color: white; font-size: 22px; font-weight: 800; margin-bottom: 10px; }
.write-review-card p { color: rgba(255,255,255,.8); font-size: 15px; margin-bottom: 24px; }
.star-select { display: flex; justify-content: center; gap: 8px; margin-bottom: 20px; }
.star-select i {
  font-size: 32px;
  color: rgba(255,255,255,.4);
  cursor: pointer;
  transition: var(--transition);
}
.star-select i:hover,
.star-select i.selected { color: #fbbf24; transform: scale(1.2); }

/* --- APPOINTMENT PAGE --- */
.appt-step {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 32px;
}
.appt-step-num {
  width: 52px; height: 52px;
  background: var(--gradient-primary);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; font-weight: 800;
  color: white;
  flex-shrink: 0;
  box-shadow: 0 6px 20px rgba(13,148,136,.3);
}
.appt-step-content h5 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.appt-step-content p { font-size: 14px; color: var(--text-muted); margin: 0; line-height: 1.65; }
.service-select-card {
  background: white;
  border: 2px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 18px;
  cursor: pointer;
  transition: var(--transition);
  display: flex;
  align-items: center;
  gap: 14px;
}
.service-select-card:hover { border-color: var(--primary); background: var(--primary-light); }
.service-select-card.selected { border-color: var(--primary); background: var(--primary-light); }
.service-select-card input[type="radio"] { display: none; }
.service-select-icon {
  width: 42px; height: 42px;
  background: var(--primary-light);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: var(--primary);
  flex-shrink: 0;
}
.service-select-card.selected .service-select-icon { background: var(--primary); color: white; }
.service-select-card .svc-name { font-size: 14px; font-weight: 700; color: var(--text-dark); display: block; }
.service-select-card .svc-price { font-size: 13px; color: var(--primary); font-weight: 600; }
.appt-progress {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 40px;
}
.progress-step {
  flex: 1;
  text-align: center;
  position: relative;
}
.progress-step::after {
  content: '';
  position: absolute;
  top: 18px; left: 60%; right: -40%;
  height: 2px;
  background: var(--border);
  z-index: 0;
}
.progress-step:last-child::after { display: none; }
.progress-step.done::after { background: var(--primary); }
.progress-num {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 2px solid var(--border);
  background: white;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 700;
  color: var(--text-muted);
  margin: 0 auto 8px;
  position: relative; z-index: 1;
  transition: var(--transition);
}
.progress-step.active .progress-num { border-color: var(--primary); background: var(--primary); color: white; }
.progress-step.done .progress-num { border-color: var(--primary); background: var(--primary); color: white; }
.progress-label { font-size: 12px; color: var(--text-muted); font-weight: 500; }
.progress-step.active .progress-label { color: var(--primary); font-weight: 700; }

/* --- SERVICE DETAIL PAGE --- */
.service-detail-hero {
  background: var(--gradient-primary);
  padding: 130px 0 70px;
  position: relative;
  overflow: hidden;
}
.service-detail-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='2' fill='white' fill-opacity='0.04'/%3E%3C/svg%3E");
}
.big-icon-wrap {
  width: 100px; height: 100px;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 24px;
  display: flex; align-items: center; justify-content: center;
  font-size: 42px; color: white;
  margin-bottom: 24px;
}
.service-nav-card {
  background: white;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  position: sticky;
  top: 100px;
}
.service-nav-item {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  font-size: 14px; font-weight: 600;
  color: var(--text-body);
  transition: var(--transition);
  cursor: pointer;
  text-decoration: none;
}
.service-nav-item:last-child { border: none; }
.service-nav-item:hover, .service-nav-item.active {
  background: var(--primary-light);
  color: var(--primary);
  padding-left: 24px;
}
.service-nav-item i { font-size: 16px; color: var(--primary); width: 20px; }
.price-highlight {
  background: var(--gradient-primary);
  border-radius: var(--radius);
  padding: 28px;
  text-align: center;
  color: white;
  margin-bottom: 20px;
}
.price-highlight .big-price {
  font-size: 48px; font-weight: 800;
  display: block; line-height: 1;
}
.price-highlight .price-label { font-size: 13px; opacity: .8; margin-top: 4px; }
.step-list { list-style: none; padding: 0; counter-reset: steps; }
.step-list li {
  counter-increment: steps;
  display: flex; align-items: flex-start; gap: 14px;
  margin-bottom: 18px;
  font-size: 14.5px; color: var(--text-body); line-height: 1.7;
}
.step-list li::before {
  content: counter(steps);
  width: 30px; height: 30px;
  background: var(--gradient-primary);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800; color: white;
  flex-shrink: 0;
}
.benefit-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 13px; font-weight: 600;
  padding: 6px 14px;
  border-radius: 50px;
  margin: 4px;
}
.faq-simple details {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
  overflow: hidden;
  transition: var(--transition);
}
.faq-simple details[open] { box-shadow: var(--shadow-sm); border-color: var(--primary); }
.faq-simple summary {
  padding: 16px 20px;
  font-weight: 600;
  font-size: 14.5px;
  cursor: pointer;
  list-style: none;
  display: flex; justify-content: space-between; align-items: center;
}
.faq-simple summary::after { content: '+'; color: var(--primary); font-size: 20px; }
.faq-simple details[open] summary::after { content: '−'; }
.faq-simple details p { padding: 0 20px 16px; font-size: 14px; color: var(--text-muted); line-height: 1.75; margin: 0; }

/* --- PRIVACY POLICY PAGE --- */
.policy-toc {
  background: white;
  border-radius: var(--radius);
  padding: 28px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 100px;
}
.policy-toc h6 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--text-dark); margin-bottom: 16px; }
.toc-link {
  display: block;
  font-size: 13.5px;
  color: var(--text-muted);
  padding: 7px 0;
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
}
.toc-link:last-child { border: none; }
.toc-link:hover { color: var(--primary); padding-left: 6px; }
.policy-section { margin-bottom: 48px; }
.policy-section h3 {
  font-size: 22px; font-weight: 700;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--primary-light);
  color: var(--text-dark);
  display: flex; align-items: center; gap: 10px;
}
.policy-section h3 i { color: var(--primary); font-size: 20px; }
.policy-section p { font-size: 15px; color: var(--text-body); line-height: 1.85; margin-bottom: 14px; }
.policy-section ul { padding-left: 0; list-style: none; }
.policy-section ul li {
  font-size: 15px; color: var(--text-body); line-height: 1.75;
  padding: 6px 0 6px 24px;
  position: relative;
}
.policy-section ul li::before {
  content: '›';
  position: absolute; left: 0;
  color: var(--primary); font-size: 18px; font-weight: 700; line-height: 1.5;
}
.policy-highlight {
  background: var(--primary-light);
  border-left: 4px solid var(--primary);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 16px 20px;
  margin: 20px 0;
  font-size: 14.5px;
  color: var(--text-body);
  line-height: 1.75;
}

/* ===================================
   PHASE 2 - ADDITIONAL STYLES
   =================================== */

/* --- STAR RATINGS --- */
.star-rating { display:flex; gap:4px; }
.star-rating i { color:#e2e8f0; font-size:18px; transition:var(--transition); }
.star-rating i.filled { color:#f59e0b; }
.star-rating i.half { color:#f59e0b; opacity:.5; }

/* --- REVIEW CARDS --- */
.review-card {
  background:white;
  border-radius:var(--radius);
  padding:30px;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
  height:100%;
  position:relative;
  overflow:hidden;
}
.review-card::before {
  content:'"';
  position:absolute;
  top:-10px; right:20px;
  font-size:120px;
  font-family:Georgia,serif;
  color:var(--primary-light);
  line-height:1;
  pointer-events:none;
}
.review-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:transparent; }
.review-platform-badge {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700;
  padding:4px 12px;
  border-radius:50px;
  margin-bottom:14px;
}
.review-platform-badge.google { background:#fef3c7; color:#d97706; }
.review-platform-badge.local  { background:#dcfce7; color:#16a34a; }
.review-platform-badge.walk   { background:#dbeafe; color:#1d4ed8; }
.review-text { font-size:14.5px; color:var(--text-body); line-height:1.8; margin-bottom:22px; font-style:italic; }
.reviewer-avatar {
  width:46px; height:46px; border-radius:50%;
  background:var(--gradient-primary);
  display:flex; align-items:center; justify-content:center;
  font-size:17px; font-weight:700; color:white; flex-shrink:0;
}
.reviewer-name { font-size:14px; font-weight:700; margin-bottom:2px; }
.reviewer-meta { font-size:12px; color:var(--text-muted); }

/* --- RATING SUMMARY --- */
.rating-big { font-size:72px; font-weight:800; color:var(--primary); line-height:1; }
.rating-stars-big { font-size:26px; color:#f59e0b; margin:8px 0; }
.rating-bar-wrap { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.rating-bar-label { font-size:13px; font-weight:600; color:var(--text-dark); width:30px; flex-shrink:0; }
.rating-bar-track { flex:1; height:8px; background:var(--border); border-radius:4px; overflow:hidden; }
.rating-bar-fill { height:100%; background:var(--gradient-primary); border-radius:4px; transition:width 1.5s ease; }
.rating-bar-count { font-size:12px; color:var(--text-muted); width:28px; text-align:right; flex-shrink:0; }

/* --- GALLERY PAGE --- */
.gallery-filter-btns { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:40px; }
.filter-btn {
  padding:9px 22px;
  border-radius:50px;
  border:1.5px solid var(--border);
  font-size:13.5px; font-weight:600;
  background:white; color:var(--text-muted);
  cursor:pointer; transition:var(--transition);
}
.filter-btn:hover, .filter-btn.active {
  background:var(--gradient-primary);
  color:white; border-color:transparent;
  box-shadow:0 6px 20px rgba(13,148,136,.3);
  transform:translateY(-2px);
}
.gallery-grid { columns:3; column-gap:16px; }
.gallery-grid-item {
  break-inside:avoid;
  margin-bottom:16px;
  border-radius:var(--radius);
  overflow:hidden;
  cursor:zoom-in;
  position:relative;
}
.gallery-grid-item .overlay {
  position:absolute; inset:0;
  background:var(--gradient-hero);
  opacity:0; transition:var(--transition);
  display:flex; align-items:center; justify-content:center;
  font-size:28px; color:white;
}
.gallery-grid-item:hover .overlay { opacity:1; }
.gallery-grid-item .gal-placeholder {
  width:100%;
  background:var(--gradient-primary);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:white; gap:10px;
  transition:var(--transition);
}
.gallery-grid-item:hover .gal-placeholder { transform:scale(1.04); }
.gallery-grid-item .gal-tag {
  position:absolute; top:12px; left:12px;
  background:rgba(255,255,255,.9);
  color:var(--primary); font-size:11px; font-weight:700;
  padding:4px 10px; border-radius:50px;
}
@media(max-width:767px){ .gallery-grid { columns:2; } }
@media(max-width:480px){ .gallery-grid { columns:1; } }

/* Lightbox */
.lightbox-overlay {
  position:fixed; inset:0; z-index:9999;
  background:rgba(0,0,0,.92);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.lightbox-overlay.open { opacity:1; pointer-events:all; }
.lightbox-inner { position:relative; max-width:90vw; max-height:90vh; }
.lightbox-inner .lb-placeholder {
  width:600px; max-width:90vw; height:420px;
  background:var(--gradient-primary);
  border-radius:var(--radius);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:white; font-size:60px;
}
.lightbox-inner .lb-placeholder p { font-size:16px; margin-top:12px; font-weight:600; }
.lb-close {
  position:absolute; top:-16px; right:-16px;
  width:40px; height:40px; border-radius:50%;
  background:white; color:var(--text-dark);
  border:none; font-size:18px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:var(--shadow-md);
  transition:var(--transition);
}
.lb-close:hover { transform:scale(1.12); }
.lb-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3);
  color:white; font-size:18px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:var(--transition);
}
.lb-nav:hover { background:rgba(255,255,255,.3); }
.lb-prev { left:-60px; }
.lb-next { right:-60px; }
.lb-caption { text-align:center; color:rgba(255,255,255,.8); font-size:14px; margin-top:14px; }

/* --- APPOINTMENT PAGE --- */
.appt-step {
  display:flex; align-items:flex-start; gap:18px;
  padding:22px 24px;
  background:white; border-radius:var(--radius);
  border:1px solid var(--border);
  margin-bottom:16px;
  transition:var(--transition);
}
.appt-step:hover { box-shadow:var(--shadow-md); border-color:transparent; transform:translateX(4px); }
.appt-step-num {
  width:44px; height:44px; flex-shrink:0;
  background:var(--gradient-primary);
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; font-weight:800; color:white;
}
.appt-step h6 { font-size:15px; font-weight:700; margin-bottom:4px; }
.appt-step p { font-size:13.5px; color:var(--text-muted); margin:0; line-height:1.6; }
.appt-form-card {
  background:white;
  border-radius:var(--radius);
  padding:42px;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--border);
}
@media(max-width:767px){ .appt-form-card { padding:24px 18px; } }
.form-group-custom { margin-bottom:20px; }
.form-group-custom label { display:block; font-size:14px; font-weight:600; margin-bottom:8px; color:var(--text-dark); }
.form-group-custom .form-control-custom { width:100%; }
.form-group-custom .form-hint { font-size:12px; color:var(--text-muted); margin-top:5px; }
.progress-steps { display:flex; justify-content:space-between; position:relative; margin-bottom:40px; }
.progress-steps::before {
  content:''; position:absolute; top:20px; left:0; right:0; height:2px;
  background:var(--border); z-index:0;
}
.progress-steps::after {
  content:''; position:absolute; top:20px; left:0; width:0%; height:2px;
  background:var(--gradient-primary); z-index:1; transition:width .5s ease;
}
.progress-step { display:flex; flex-direction:column; align-items:center; gap:8px; position:relative; z-index:2; }
.progress-step-dot {
  width:40px; height:40px; border-radius:50%;
  background:white; border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:700; color:var(--text-muted);
  transition:var(--transition);
}
.progress-step.active .progress-step-dot { background:var(--gradient-primary); border-color:var(--primary); color:white; }
.progress-step.done .progress-step-dot { background:var(--primary); border-color:var(--primary); color:white; }
.progress-step-label { font-size:12px; font-weight:600; color:var(--text-muted); }
.progress-step.active .progress-step-label { color:var(--primary); }

/* --- SERVICE DETAIL PAGE --- */
.service-detail-hero {
  background:var(--gradient-primary);
  padding:130px 0 70px;
  position:relative; overflow:hidden;
}
.service-detail-hero::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Ccircle cx='30' cy='30' r='2' fill='white' fill-opacity='0.04'/%3E%3C/g%3E%3C/svg%3E");
}
.service-icon-big {
  width:100px; height:100px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
  border:2px solid rgba(255,255,255,.3);
  border-radius:24px;
  display:flex; align-items:center; justify-content:center;
  font-size:44px; color:white;
  margin:0 auto 24px;
}
.service-detail-card {
  background:white; border-radius:var(--radius);
  padding:32px; border:1px solid var(--border);
  box-shadow:var(--shadow-sm); margin-bottom:24px;
}
.service-detail-card h4 { font-size:18px; font-weight:700; margin-bottom:16px; color:var(--text-dark); }
.process-item {
  display:flex; align-items:flex-start; gap:14px; margin-bottom:18px;
}
.process-num {
  width:34px; height:34px; flex-shrink:0;
  background:var(--primary-light); color:var(--primary);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px;
}
.process-item h6 { font-size:14px; font-weight:700; margin-bottom:3px; }
.process-item p  { font-size:13px; color:var(--text-muted); margin:0; }
.faq-simple .faq-q {
  font-size:15px; font-weight:700; color:var(--text-dark);
  margin-bottom:6px; margin-top:20px;
}
.faq-simple .faq-a {
  font-size:14px; color:var(--text-muted); line-height:1.75;
}
.price-card-sidebar {
  background:var(--gradient-primary);
  border-radius:var(--radius);
  padding:32px;
  text-align:center; color:white;
  position:sticky; top:100px;
}
.price-card-sidebar .big-price { font-size:52px; font-weight:800; line-height:1; }
.price-card-sidebar .starting { font-size:13px; opacity:.8; margin-bottom:4px; }
.price-card-sidebar .duration { font-size:14px; opacity:.85; margin-top:10px; }
.price-card-sidebar hr { border-color:rgba(255,255,255,.2); margin:22px 0; }
.price-check-list { list-style:none; padding:0; text-align:left; }
.price-check-list li { display:flex; align-items:center; gap:10px; font-size:14px; opacity:.9; margin-bottom:12px; }
.price-check-list li i { color:#a7f3d0; flex-shrink:0; }

/* --- TEAM PAGE --- */
.team-card {
  background:white; border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-sm);
  border:1px solid var(--border);
  transition:var(--transition); height:100%;
}
.team-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent; }
.team-img {
  width:100%; aspect-ratio:1;
  background:var(--gradient-primary);
  display:flex; align-items:center; justify-content:center;
  font-size:70px; color:white; position:relative;
  overflow:hidden;
}
.team-img-overlay {
  position:absolute; inset:0;
  background:var(--gradient-hero);
  opacity:0; transition:var(--transition);
  display:flex; align-items:center; justify-content:center;
  gap:12px;
}
.team-card:hover .team-img-overlay { opacity:1; }
.team-social-btn {
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.4);
  color:white; font-size:15px;
  display:flex; align-items:center; justify-content:center;
  transition:var(--transition); text-decoration:none;
}
.team-social-btn:hover { background:white; color:var(--primary); transform:scale(1.1); }
.team-info { padding:24px; }
.team-info h4 { font-size:17px; font-weight:700; margin-bottom:4px; }
.team-role { color:var(--primary); font-size:13px; font-weight:600; margin-bottom:12px; display:block; }
.team-info p { font-size:13.5px; color:var(--text-muted); line-height:1.7; margin-bottom:14px; }
.team-badge { display:inline-block; background:var(--primary-light); color:var(--primary); font-size:11px; font-weight:700; padding:4px 10px; border-radius:50px; margin:2px 2px 2px 0; }

/* --- PRIVACY POLICY PAGE --- */
.policy-sidebar {
  background:white; border-radius:var(--radius);
  padding:28px; border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  position:sticky; top:100px;
}
.policy-nav-link {
  display:block; padding:10px 14px;
  border-radius:var(--radius-sm);
  font-size:14px; font-weight:500;
  color:var(--text-muted);
  transition:var(--transition);
  text-decoration:none;
  border-left:3px solid transparent;
  margin-bottom:4px;
}
.policy-nav-link:hover, .policy-nav-link.active {
  color:var(--primary); background:var(--primary-light);
  border-left-color:var(--primary);
}
.policy-section {
  scroll-margin-top:100px;
  margin-bottom:48px;
}
.policy-section h3 {
  font-size:22px; font-weight:700;
  color:var(--text-dark); margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:2px solid var(--primary-light);
  display:flex; align-items:center; gap:10px;
}
.policy-section h3 i { color:var(--primary); font-size:20px; }
.policy-section p { color:var(--text-muted); line-height:1.85; margin-bottom:14px; font-size:14.5px; }
.policy-section ul { padding-left:0; list-style:none; margin-bottom:14px; }
.policy-section ul li {
  display:flex; align-items:flex-start; gap:10px;
  font-size:14.5px; color:var(--text-muted);
  line-height:1.75; margin-bottom:10px;
}
.policy-section ul li::before {
  content:''; display:block; width:6px; height:6px;
  border-radius:50%; background:var(--primary);
  margin-top:9px; flex-shrink:0;
}
.policy-highlight {
  background:var(--primary-light);
  border-left:4px solid var(--primary);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:16px 20px; margin:20px 0;
  font-size:14.5px; color:var(--text-body); line-height:1.75;
}
