.back-to-top {position:fixed; display:none; right:30px; bottom:30px; z-index:99; background:var(--secondary);} #spinner {opacity:0; visibility:hidden; transition:opacity .5s ease-out,visibility 0s linear .5s; z-index:99999;} #spinner.show {transition:opacity .5s ease-out,visibility 0s linear 0s; visibility:visible; opacity:1;} :root {--primary:#552583; --secondary:#fdb927; --white:#ffffff; --dark:#111111; --light:#f8f9fa;} body {font-family:'Open Sans',sans-serif; overflow-x:hidden; background:var(--white); color:var(--dark);} h1,h2,h3,h4,h5,h6 {font-family:'Poppins',sans-serif;} a {text-decoration:none;} img {max-width:100%; height:auto;} .topbar {background:var(--white); padding:12px 0; border-bottom:1px solid rgba(0,0,0,0.05);} .topbar-item {gap:15px;} .topbar-icon {width:50px; height:50px; background:rgba(85,37,131,0.08); border-radius:50%; display:flex; align-items:center; justify-content:center;} .topbar-icon i {color:var(--primary); font-size:20px;} .topbar-text small {color:#777; font-size:13px;} .topbar-text p {color:var(--dark); font-weight:600; font-size:15px;} .logo-img {max-height:70px; width:auto;} .logo-img-mobile {max-height:52px; width:auto;} .custom-navbar {background:var(--primary); padding-top:18px; padding-bottom:18px; box-shadow:0 4px 18px rgba(0,0,0,0.08); transition:0.4s; z-index:1030;} .navbar-nav .nav-link {position:relative; margin:0 12px; font-weight:600; color:var(--white) !important; font-family:'Poppins',sans-serif; transition:0.3s; font-size:15px;} .navbar-nav .nav-link:hover,.navbar-nav .nav-link.active {color:var(--secondary) !important;} .navbar-nav .nav-link::after {content:''; position:absolute; width:0%; height:2px; background:var(--secondary); left:0; bottom:-6px; transition:0.4s;} .navbar-nav .nav-link:hover::after,.navbar-nav .nav-link.active::after {width:100%;} .book-btn {background:var(--secondary); color:var(--primary); padding:12px 28px; border-radius:50px; font-weight:700; border:none; transition:0.4s; white-space:nowrap;} .book-btn:hover {background:var(--white); color:var(--primary); transform:translateY(-2px);} .navbar-toggler {border:none; padding:0; box-shadow:none !important;} .navbar-toggler:focus {box-shadow:none;} @media (min-width:1400px) {.navbar-nav .nav-link {margin:0 15px; font-size:16px;} .book-btn {padding:13px 32px;}} @media (max-width:1199px) {.navbar-nav .nav-link {margin:0 8px; font-size:14px;} .book-btn {padding:10px 22px;} .logo-img {max-height:65px;}} .site-header {z-index:1030;}
@media (max-width:991px) {
.topbar {padding:8px 0;}
.topbar-item {gap:10px;}
.topbar-icon {width:40px; height:40px;}
.topbar-icon i {font-size:16px;}
.topbar-text small {font-size:11px;}
.topbar-text p {font-size:13px; margin:0; word-break:break-word;}
}
@media (max-width:575px) {
.topbar {padding:6px 0;}
.topbar-item {gap:8px;}
.topbar-icon {width:34px; height:34px;}
.topbar-icon i {font-size:14px;}
.topbar-text small {display:none;}
.topbar-text p {font-size:12px;}
} @media (max-width:991px) {.custom-navbar {padding:14px 18px;} .navbar-collapse {position:absolute; top:100%; right:0; left:auto; width:50%; max-height:calc(100vh - 120px); background:var(--primary); border-radius:16px; box-shadow:0 15px 35px rgba(0,0,0,0.16); padding:0.9rem 0.9rem 2rem; margin-top:0.65rem; overflow-y:auto; z-index:1080;} .navbar-nav {padding-top:20px;} .navbar-nav .nav-link {margin:12px 0; font-size:16px;} .book-btn {margin-top:20px; display:inline-block; width:100%; text-align:center;} .logo-img-mobile {max-height:50px;} .navbar-close {position:absolute; top:14px; right:14px; width:38px; height:38px; border:none; border-radius:50%; background:rgba(255,255,255,0.12); color:var(--white); display:flex; align-items:center; justify-content:center; transition:0.3s;} .navbar-close:hover {background:var(--secondary); color:var(--primary);}
} @media (max-width:767px) {.custom-navbar {padding:12px 15px;} .logo-img-mobile {max-height:45px;} .navbar-collapse {width:50%; right:0; max-height:calc(100vh - 120px); overflow-y:auto; padding:1rem 1rem 2.5rem;} .navbar-nav .nav-link {font-size:15px; padding:8px 0;} .book-btn {font-size:14px; padding:12px 18px;} .navbar-close {width:35px; height:35px;}} @media (max-width:575px) {.custom-navbar {padding:10px 12px;} .logo-img-mobile {max-height:42px;} .navbar-collapse {width:50%; right:0; max-height:calc(100vh - 120px); overflow-y:auto; border-radius:15px;} .navbar-nav .nav-link {font-size:14px;} .book-btn {font-size:13px; padding:11px 16px;}} @media (max-width:375px) {.logo-img-mobile {max-height:38px;} .navbar-collapse {padding:0.8rem 0.8rem 2rem;} .navbar-nav .nav-link {font-size:13px;} .book-btn {padding:10px 14px; font-size:12px;}} .hero-carousel {position:relative; overflow:hidden;} .hero-slide {position:relative; height:88vh; min-height:620px; max-height:820px; overflow:hidden; display:flex; align-items:center;} .hero-slide img,.hero-video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;} .hero-overlay {position:absolute; inset:0; background:linear-gradient( 90deg,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.55) 45%,rgba(0,0,0,0.35) 100% ); z-index:1;} .hero-slide .container {position:relative; z-index:3;} .hero-content {position:relative; z-index:3; max-width:700px; padding:60px 0 130px;} .hero-subtitle {display:inline-block; color:var(--secondary); font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:18px;} .hero-content h1 {color:var(--white); font-size:68px; font-weight:800; line-height:1.1; margin-bottom:22px;} .hero-content p {color:rgba(255,255,255,0.88); font-size:17px; line-height:1.8; margin-bottom:35px; max-width:620px;} .hero-buttons {display:flex; align-items:center; gap:18px; flex-wrap:wrap;} .hero-btn-primary {background:var(--secondary); color:var(--primary); padding:14px 32px; border-radius:50px; font-weight:700; transition:0.3s; border:none;} .hero-btn-primary:hover {background:var(--white); color:var(--primary); transform:translateY(-2px);} .hero-btn-outline {border:2px solid rgba(255,255,255,0.3); color:var(--white); padding:14px 32px; border-radius:50px; font-weight:700; transition:0.3s;} .hero-btn-outline:hover {background:var(--white); color:var(--primary);} .carousel-indicators {bottom:14px; z-index:10;} .carousel-indicators button {width:11px !important; height:11px !important; border-radius:50%; border:none; margin:0 6px !important; background:rgba(255,255,255,0.5);} .carousel-indicators .active {background:var(--secondary);} .custom-close {position:absolute; top:-42px; right:0; background:var(--white) !important; opacity:1; z-index:10;} @media (max-width:1400px) {.hero-content h1 {font-size:60px;}} @media (max-width:1200px) {.hero-slide {height:82vh; min-height:580px;} .hero-content h1 {font-size:54px;}} @media (max-width:991px) {.hero-slide {height:auto; min-height:540px; padding:120px 0 80px;} .hero-content {max-width:100%; text-align:center; margin:auto; padding-top:0;} .hero-content h1 {font-size:46px;} .hero-content p {margin-left:auto; margin-right:auto; font-size:16px;} .hero-buttons {justify-content:center;}} @media (max-width:767px) {.hero-slide {min-height:500px; padding:110px 0 70px;} .hero-overlay {background:rgba(0,0,0,0.68);} .hero-content h1 {font-size:36px; line-height:1.2;} .hero-content p {font-size:15px; line-height:1.7; margin-bottom:28px;} .hero-buttons {flex-direction:column; width:100%;} .hero-btn-primary,.hero-btn-outline {width:100%; text-align:center;} } @media (max-width:575px) {.hero-slide {min-height:460px; padding:100px 0 60px;} .hero-content h1 {font-size:30px;} .hero-subtitle {font-size:12px;} .hero-content p {font-size:14px;} .hero-btn-primary,.hero-btn-outline {padding:12px 24px; font-size:14px;}} @media (max-width:375px) {.hero-content h1 {font-size:26px;} .hero-content p {font-size:13px;}} .feature-section {background:#f8f9fc; position:relative;} .feature-title {padding-right:10px;} .section-subtitle {display:inline-block; color:var(--secondary); background:rgba(255,215,0,0.12); padding:8px 18px; border-radius:50px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:20px;} .feature-title h2 {font-size:42px; font-weight:800; color:var(--primary); line-height:1.2; margin-bottom:18px;} .feature-title p {color:#666; font-size:16px; line-height:1.8; margin-bottom:0;} .feature-card {background:var(--white); padding:40px 30px; border-radius:24px; transition:0.4s; position:relative; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,0.05); border:1px solid rgba(0,0,0,0.03);} .feature-card:hover {transform:translateY(-10px); box-shadow:0 20px 40px rgba(0,0,0,0.08);} .feature-card::before {content:''; position:absolute; top:0; left:0; width:100%; height:5px; background:var(--secondary);} .feature-card h4 {font-size:22px; font-weight:700; color:var(--primary); margin-bottom:15px;} .feature-card p {color:#666; font-size:15px; line-height:1.8; margin-bottom:0;} @media (max-width:1200px) {.feature-title h2 {font-size:36px;}} @media (max-width:991px) {.feature-title {text-align:center; margin-bottom:15px;} .feature-title h2 {font-size:34px;} .feature-title p {max-width:700px; margin:auto;}} @media (max-width:767px) {.feature-section {padding:70px 0;} .feature-title h2 {font-size:30px;} .feature-card {padding:35px 25px;}} @media (max-width:575px) {.feature-title h2 {font-size:26px;} .feature-title p {font-size:15px;} .feature-card {padding:30px 22px; border-radius:20px;} .feature-card h4 {font-size:20px;} } .about-section {background:var(--white); position:relative;} .about-image-wrapper {position:relative; overflow:hidden; border-radius:30px; min-height:620px; box-shadow:0 20px 50px rgba(0,0,0,0.08);} .about-main-image {width:100%; height:100%; object-fit:cover; border-radius:30px;} .experience-box {position:absolute; top:30px; right:30px; width:210px; background:var(--primary); padding:30px 25px; border-radius:25px; text-align:center; color:var(--white); box-shadow:0 15px 40px rgba(0,0,0,0.15);} .experience-box h2 {font-size:52px; font-weight:800; margin-bottom:5px; color:var(--secondary);} .experience-box h5 {font-size:24px; font-weight:700; margin-bottom:10px;} .experience-box span {font-size:15px; opacity:0.9;} .about-content {padding-left:10px;} .about-content h2 {font-size:48px; font-weight:800; line-height:1.2; color:var(--primary); margin-bottom:25px;} .about-highlight {font-size:20px; line-height:1.8; color:var(--primary); font-weight:600; margin-bottom:20px;} .about-text {color:#666; font-size:16px; line-height:1.9; margin-bottom:35px;} .about-features {margin-bottom:35px;} .about-feature-box {display:flex; align-items:flex-start; gap:18px; background:#f8f9fc; padding:22px; border-radius:20px; height:100%; transition:0.4s;} .about-feature-box:hover {transform:translateY(-5px); box-shadow:0 12px 30px rgba(0,0,0,0.05);} .about-feature-icon {width:65px; height:65px; min-width:65px; border-radius:18px; background:rgba(0,0,128,0.08); display:flex; align-items:center; justify-content:center;} .about-feature-icon i {color:var(--primary); font-size:28px;} .about-feature-box h5 {font-size:20px; font-weight:700; color:var(--primary); margin-bottom:8px;} .about-feature-box p {margin-bottom:0; color:#666; font-size:15px; line-height:1.7;} .about-contact {display:flex; align-items:center; gap:18px; padding-top:30px; border-top:1px solid rgba(0,0,0,0.08);} .about-profile-img {width:75px; height:75px; border-radius:50%; object-fit:cover;} .about-contact span {display:block; color:#777; font-size:14px; margin-bottom:4px;} .about-contact h5 {color:var(--primary); font-size:24px; font-weight:700; margin-bottom:0;} @media (max-width:1200px) {.about-content h2 {font-size:42px;}} @media (max-width:991px) {.about-image-wrapper {min-height:500px;} .about-content {padding-left:0; text-align:center;} .about-content h2 {font-size:38px;} .about-highlight {font-size:18px;} .about-contact {justify-content:center;}} @media (max-width:767px) {.about-section {padding:70px 0;} .about-image-wrapper {min-height:420px; border-radius:25px;} .about-main-image {border-radius:25px;} .experience-box {width:170px; padding:22px 18px; top:20px; right:20px;} .experience-box h2 {font-size:42px;} .experience-box h5 {font-size:20px;} .about-content h2 {font-size:32px;} .about-highlight {font-size:17px;}} @media (max-width:575px) {.about-image-wrapper {min-height:350px;} .experience-box {width:145px; padding:18px 15px;} .experience-box h2 {font-size:34px;} .experience-box h5 {font-size:18px;} .experience-box span {font-size:13px;} .about-content h2 {font-size:28px;} .about-highlight {font-size:16px; line-height:1.7;} .about-text {font-size:15px;} .about-feature-box {padding:20px; text-align:left;} .about-feature-box h5 {font-size:18px;} .about-contact h5 {font-size:20px;}} @media (max-width:375px) {.about-content h2 {font-size:25px;} .about-highlight {font-size:15px;} .about-text {font-size:14px;}} .page-header {position:relative; background:linear-gradient( rgba(7,25,46,0.78),rgba(7,25,46,0.78) ),url(../img/hero-1.jpg) center center no-repeat; background-size:cover; padding:170px 0 120px; overflow:hidden;} .page-header::before {content:""; position:absolute; width:500px; height:500px; top:-220px; right:-180px; background:rgba(255,255,255,0.04); border-radius:50%;} .page-header::after {content:""; position:absolute; width:300px; height:300px; bottom:-150px; left:-100px; background:rgba(212,175,55,0.12); border-radius:50%;} .page-header .container {position:relative; z-index:2;} .page-header h1 {color:#fff; font-size:68px; font-weight:800; line-height:1.1; margin-bottom:25px; letter-spacing:-1px; text-transform:capitalize;} .page-header .breadcrumb {display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.12); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.12); border-radius:60px; padding:14px 28px; margin:0;} .page-header .breadcrumb-item,.page-header .breadcrumb-item a {font-size:15px; font-weight:600; color:rgba(255,255,255,0.85); text-decoration:none; transition:0.3s;} .page-header .breadcrumb-item a:hover {color:var(--secondary);} .page-header .breadcrumb-item.active {color:var(--secondary);} .page-header .breadcrumb-item+.breadcrumb-item::before {color:rgba(255,255,255,0.5); content:"/"; padding-right:10px;} @media (max-width:1200px) {.page-header {padding:150px 0 110px;} .page-header h1 {font-size:58px;}} @media (max-width:991px) {.page-header {padding:130px 0 95px; text-align:center;} .page-header h1 {font-size:48px;} .page-header .breadcrumb {justify-content:center;}} @media (max-width:767px) {.page-header {padding:120px 0 85px;} .page-header h1 {font-size:40px; margin-bottom:20px;} .page-header .breadcrumb {padding:12px 22px; border-radius:40px;} .page-header .breadcrumb-item,.page-header .breadcrumb-item a {font-size:14px;}} @media (max-width:575px) {.page-header {padding:110px 0 75px;} .page-header h1 {font-size:32px;} .page-header .breadcrumb {width:100%; justify-content:center; flex-wrap:wrap; border-radius:20px; padding:12px 18px;}} @media (max-width:375px) {.page-header h1 {font-size:28px;}} .appointment-section {background:var(--white); position:relative;} .appointment-container {max-width:100% !important;} .appointment-info {background:linear-gradient( rgba(0,0,128,0.88),rgba(0,0,128,0.88) ),url(../img/hero-2.jpg); background-size:cover; background-position:center; height:100%; padding:100px clamp(25px,5vw,80px); display:flex; flex-direction:column; justify-content:center;} .appointment-info h2 {font-size:52px; font-weight:800; line-height:1.2; color:var(--white); margin-bottom:25px;} .appointment-info p {color:rgba(255,255,255,0.82); font-size:16px; line-height:1.9; margin-bottom:35px;} .appointment-contact {margin-bottom:40px;} .appointment-contact span {display:block; color:rgba(255,255,255,0.7); margin-bottom:8px; font-size:14px;} .appointment-contact h3 {font-size:38px; font-weight:800; color:var(--secondary); margin-bottom:0;} .appointment-features {display:flex; flex-direction:column; gap:15px;} .appointment-feature {background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.08); color:var(--white); padding:16px 22px; border-radius:16px; font-weight:600; backdrop-filter:blur(6px);} .appointment-form-wrapper {background:linear-gradient( rgba(255,255,255,0.6),rgba(255,255,255,0.9) ),url(../img/appointment.jpg); background-size:cover; background-position:center; height:100%; display:flex; align-items:center;} .appointment-form-box {width:100%; padding:100px clamp(25px,5vw,80px);} .appointment-form-box h2 {font-size:46px; font-weight:800; color:var(--primary); margin-bottom:40px;} .custom-form-control {height:60px; border:1px solid rgba(0,0,0,0.08); border-radius:16px; padding:15px 20px; font-size:15px; color:#444; box-shadow:none !important; transition:0.3s;} .custom-form-control:focus {border-color:var(--secondary);} .custom-textarea {height:auto; min-height:140px; resize:none; padding-top:18px;} .appointment-btn {width:100%; border:none; background:var(--primary); color:var(--white); padding:18px; border-radius:18px; font-size:16px; font-weight:700; transition:0.4s;} .appointment-btn:hover {background:var(--secondary); color:var(--primary); transform:translateY(-3px);} @media (max-width:1200px) {.appointment-info h2,.appointment-form-box h2 {font-size:42px;}} @media (max-width:991px) {.appointment-info,.appointment-form-box {padding:80px 40px;} .appointment-info {text-align:center;} .appointment-features {align-items:center;} .appointment-feature {width:100%; max-width:500px;} .appointment-info h2,.appointment-form-box h2 {font-size:38px;}} @media (max-width:767px) {.appointment-info,.appointment-form-box {padding:70px 25px;} .appointment-info h2,.appointment-form-box h2 {font-size:32px;} .appointment-contact h3 {font-size:30px;}} @media (max-width:575px) {.appointment-info h2,.appointment-form-box h2 {font-size:28px;} .appointment-info p {font-size:15px;} .custom-form-control {height:56px; font-size:14px;} .custom-textarea {min-height:120px;} .appointment-btn {padding:16px;}} @media (max-width:375px) {.appointment-info h2,.appointment-form-box h2 {font-size:25px;} .appointment-contact h3 {font-size:26px;}} .services-section {background:#f8f9fc; position:relative;} .services-title {font-size:48px; font-weight:800; line-height:1.2; color:var(--primary); margin-bottom:20px;} .services-description {font-size:16px; line-height:1.8; color:#666; max-width:680px; margin:auto;} .service-card {background:var(--white); border-radius:28px; overflow:hidden; transition:0.4s; position:relative; box-shadow:0 15px 40px rgba(0,0,0,0.05);} .service-card:hover {transform:translateY(-10px); box-shadow:0 25px 55px rgba(0,0,0,0.08);} .service-image-wrapper {position:relative; overflow:hidden; height:260px;} .service-image {width:100%; height:100%; object-fit:cover; transition:0.6s;} .service-card:hover .service-image {transform:scale(1.08);} .service-content {padding:35px 30px;} .service-badge {display:inline-block; background:rgba(255,215,0,0.12); color:var(--primary); padding:8px 16px; border-radius:50px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:18px;} .service-content h4 {font-size:26px; font-weight:700; color:var(--primary); margin-bottom:15px;} .service-content p {color:#666; font-size:15px; line-height:1.8; margin-bottom:25px;} .pricing-list {list-style:none; padding:0; margin:0;} .pricing-list li {display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid rgba(0,0,0,0.06); gap:15px;} .pricing-list li:last-child {border-bottom:none; padding-bottom:0;} .pricing-list span {color:#444; font-size:15px;} .pricing-list strong {color:var(--primary); font-size:15px; font-weight:700; white-space:nowrap;} .view-services-btn {display:inline-block; background:var(--primary); color:var(--white); padding:18px 42px; border-radius:60px; font-size:15px; font-weight:700; transition:0.4s;} .view-services-btn:hover {background:var(--secondary); color:var(--primary); transform:translateY(-4px);} @media (max-width:1200px) {.services-title {font-size:42px;}} @media (max-width:991px) {.services-title {font-size:38px;}} @media (max-width:767px) {.services-section {padding:70px 0;} .services-title {font-size:32px;} .service-content {padding:30px 24px;} .service-image-wrapper {height:230px;}} @media (max-width:575px) {.services-title {font-size:28px;} .services-description {font-size:15px;} .service-content h4 {font-size:22px;} .pricing-list li {flex-direction:column; align-items:flex-start; gap:6px;} .view-services-btn {width:100%; text-align:center;}} @media (max-width:375px) {.services-title {font-size:25px;} .service-content h4 {font-size:20px;}} @media (max-width:991px) { } @media (max-width:767px) { } @media (max-width:575px) { } .testimonial-left,.testimonial-right {position:relative; height:100%;} .testimonial-left img,.testimonial-right img {position:absolute; border-radius:50%; object-fit:cover; box-shadow:0 12px 30px rgba(0,0,0,0.12); animation:pulse-img 6s ease-in-out infinite;} @keyframes pulse-img {0% {transform:scale(1); opacity:0.25; filter:blur(0px);} 50% {transform:scale(1.25); opacity:1; filter:blur(0px);} 100% {transform:scale(1); opacity:0.25; filter:blur(0px);}} .testimonial-left img:nth-child(1),.testimonial-right img:nth-child(3) {width:75px; height:75px; top:8%; left:55%; transform:translateX(-50%); border:3px solid #ffd700;} .testimonial-left img:nth-child(2),.testimonial-right img:nth-child(2) {width:60px; height:60px; top:48%; left:12%; transform:translateY(-50%); border:3px solid #ffffff;} .testimonial-left img:nth-child(3),.testimonial-right img:nth-child(1) {width:52px; height:52px; bottom:10%; right:12%; border:3px solid #ffd700;} .testimonial-carousel .owl-item img {width:110px; height:110px; border-radius:50%; object-fit:cover; border:4px solid #ffd700; box-shadow:0 10px 25px rgba(0,0,0,0.12);} .testimonial-carousel .owl-nav {margin-top:25px; display:flex; justify-content:center; gap:12px;} .testimonial-carousel .owl-nav .owl-prev,.testimonial-carousel .owl-nav .owl-next {width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#ffffff; background:#552583; font-size:20px; transition:0.4s ease; box-shadow:0 8px 20px rgba(0,0,128,0.25);} .testimonial-carousel .owl-nav .owl-prev:hover,.testimonial-carousel .owl-nav .owl-next:hover {background:#ffd700; color:#552583; transform:translateY(-3px);} .testimonial-item p {font-size:17px; line-height:1.9; color:#555;} .testimonial-item h4 {font-weight:800; color:#552583; margin-top:15px;} .testimonial-item span {color:#ffd700; font-weight:600; font-size:13px; letter-spacing:1px; text-transform:uppercase;} @media (max-width:991px) {.testimonial-carousel .owl-item img {width:95px; height:95px;} .testimonial-item p {font-size:15px;}} @media (max-width:575px) {.testimonial-carousel .owl-item img {width:85px; height:85px;}} .instagram-section {overflow:hidden; background:#000;} .social-media-item {position:relative; overflow:hidden; height:320px;} .social-media-item img,.social-media-item video {width:100%; height:100%; object-fit:cover; transition:0.5s ease;} video.lazy-video {background:#111; display:block;} .social-media-item:hover img,.social-media-item:hover video {transform:scale(1.08);} .instagram-btn {width:100px; height:100px; border-radius:50%; background:#ffffff; z-index:5; box-shadow:0 15px 35px rgba(0,0,0,0.18); transition:0.4s ease;} .instagram-btn i {font-size:36px; color:#552583;} .instagram-btn:hover {background:#ffd700; transform:translate(-50%,-50%) scale(1.08);} .instagram-btn:hover i {color:#552583;} @media (max-width:991px) {.social-media-item {height:260px;} .instagram-btn {width:85px; height:85px;} .instagram-btn i {font-size:30px;}} @media (max-width:575px) {.social-media-item {height:200px;} .instagram-btn {width:70px; height:70px;} .instagram-btn i {font-size:24px;}} .footer-section {background:var(--primary); color:rgba(255,255,255,0.75); position:relative;} .footer-logo img {max-height:80px; width:auto;} .footer-text {line-height:1.9; font-size:15px; color:rgba(255,255,255,0.75);} .footer-text-small {font-size:15px; line-height:1.8; color:rgba(255,255,255,0.75);} .footer-title {color:#ffffff; font-size:22px; font-weight:700; margin-bottom:28px; position:relative;} .footer-title::after {content:""; width:50px; height:3px; background:var(--secondary); position:absolute; left:0; bottom:-10px;} .footer-contact p {margin-bottom:18px; font-size:15px;} .footer-contact i {color:var(--secondary);} .footer-links a {display:block; margin-bottom:14px; color:rgba(255,255,255,0.75); transition:0.3s; text-decoration:none;} .footer-links a:hover {color:var(--secondary); transform:translateX(5px);} .footer-social .btn-square {width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,0.25); color:#ffffff; display:flex; align-items:center; justify-content:center; transition:0.4s ease;} .footer-social .btn-square:hover {background:var(--secondary); color:var(--primary); border-color:var(--secondary); transform:translateY(-3px);} .newsletter-box {margin-top:20px;} .newsletter-box .form-control {height:58px; border-radius:50px; border:none; padding-left:22px; padding-right:140px; background:rgba(255,255,255,0.12); color:#ffffff;} .newsletter-box .form-control::placeholder {color:rgba(255,255,255,0.65);} .newsletter-btn {position:absolute; top:7px; right:7px; height:44px; border:none; border-radius:50px; padding:0 24px; background:var(--secondary); color:var(--primary); font-weight:700; transition:0.4s;} .newsletter-btn:hover {background:var(--primary); color:var(--secondary);} .footer-bottom {border-top:1px solid rgba(255,255,255,0.12); padding:22px 0; font-size:15px; margin-top:20px;} .footer-dev {color:#ffd700; font-weight:700;} @media (max-width:991px) {.footer-section {text-align:center;} .footer-title::after {left:50%; transform:translateX(-50%);} .footer-social {justify-content:center;}} @media (max-width:575px) {.footer-logo img {max-height:65px;} .footer-title {font-size:20px;} .newsletter-box .form-control {padding-right:20px; height:55px;} .newsletter-btn {position:relative; width:100%; right:auto; top:auto; margin-top:15px; height:50px;}} .about-feature-icon {width:55px; height:55px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#fff; overflow:hidden;} .about-feature-img {width:75px; height:75px; border-radius:30px; object-fit:cover;} .about-feature-video {width:100%; height:100%; object-fit:cover; border-radius:12px;} .jacob-facts-title {font-weight:800; color:var(--primary); letter-spacing:-1px;} .jacob-facts-subtitle {color:#777; font-size:15px; line-height:1.6;} .jacob-facts-card {border-radius:18px; position:relative; overflow:hidden; transition:0.35s ease; border:1px solid rgba(0,0,0,0.05); background:#fff !important;} .jacob-facts-card::before {content:""; position:absolute; top:0; left:0; height:4px; width:100%; background:var(--secondary);} .jacob-facts-card:hover {transform:translateY(-8px); box-shadow:0 18px 45px rgba(0,0,0,0.12);} .jacob-facts-card h2 {font-weight:800; color:var(--primary); letter-spacing:-1px;} .jacob-facts-card h5 {font-weight:700; color:#111;} .jacob-facts-card p {font-size:14px; color:#666; line-height:1.6;} .jacob-btn-primary {background:var(--primary); color:#fff; border:none; border-radius:50px; font-weight:700; transition:0.3s ease; text-decoration:none; display:inline-block;} .jacob-btn-primary:hover {transform:translateY(-3px); box-shadow:0 10px 25px rgba(0,0,0,0.15); color:#fff;} @media (max-width:991px) {.jacob-facts-card {text-align:center;}} @media (max-width:576px) {.jacob-facts-card {padding:22px !important;} .jacob-facts-card h2 {font-size:32px;}} .gallery-intro-section {position:relative;} .gallery-subtitle {display:inline-block; padding:10px 22px; border-radius:50px; background:rgba(184,134,11,0.12); color:var(--primary); font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:20px;} .gallery-title {font-size:52px; font-weight:800; color:var(--primary); line-height:1.2; margin-bottom:25px;} .gallery-description {font-size:18px; line-height:1.9; color:#666; max-width:850px; margin:auto;} @media (max-width:991px) {.gallery-title {font-size:42px;} .gallery-description {font-size:17px;}} @media (max-width:767px) {.gallery-title {font-size:34px;} .gallery-description {font-size:16px; line-height:1.8;}} @media (max-width:575px) {.gallery-title {font-size:28px;} .gallery-subtitle {font-size:12px; padding:8px 18px;} .gallery-description {font-size:15px;}} .contact-info-section {background:#f8f5f1;} .contact-subtitle {display:inline-block; padding:8px 18px; background:var(--primary); color:#fff; border-radius:50px; font-weight:600; font-size:14px; margin-bottom:18px;} .contact-main-title,.contact-form-title {font-size:48px; font-weight:800; line-height:1.2; color:var(--primary); margin-bottom:20px;} .contact-description,.contact-form-text {color:#6c757d; font-size:17px; line-height:1.8;} .contact-card {background:#ffffff; border-radius:28px; padding:40px 30px; text-align:center; transition:0.4s ease; box-shadow:0 10px 40px rgba(0,0,0,0.05); border:1px solid rgba(0,0,0,0.04);} .contact-card:hover {transform:translateY(-10px); box-shadow:0 18px 50px rgba(0,0,0,0.08);} .contact-icon {width:80px; height:80px; margin:0 auto 25px; border-radius:24px; background:var(--primary); display:flex; align-items:center; justify-content:center;} .contact-icon i {color:var(--secondary); font-size:28px;} .contact-card h4 {font-size:24px; font-weight:700; color:#2b170f; margin-bottom:12px;} .contact-card p {color:#6c757d; margin-bottom:15px; line-height:1.7;} .contact-card a,.contact-address {color:#cd5f37; font-weight:700; text-decoration:none; transition:0.3s;} .contact-card a:hover {color:#2b170f;} .contact-section {background:#ffffff;} .contact-form-wrapper {background:#fff; padding:50px; border-radius:35px; box-shadow:0 15px 50px rgba(0,0,0,0.06);} .custom-contact-control {height:60px; border-radius:18px; border:1px solid #e8e8e8; padding:18px; box-shadow:none !important;} textarea.custom-contact-control {height:auto !important;} .custom-contact-control:focus {border-color:#cd5f37;} .contact-btn {width:100%; border:none; border-radius:18px; padding:18px; background:var(--primary); color:#fff; font-size:17px; font-weight:700; transition:0.4s;} .contact-btn:hover {background:var(--secondary); transform:translateY(-3px);} .contact-map-wrapper {background:#fff; border-radius:35px; overflow:hidden; box-shadow:0 15px 50px rgba(0,0,0,0.06);} .contact-map-top {padding:35px; background:var(--primary); color:#fff;} .contact-map-top span {display:inline-block; margin-bottom:10px; color:#f7c9b8; font-weight:600;} .contact-map-top h3 {font-size:32px; font-weight:700; margin:0; color:var(--secondary);} .contact-map {height:500px;} @media (max-width:991px) {.contact-main-title,.contact-form-title {font-size:36px;} .contact-form-wrapper {padding:35px 25px;} .contact-map {height:400px;}} @media (max-width:576px) {.contact-main-title,.contact-form-title {font-size:30px;} .contact-card {padding:30px 22px;} .contact-map-top h3 {font-size:24px;}} html {scroll-behavior:smooth; scroll-padding-top:90px;} #main {scroll-margin-top:90px;} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {outline:3px solid var(--secondary); outline-offset:2px;} a:focus:not(:focus-visible),button:focus:not(:focus-visible) {outline:none;} .back-to-top:focus-visible {outline-color:var(--secondary);} .skip-link {position:absolute; left:-9999px; top:0; z-index:100000; background:var(--primary); color:#fff; padding:12px 20px; border-radius:0 0 8px 0; font-weight:600;} .skip-link:focus-visible {left:0;} @media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto;} *,*::before,*::after {animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;} .wow {animation:none !important; visibility:visible !important;}} .experience-box .counter-value {font-size:52px; font-weight:800; margin-bottom:5px; color:var(--secondary); display:block;} .jacob-facts-card .counter-value {font-weight:800; color:var(--primary); letter-spacing:-1px; display:block;} @media (max-width:767px) {.experience-box .counter-value {font-size:42px;}} @media (max-width:575px) {.experience-box .counter-value {font-size:34px;}} @media (max-width:576px) {.jacob-facts-card .counter-value {font-size:32px;}} .custom-form-label {display:block; font-size:14px; font-weight:600; color:#444; margin-bottom:8px;} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {outline:3px solid var(--secondary); outline-offset:3px; border-radius:4px;}

/* ===================================
 TAP-TO-CALL / MAIL LINKS
=================================== */
.tap-link {color:inherit; text-decoration:none; transition:0.3s;}
.tap-link:hover {color:var(--primary); text-decoration:underline;}
.footer-contact .tap-link:hover,.appointment-info .tap-link:hover {color:var(--secondary);}

/* ===================================
 FLOATING WHATSAPP BUTTON
=================================== */
.whatsapp-float {position:fixed; left:25px; bottom:25px; z-index:99; width:58px; height:58px; border-radius:50%; background:#25d366; color:#ffffff; display:flex; align-items:center; justify-content:center; font-size:30px; box-shadow:0 10px 25px rgba(37,211,102,0.4); transition:0.3s;}
.whatsapp-float:hover {background:#1ebe5b; color:#ffffff; transform:scale(1.1);}
.whatsapp-float i {display:block;}

/* ===================================
 NAVBAR HIDE ON SCROLL DOWN
=================================== */


/* ===================================
 GALLERY LIGHTBOX
=================================== */
.lightbox-overlay {position:fixed; inset:0; z-index:100000; background:rgba(10,10,20,0.94); display:none; align-items:center; justify-content:center; padding:50px 16px;}
.lightbox-overlay.open {display:flex;}
.lightbox-img {max-width:min(92vw,1100px); max-height:80vh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.lightbox-close,.lightbox-prev,.lightbox-next {position:absolute; background:rgba(255,255,255,0.12); border:none; color:#ffffff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:0.3s;}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover {background:var(--secondary); color:var(--primary);}
.lightbox-close {top:20px; right:20px; width:46px; height:46px; border-radius:50%; font-size:18px;}
.lightbox-prev {left:16px; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; font-size:24px;}
.lightbox-next {right:16px; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; font-size:24px;}
.lightbox-caption {position:absolute; bottom:22px; left:50%; transform:translateX(-50%); color:#ffffff; font-size:14px; max-width:80%; text-align:center;}
.lightbox-counter {position:absolute; top:24px; left:24px; color:rgba(255,255,255,0.7); font-size:14px; font-weight:600;}
body.lb-open {overflow:hidden;}

/* ===================================
 SECTION SUBTITLE CONTRAST (WCAG AA)
=================================== */
.section-subtitle {color:var(--primary);}
.appointment-info .section-subtitle {color:var(--secondary); background:rgba(255,255,255,0.15);}

/* ===================================
 HERO SPLIT LAYOUT (VIDEO + PHOTO)
=================================== */
.hero-split {position:absolute; inset:0; display:flex; width:100%; height:100%; z-index:0;}
.hero-split-media {flex:1 1 50%; min-width:0; position:relative; overflow:hidden;}
.hero-split-media video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.video-slide .hero-content {max-width:560px;}

/* ===================================
 HERO HEADINGS: H2 MATCHES H1 (soft white)
=================================== */
.hero-content h2 {color:var(--white); font-size:68px; font-weight:800; line-height:1.1; margin-bottom:22px;}
@media (max-width:1400px) {.hero-content h2 {font-size:60px;}}
@media (max-width:1200px) {.hero-content h2 {font-size:54px;}}
@media (max-width:991px) {.hero-content h2 {font-size:46px;}}
@media (max-width:767px) {.hero-content h2 {font-size:36px; line-height:1.2;}}
@media (max-width:575px) {.hero-content h2 {font-size:30px;}}
@media (max-width:375px) {.hero-content h2 {font-size:26px;}}

/* ===================================
 MEDIUM BATCH: #6 back-to-top, #7 spinner, #8 card zoom
=================================== */
.back-to-top {position:fixed; display:none; right:30px; bottom:30px; z-index:99; background:var(--secondary); color:var(--primary);}
.back-to-top:hover {background:var(--primary); color:var(--secondary); transform:translateY(-3px);}
.spinner-brand {color:var(--primary);}
.service-image-wrapper .service-image {transition:0.5s ease;}
.service-card:hover .service-image {transform:scale(1.08);}
/* ===================================
   SERVICES CAROUSEL + QUICK VIEW MODAL
   =================================== */
.services-carousel.owl-carousel {position:relative; width:100%; display:block;}
.services-carousel.owl-carousel .owl-stage-outer {position:relative; overflow:hidden;}
.services-carousel.owl-carousel .owl-stage {display:flex; position:relative;}
.services-carousel.owl-carousel .owl-item {display:flex; flex:0 0 auto;}
.services-carousel .service-slide {height:100%; width:100%; display:flex;}
.services-carousel .service-card {width:100%; height:100%; display:flex; flex-direction:column;}
.services-carousel .service-content {display:flex; flex-direction:column; flex:1 1 auto;}
.services-carousel .service-content > p {flex:1 1 auto;}
.services-carousel .owl-nav {margin-top:30px; display:flex; justify-content:center; gap:12px;}
.services-carousel .owl-nav .owl-prev, .services-carousel .owl-nav .owl-next {width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--primary); color:var(--white); font-size:22px; transition:0.4s ease; box-shadow:0 8px 20px rgba(85,37,131,0.28);}
.services-carousel .owl-nav .owl-prev:hover, .services-carousel .owl-nav .owl-next:hover {background:var(--secondary); color:var(--primary); transform:translateY(-3px);}
.services-carousel .owl-nav [class*=owl-]:focus-visible {outline:3px solid var(--secondary); outline-offset:2px;}
.services-carousel .owl-dots {display:flex; justify-content:center; gap:10px; margin-top:22px;}
.services-carousel .owl-dots .owl-dot span {display:block; width:12px; height:12px; border-radius:50%; background:rgba(85,37,131,0.25); transition:0.3s ease;}
.services-carousel .owl-dots .owl-dot.active span {background:var(--secondary); width:28px; border-radius:6px;}
.services-carousel .owl-dots .owl-dot:focus-visible {outline:3px solid var(--secondary); outline-offset:2px;}
.services-counter {text-align:center; margin-top:16px; font-size:15px; font-weight:700; color:var(--primary); letter-spacing:1px;}
.services-counter .services-counter-current {color:var(--secondary);}
.quick-view-btn {display:inline-flex; align-items:center; justify-content:center; width:100%; margin-top:20px; padding:14px 20px; border-radius:50px; background:var(--primary); color:var(--white); border:none; font-size:15px; font-weight:700; transition:0.4s; cursor:pointer;}
.quick-view-btn:hover {background:var(--secondary); color:var(--primary);}
.quick-view-btn:focus-visible {outline:3px solid var(--secondary); outline-offset:2px;}
.quick-view-call {display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border-radius:50px; background:transparent; color:var(--primary); border:2px solid var(--primary); font-size:15px; font-weight:700; transition:0.4s;}
.quick-view-call:hover {background:var(--primary); color:var(--white);}
.quick-view-image {width:100%; max-height:420px; object-fit:cover; border-radius:16px;}
.quick-view-title {color:var(--primary); margin-bottom:10px;}
.quick-view-desc {color:#555; line-height:1.8;}
.quick-view-price-heading {color:var(--primary); margin-top:18px; margin-bottom:12px;}
.quick-view-actions {display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}
.quick-view-actions .book-btn {padding:14px 26px;}
#serviceQuickViewModal .modal-content {border:none; border-radius:20px; overflow:hidden; box-shadow:0 30px 60px rgba(85,37,131,0.35);}
#serviceQuickViewModal .modal-header {background:var(--primary); color:var(--white);}
#serviceQuickViewModal .modal-title {color:var(--white); font-weight:700;}
#serviceQuickViewModal .btn-close {filter:invert(1) brightness(2);}

/* ===================================
   SCROLLSPY + SMOOTH ANCHOR SCROLL
   =================================== */
html {scroll-behavior:smooth; scroll-padding-top:170px;}
@media (max-width:991px) {html {scroll-padding-top:140px;}}
@media (max-width:575px) {html {scroll-padding-top:120px;}}

/* ===================================
   ABOUT SERVICES SNAPSHOT CARDS
   =================================== */
.jacob-facts-card {position:relative; overflow:hidden; border:1px solid rgba(85,37,131,0.10); border-radius:14px; display:flex; flex-direction:column; transition:transform 0.35s ease, box-shadow 0.35s ease;}
.jacob-facts-card::before {content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(85,37,131,0.10) 0%, rgba(253,185,39,0.14) 100%); opacity:0; transition:opacity 0.35s ease; pointer-events:none;}
.jacob-facts-card:hover {transform:translateY(-6px); box-shadow:0 18px 40px rgba(85,37,131,0.18);}
.jacob-facts-card:hover::before {opacity:1;}
.card-price-block {margin-bottom:14px;}
.card-from-label {display:inline-block; background:var(--secondary); color:var(--primary); font-size:11px; font-weight:800; letter-spacing:0.8px; text-transform:uppercase; padding:4px 10px; border-radius:30px; margin-bottom:8px;}
.counter-value {color:var(--primary); font-weight:800; line-height:1.1; display:block;}
.card-body-content {flex-grow:1; display:flex; flex-direction:column;}
.card-body-content h5 {color:var(--primary);}
.card-view-link {margin-top:auto; padding-top:14px; display:inline-flex; align-items:center; gap:8px; color:var(--primary); font-weight:700; font-size:14px; text-decoration:none; opacity:0; transform:translateY(8px); transition:opacity 0.3s ease, transform 0.3s ease;}
.jacob-facts-card:hover .card-view-link {opacity:1; transform:translateY(0);}
.card-view-link i {transition:transform 0.3s ease;}
.card-view-link:hover i {transform:translateX(4px);}
@media (max-width:575px) {
.jacob-facts-card {flex-direction:row; align-items:center; gap:16px;}
.card-price-block {margin-bottom:0; min-width:118px;}
.card-view-link {opacity:1; transform:none;}
}

/* ===================================
   ABOUT CAROUSEL CARDS
   =================================== */
.about-carousel.owl-carousel {position:relative; width:100%; display:block;}
.about-carousel.owl-carousel .owl-stage-outer {position:relative; overflow:hidden;}
.about-carousel.owl-carousel .owl-stage {display:flex; position:relative;}
.about-carousel.owl-carousel .owl-item {display:flex; flex:0 0 auto;}
.about-slide {width:100%; height:100%;}
.about-slide .jacob-facts-card {height:100%;}
.about-carousel .owl-dots {display:flex; justify-content:center; gap:10px; margin-top:24px;}
.about-carousel .owl-dots .owl-dot span {display:block; width:12px; height:12px; border-radius:50%; background:rgba(85,37,131,0.25); transition:0.3s ease;}
.about-carousel .owl-dots .owl-dot.active span {background:var(--secondary); width:28px; border-radius:6px;}
.about-carousel .owl-dots .owl-dot:focus-visible {outline:3px solid var(--secondary); outline-offset:2px;}
.about-carousel .owl-nav {margin-top:30px; display:flex; justify-content:center; gap:12px;}
.about-carousel .owl-nav .owl-prev, .about-carousel .owl-nav .owl-next {width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--primary); color:var(--white); font-size:22px; transition:0.4s ease; box-shadow:0 8px 20px rgba(85,37,131,0.28);}
.about-carousel .owl-nav .owl-prev:hover, .about-carousel .owl-nav .owl-next:hover {background:var(--secondary); color:var(--primary); transform:translateY(-3px);}
.about-carousel .owl-nav [class*=owl-]:focus-visible {outline:3px solid var(--secondary); outline-offset:2px;}

/* ===================================
   WHY CHOOSE US FEATURE CARDS UPGRADE
   =================================== */
.feature-title {max-width:720px;}
.feature-card {display:block; text-decoration:none; color:inherit; padding-bottom:68px;}
.feature-card::after {content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(85,37,131,0.07) 0%, rgba(253,185,39,0.10) 100%); opacity:0; transition:0.4s ease; pointer-events:none; z-index:0;}
.feature-card:hover::after {opacity:1;}
.feature-card:hover::before {height:6px;}
.feature-card h4, .feature-card p {position:relative; z-index:1;}
.feature-num {position:absolute; top:16px; right:18px; font-size:42px; font-weight:800; line-height:1; color:rgba(85,37,131,0.10); z-index:1; user-select:none; transition:color 0.4s ease;}
.feature-card:hover .feature-num {color:var(--secondary);}
.feature-card .about-feature-icon {width:92px; height:92px; min-width:92px; border-radius:24px; background:var(--white); padding:5px; border:2px solid rgba(253,185,39,0.5); box-shadow:0 10px 24px rgba(85,37,131,0.14); overflow:hidden;}
.feature-card .about-feature-img {width:100%; height:100%; border-radius:18px; object-fit:cover; transition:transform 0.5s ease;}
.feature-card:hover .about-feature-img {transform:scale(1.08);}
.feature-arrow {position:absolute; bottom:16px; right:20px; width:40px; height:40px; border-radius:50%; background:var(--primary); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:16px; opacity:0; transform:translateX(-10px); transition:0.4s ease; z-index:1;}
.feature-card:hover .feature-arrow {opacity:1; transform:translateX(0);}
.feature-card:focus-visible {outline:3px solid var(--secondary); outline-offset:2px;}
.feature-card-cta {background:linear-gradient(135deg, #552583 0%, #3a1a5c 100%); border:none; display:flex; flex-direction:column; justify-content:center;}
.feature-card-cta::after {background:linear-gradient(135deg, rgba(253,185,39,0.12) 0%, rgba(255,255,255,0.06) 100%);}
.feature-card-cta h4 {color:var(--white);}
.feature-card-cta p {color:rgba(255,255,255,0.85);}
.feature-card-cta:hover {box-shadow:0 20px 40px rgba(85,37,131,0.35);}
.feature-card-cta .cta-badge {display:inline-block; background:var(--secondary); color:var(--primary); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0.5px; padding:6px 12px; border-radius:30px; margin-bottom:16px;}
.feature-card-cta .cta-arrow {position:absolute; bottom:16px; right:20px; width:44px; height:44px; border-radius:50%; background:var(--secondary); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:18px; transition:0.4s ease; z-index:1;}
.feature-card-cta:hover .cta-arrow {transform:translateX(4px);}
@media (max-width:991px) {.feature-card .about-feature-icon {width:82px; height:82px; min-width:82px;}}

/* ===================================
   GALLERY PAGE UPGRADE
   =================================== */
.social-media-item::after {content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(85,37,131,0) 40%, rgba(85,37,131,0.55) 100%); opacity:0; transition:0.4s ease; pointer-events:none;}
.social-media-item:hover::after {opacity:1;}
.social-media-item img, .social-media-item video {cursor:pointer;}
.media-label {position:absolute; left:14px; bottom:14px; z-index:2; background:rgba(253,185,39,0.95); color:var(--primary); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0.5px; padding:5px 12px; border-radius:30px; opacity:0; transform:translateY(8px); transition:0.4s ease; pointer-events:none;}
.social-media-item:hover .media-label {opacity:1; transform:translateY(0);}
.media-zoom {position:absolute; top:14px; right:14px; z-index:2; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.92); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:16px; opacity:0; transform:translateY(-6px); transition:0.4s ease; pointer-events:none;}
.social-media-item:hover .media-zoom {opacity:1; transform:translateY(0);}
.video-play-badge {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; width:58px; height:58px; border-radius:50%; background:rgba(85,37,131,0.82); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; border:2px solid rgba(255,255,255,0.85); transition:0.4s ease; box-shadow:0 8px 24px rgba(0,0,0,0.35); pointer-events:none;}
.video-play-badge i {margin-left:3px;}
.social-media-item:hover .video-play-badge {background:var(--secondary); color:var(--primary); transform:translate(-50%,-50%) scale(1.1);}
.lightbox-video {max-width:min(92vw,1100px); max-height:80vh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,0.5); background:#000; display:none;}
.gallery-cta-section {background:#f8f9fc;}