     :root {
         --primary: #f97316;
         --primary-dark: #ea580c;
         --primary-light: #ffedd5;
         --secondary: #0f172a;
         --accent: #3b82f6;
         --gray-50: #f8fafc;
         --gray-100: #f1f5f9;
         --gray-200: #e2e8f0;
         --gray-300: #cbd5e1;
         --gray-400: #94a3b8;
         --gray-500: #64748b;
         --gray-600: #475569;
         --gray-700: #334155;
         --gray-800: #1e293b;
         --gray-900: #0f172a;
         --white: #ffffff;
         --font: 'Plus Jakarta Sans', -apple-system, sans-serif;
         --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
         --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
         --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
         --shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
         --radius: 16px;
         --radius-lg: 24px;
     }

     * {
         box-sizing: border-box;
         margin: 0;
         padding: 0;
     }

     html {
         scroll-behavior: smooth;
         overflow-x: hidden;
     }

     body {
         font-family: var(--font);
         color: var(--gray-700);
         line-height: 1.7;
         -webkit-font-smoothing: antialiased;
         overflow-x: hidden;
         width: 100%;
     }

     img {
         max-width: 100%;
         height: auto;
     }

     a {
         color: var(--primary);
         text-decoration: none;
         transition: all 0.3s ease;
     }

     /* ============ NAVBAR ============ */
     .navbar {
         padding: 16px 0;
         transition: all 0.4s ease;
         background: transparent;
     }

     .navbar.scrolled {
         background: rgba(255, 255, 255, 0.95);
         backdrop-filter: blur(20px);
         -webkit-backdrop-filter: blur(20px);
         box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);
         padding: 12px 0;
     }

     .navbar-brand {
         font-weight: 800;
         font-size: 1.5rem;
         color: var(--white) !important;
         display: flex;
         align-items: center;
         gap: 10px;
     }

     .navbar.scrolled .navbar-brand {
         color: var(--gray-900) !important;
     }

     .navbar-brand .logo-icon {
         width: 44px;
         height: 44px;
         background: var(--primary);
         border-radius: 12px;
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--white);
         font-size: 1.2rem;
     }

     .nav-link {
         color: rgba(255, 255, 255, 0.85) !important;
         font-weight: 600;
         font-size: 0.95rem;
         padding: 10px 20px !important;
         border-radius: 10px;
         transition: all 0.3s ease;
     }

     .navbar.scrolled .nav-link {
         color: var(--gray-600) !important;
     }

     .nav-link:hover {
         color: var(--white) !important;
         background: rgba(255, 255, 255, 0.1);
     }

     .navbar.scrolled .nav-link:hover {
         color: var(--primary) !important;
         background: var(--primary-light);
     }

     .btn-cta {
         background: var(--primary);
         color: var(--white) !important;
         font-weight: 700;
         padding: 12px 28px !important;
         border-radius: 12px;
         border: none;
         box-shadow: 0 4px 14px rgba(249, 115, 22, 0.4);
         transition: all 0.3s ease;
     }

     .btn-cta:hover {
         background: var(--primary-dark);
         transform: translateY(-2px);
         box-shadow: 0 8px 25px rgba(249, 115, 22, 0.5);
         color: var(--white) !important;
     }

     .navbar-toggler {
         border: none;
         color: var(--white);
         font-size: 1.4rem;
         padding: 8px 12px;
     }

     .navbar.scrolled .navbar-toggler {
         color: var(--gray-800);
     }

     /* ============ HERO ============ */
     .hero {
         min-height: 100vh;
         background: linear-gradient(135deg, var(--secondary) 0%, #1e3a5f 100%);
         position: relative;
         display: flex;
         align-items: center;
         overflow: hidden;
     }

     .hero::before {
         content: '';
         position: absolute;
         inset: 0;
         background:
             radial-gradient(ellipse 80% 50% at 80% 50%, rgba(249, 115, 22, 0.15), transparent),
             radial-gradient(ellipse 60% 60% at 20% 80%, rgba(59, 130, 246, 0.1), transparent);
     }

     .hero-bg-image {
         position: absolute;
         right: 0;
         bottom: 0;
         width: 55%;
         max-width: 100%;
         height: 100%;
         object-fit: cover;
         mask-image: linear-gradient(to left, black 60%, transparent 100%);
         -webkit-mask-image: linear-gradient(to left, black 60%, transparent 100%);
         opacity: 0.6;
     }

     .hero-content {
         position: relative;
         z-index: 2;
     }

     .hero-badge {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         background: rgba(255, 255, 255, 0.1);
         backdrop-filter: blur(10px);
         border: 1px solid rgba(255, 255, 255, 0.15);
         padding: 8px 18px;
         border-radius: 50px;
         font-size: 0.85rem;
         font-weight: 600;
         color: var(--primary-light);
         margin-bottom: 24px;
     }

     .hero-badge i {
         color: var(--primary);
     }

     .hero h1 {
         font-size: clamp(2.5rem, 6vw, 4.2rem);
         font-weight: 800;
         color: var(--white);
         line-height: 1.1;
         letter-spacing: -1.5px;
         margin-bottom: 24px;
     }

     .hero h1 span {
         color: var(--primary);
     }

     .hero-text {
         font-size: 1.15rem;
         color: rgba(255, 255, 255, 0.7);
         max-width: 520px;
         margin-bottom: 36px;
         line-height: 1.8;
     }

     .hero-buttons {
         display: flex;
         flex-wrap: wrap;
         gap: 16px;
         margin-bottom: 48px;
     }

     .btn-hero-primary {
         display: inline-flex;
         align-items: center;
         gap: 10px;
         background: var(--primary);
         color: var(--white);
         font-weight: 700;
         font-size: 1rem;
         padding: 18px 36px;
         border-radius: 14px;
         border: none;
         box-shadow: 0 8px 30px rgba(249, 115, 22, 0.4);
         transition: all 0.3s ease;
         cursor: pointer;
     }

     .btn-hero-primary:hover {
         background: var(--primary-dark);
         transform: translateY(-3px);
         box-shadow: 0 12px 40px rgba(249, 115, 22, 0.5);
         color: var(--white);
     }

     .btn-hero-secondary {
         display: inline-flex;
         align-items: center;
         gap: 10px;
         background: rgba(255, 255, 255, 0.1);
         backdrop-filter: blur(10px);
         color: var(--white);
         font-weight: 600;
         font-size: 1rem;
         padding: 18px 32px;
         border-radius: 14px;
         border: 1px solid rgba(255, 255, 255, 0.2);
         transition: all 0.3s ease;
     }

     .btn-hero-secondary:hover {
         background: rgba(255, 255, 255, 0.2);
         color: var(--white);
     }

     .hero-features {
         display: flex;
         flex-wrap: wrap;
         gap: 32px;
     }

     .hero-feature {
         display: flex;
         align-items: center;
         gap: 12px;
         color: rgba(255, 255, 255, 0.8);
         font-size: 0.95rem;
         font-weight: 500;
     }

     .hero-feature i {
         width: 28px;
         height: 28px;
         background: rgba(249, 115, 22, 0.2);
         color: var(--primary);
         border-radius: 8px;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 0.75rem;
     }

     /* ============ STATS BAR ============ */
     .stats-bar {
         background: var(--white);
         margin-top: -60px;
         position: relative;
         z-index: 10;
         border-radius: var(--radius-lg);
         box-shadow: var(--shadow-xl);
         padding: 40px;
     }

     .stat-item {
         text-align: center;
         padding: 16px;
     }

     .stat-number {
         font-size: 2.5rem;
         font-weight: 800;
         color: var(--primary);
         letter-spacing: -1px;
         line-height: 1;
         margin-bottom: 8px;
     }

     .stat-label {
         font-size: 0.9rem;
         font-weight: 600;
         color: var(--gray-500);
         text-transform: uppercase;
         letter-spacing: 1px;
     }

     /* ============ SECTION STYLING ============ */
     .section {
         padding: 100px 0;
     }

     .section-header {
         text-align: center;
         max-width: 680px;
         margin: 0 auto 64px;
     }

     .section-badge {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         background: var(--primary-light);
         color: var(--primary-dark);
         padding: 8px 18px;
         border-radius: 50px;
         font-size: 0.82rem;
         font-weight: 700;
         text-transform: uppercase;
         letter-spacing: 1px;
         margin-bottom: 20px;
     }

     .section-title {
         font-size: clamp(2rem, 4vw, 2.8rem);
         font-weight: 800;
         color: var(--gray-900);
         letter-spacing: -1px;
         margin-bottom: 20px;
         line-height: 1.2;
     }

     .section-subtitle {
         font-size: 1.1rem;
         color: var(--gray-500);
         line-height: 1.8;
     }

     /* ============ SERVICES ============ */
     .services-section {
         background: var(--gray-50);
     }

     .service-card {
         background: var(--white);
         border-radius: var(--radius-lg);
         padding: 36px;
         height: 100%;
         border: 1px solid var(--gray-100);
         transition: all 0.4s ease;
         position: relative;
         overflow: hidden;
     }

     .service-card::before {
         content: '';
         position: absolute;
         top: 0;
         left: 0;
         right: 0;
         height: 4px;
         background: linear-gradient(90deg, var(--primary), var(--accent));
         transform: scaleX(0);
         transition: transform 0.4s ease;
     }

     .service-card:hover {
         transform: translateY(-8px);
         box-shadow: var(--shadow-xl);
         border-color: transparent;
     }

     .service-card:hover::before {
         transform: scaleX(1);
     }

     .service-icon {
         width: 72px;
         height: 72px;
         background: linear-gradient(135deg, var(--primary-light), #fef3c7);
         border-radius: 20px;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 1.8rem;
         color: var(--primary);
         margin-bottom: 24px;
         transition: all 0.4s ease;
     }

     .service-card:hover .service-icon {
         background: linear-gradient(135deg, var(--primary), var(--primary-dark));
         color: var(--white);
         transform: scale(1.1) rotate(-5deg);
     }

     .service-title {
         font-size: 1.3rem;
         font-weight: 700;
         color: var(--gray-900);
         margin-bottom: 14px;
     }

     .service-desc {
         color: var(--gray-500);
         font-size: 0.95rem;
         margin-bottom: 20px;
         line-height: 1.7;
     }

     .service-link {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         font-weight: 700;
         font-size: 0.9rem;
         color: var(--primary);
     }

     .service-link i {
         transition: transform 0.3s ease;
     }

     .service-card:hover .service-link i {
         transform: translateX(5px);
     }

     /* ============ ABOUT ============ */
     .about-section {
         background: var(--white);
     }

     .about-image-wrapper {
         position: relative;
         overflow: hidden;
         border-radius: var(--radius-lg);
     }

     .about-image {
         border-radius: var(--radius-lg);
         box-shadow: var(--shadow-xl);
         width: 100%;
         object-fit: cover;
     }

     .about-badge-card {
         position: absolute;
         bottom: -30px;
         right: 20px;
         background: var(--white);
         border-radius: var(--radius);
         padding: 24px 32px;
         box-shadow: var(--shadow-lg);
         display: flex;
         align-items: center;
         gap: 16px;
     }

     .about-badge-icon {
         width: 56px;
         height: 56px;
         background: var(--primary-light);
         border-radius: 14px;
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--primary);
         font-size: 1.4rem;
     }

     .about-badge-text h4 {
         font-size: 1.8rem;
         font-weight: 800;
         color: var(--gray-900);
         line-height: 1;
         margin-bottom: 4px;
     }

     .about-badge-text span {
         font-size: 0.85rem;
         color: var(--gray-500);
         font-weight: 600;
     }

     .about-content {
         padding-left: 48px;
     }

     .about-features {
         margin-top: 32px;
     }

     .about-feature-item {
         display: flex;
         align-items: flex-start;
         gap: 16px;
         margin-bottom: 24px;
     }

     .about-feature-icon {
         width: 48px;
         height: 48px;
         background: var(--primary-light);
         border-radius: 12px;
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--primary);
         font-size: 1.1rem;
         flex-shrink: 0;
     }

     .about-feature-text h5 {
         font-size: 1.05rem;
         font-weight: 700;
         color: var(--gray-900);
         margin-bottom: 4px;
     }

     .about-feature-text p {
         font-size: 0.9rem;
         color: var(--gray-500);
         margin: 0;
     }

     /* ============ WHY CHOOSE US ============ */
     .why-section {
         background: linear-gradient(135deg, var(--secondary) 0%, #1e3a5f 100%);
         position: relative;
         overflow: hidden;
     }

     .why-section::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%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zM22.344 0L13.858 8.485 15.272 9.9l9.9-9.9h-2.828zM32 0l-3.486 3.485-1.414 1.414L32 0h2.828zm5.657 0l9.9 9.9-1.415 1.414-9.9-9.9h1.415z' fill='%23ffffff' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");
     }

     .why-section .section-badge {
         background: rgba(249, 115, 22, 0.2);
         color: var(--primary);
     }

     .why-section .section-title {
         color: var(--white);
     }

     .why-section .section-subtitle {
         color: rgba(255, 255, 255, 0.6);
     }

     .why-card {
         background: rgba(255, 255, 255, 0.05);
         backdrop-filter: blur(10px);
         border: 1px solid rgba(255, 255, 255, 0.1);
         border-radius: var(--radius-lg);
         padding: 36px;
         text-align: center;
         transition: all 0.4s ease;
     }

     .why-card:hover {
         background: rgba(255, 255, 255, 0.1);
         transform: translateY(-5px);
     }

     .why-icon {
         width: 80px;
         height: 80px;
         background: linear-gradient(135deg, var(--primary), var(--primary-dark));
         border-radius: 24px;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 2rem;
         color: var(--white);
         margin: 0 auto 24px;
         box-shadow: 0 10px 30px rgba(249, 115, 22, 0.3);
     }

     .why-title {
         font-size: 1.2rem;
         font-weight: 700;
         color: var(--white);
         margin-bottom: 12px;
     }

     .why-desc {
         color: rgba(255, 255, 255, 0.6);
         font-size: 0.95rem;
     }

     /* ============ GALLERY ============ */
     .gallery-section {
         background: var(--gray-50);
     }

     .gallery-grid {
         display: grid;
         grid-template-columns: repeat(4, 1fr);
         gap: 20px;
     }

     .gallery-item {
         position: relative;
         border-radius: var(--radius);
         overflow: hidden;
         aspect-ratio: 1;
         cursor: pointer;
     }

     .gallery-item:nth-child(1) {
         grid-column: span 2;
         grid-row: span 2;
     }

     .gallery-item img {
         width: 100%;
         height: 100%;
         object-fit: cover;
         transition: transform 0.5s ease;
     }

     .gallery-item:hover img {
         transform: scale(1.1);
     }

     .gallery-overlay {
         position: absolute;
         inset: 0;
         background: linear-gradient(180deg, transparent 40%, rgba(15, 23, 42, 0.85));
         opacity: 0;
         transition: opacity 0.4s ease;
         display: flex;
         align-items: flex-end;
         justify-content: center;
         padding: 24px;
     }

     .gallery-item:hover .gallery-overlay {
         opacity: 1;
     }

     .gallery-zoom {
         width: 50px;
         height: 50px;
         background: var(--primary);
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--white);
         font-size: 1.2rem;
         transform: translateY(20px);
         transition: all 0.4s ease;
     }

     .gallery-item:hover .gallery-zoom {
         transform: translateY(0);
     }

     /* ============ TESTIMONIALS ============ */
     .testimonials-section {
         background: var(--white);
         overflow: hidden;
     }

     .testimonial-card {
         background: var(--gray-50);
         border-radius: var(--radius-lg);
         padding: 40px;
         height: 100%;
         border: 1px solid var(--gray-100);
         position: relative;
     }

     .testimonial-quote {
         position: absolute;
         top: 30px;
         right: 30px;
         font-size: 4rem;
         color: var(--primary-light);
         line-height: 1;
         font-family: Georgia, serif;
     }

     .testimonial-rating {
         display: flex;
         gap: 4px;
         margin-bottom: 20px;
     }

     .testimonial-rating i {
         color: #fbbf24;
         font-size: 1rem;
     }

     .testimonial-text {
         font-size: 1.05rem;
         color: var(--gray-600);
         line-height: 1.8;
         margin-bottom: 28px;
         position: relative;
         z-index: 1;
     }

     .testimonial-author {
         display: flex;
         align-items: center;
         gap: 16px;
     }

     .testimonial-avatar {
         width: 56px;
         height: 56px;
         border-radius: 14px;
         object-fit: cover;
         border: 3px solid var(--white);
         box-shadow: var(--shadow);
     }

     .testimonial-info h5 {
         font-size: 1rem;
         font-weight: 700;
         color: var(--gray-900);
         margin-bottom: 2px;
     }

     .testimonial-info span {
         font-size: 0.85rem;
         color: var(--gray-500);
     }

     /* Swiper customization */
     .testimonials-swiper {
         padding: 20px 0 60px;
     }

     .swiper-pagination-bullet {
         width: 10px;
         height: 10px;
         background: var(--gray-300);
         opacity: 1;
     }

     .swiper-pagination-bullet-active {
         width: 30px;
         border-radius: 5px;
         background: var(--primary);
     }

     /* ============ CTA SECTION ============ */
     .cta-section {
         background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
         padding: 80px 0;
         position: relative;
         overflow: hidden;
     }

     .cta-section::before {
         content: '';
         position: absolute;
         top: -50%;
         right: 0;
         width: 350px;
         height: 350px;
         background: rgba(255, 255, 255, 0.1);
         border-radius: 50%;
         pointer-events: none;
     }

     .cta-content {
         position: relative;
         z-index: 1;
         text-align: center;
     }

     .cta-title {
         font-size: clamp(1.8rem, 4vw, 2.5rem);
         font-weight: 800;
         color: var(--white);
         margin-bottom: 20px;
     }

     .cta-text {
         font-size: 1.1rem;
         color: rgba(255, 255, 255, 0.85);
         margin-bottom: 32px;
         max-width: 600px;
         margin-left: auto;
         margin-right: auto;
     }

     .cta-phone {
         display: inline-flex;
         align-items: center;
         gap: 12px;
         background: var(--white);
         color: var(--primary-dark);
         font-size: 1.3rem;
         font-weight: 800;
         padding: 18px 40px;
         border-radius: 14px;
         box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
         transition: all 0.3s ease;
     }

     .cta-phone:hover {
         transform: translateY(-3px);
         box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
         color: var(--primary-dark);
     }

     /* ============ CONTACT ============ */
     .contact-section {
         background: var(--gray-50);
     }

     .contact-info-card {
         background: var(--secondary);
         border-radius: var(--radius-lg);
         padding: 48px;
         height: 100%;
         color: var(--white);
         position: relative;
         overflow: hidden;
     }

     .contact-info-card::before {
         content: '';
         position: absolute;
         bottom: -40px;
         right: -40px;
         width: 180px;
         height: 180px;
         background: rgba(249, 115, 22, 0.15);
         border-radius: 50%;
         pointer-events: none;
     }

     .contact-info-title {
         font-size: 1.8rem;
         font-weight: 800;
         margin-bottom: 12px;
     }

     .contact-info-text {
         color: rgba(255, 255, 255, 0.7);
         margin-bottom: 36px;
     }

     .contact-item {
         display: flex;
         align-items: flex-start;
         gap: 16px;
         margin-bottom: 28px;
     }

     .contact-item-icon {
         width: 50px;
         height: 50px;
         background: rgba(249, 115, 22, 0.15);
         border-radius: 12px;
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--primary);
         font-size: 1.1rem;
         flex-shrink: 0;
     }

     .contact-item-text h5 {
         font-size: 0.85rem;
         font-weight: 600;
         color: rgba(255, 255, 255, 0.5);
         text-transform: uppercase;
         letter-spacing: 1px;
         margin-bottom: 6px;
     }

     .contact-item-text p {
         font-size: 1.05rem;
         font-weight: 600;
         color: var(--white);
         margin: 0;
     }

     .contact-socials {
         display: flex;
         gap: 12px;
         margin-top: 36px;
     }

     .contact-social-link {
         width: 46px;
         height: 46px;
         background: rgba(255, 255, 255, 0.1);
         border-radius: 12px;
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--white);
         font-size: 1.1rem;
         transition: all 0.3s ease;
     }

     .contact-social-link:hover {
         background: var(--primary);
         color: var(--white);
         transform: translateY(-3px);
     }

     .contact-form-card {
         background: var(--white);
         border-radius: var(--radius-lg);
         padding: 48px;
         box-shadow: var(--shadow-lg);
     }

     .form-group {
         margin-bottom: 24px;
     }

     .form-label {
         font-weight: 600;
         font-size: 0.9rem;
         color: var(--gray-700);
         margin-bottom: 10px;
         display: block;
     }

     .form-control,
     .form-select {
         width: 100%;
         padding: 16px 20px;
         border: 2px solid var(--gray-200);
         border-radius: 12px;
         font-size: 1rem;
         font-family: var(--font);
         color: var(--gray-800);
         transition: all 0.3s ease;
         background: var(--white);
     }

     .form-control:focus,
     .form-select:focus {
         outline: none;
         border-color: var(--primary);
         box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.1);
     }

     .form-control::placeholder {
         color: var(--gray-400);
     }

     textarea.form-control {
         min-height: 140px;
         resize: vertical;
     }

     .btn-submit {
         width: 100%;
         padding: 18px 32px;
         background: var(--primary);
         color: var(--white);
         border: none;
         border-radius: 12px;
         font-size: 1.05rem;
         font-weight: 700;
         font-family: var(--font);
         cursor: pointer;
         transition: all 0.3s ease;
         display: flex;
         align-items: center;
         justify-content: center;
         gap: 10px;
     }

     .btn-submit:hover {
         background: var(--primary-dark);
         box-shadow: 0 8px 25px rgba(249, 115, 22, 0.4);
         transform: translateY(-2px);
     }

     .alert {
         padding: 16px 20px;
         border-radius: 12px;
         margin-bottom: 24px;
         font-weight: 500;
     }

     .alert-success {
         background: #d1fae5;
         color: #065f46;
         border: 1px solid #a7f3d0;
     }

     .alert-danger {
         background: #fee2e2;
         color: #991b1b;
         border: 1px solid #fecaca;
     }

     /* ============ FOOTER ============ */
     .footer {
         background: var(--gray-900);
         color: rgba(255, 255, 255, 0.7);
         padding: 80px 0 0;
     }

     .footer-brand {
         margin-bottom: 24px;
     }

     .footer-brand a {
         font-size: 1.5rem;
         font-weight: 800;
         color: var(--white);
         display: flex;
         align-items: center;
         gap: 12px;
     }

     .footer-brand .logo-icon {
         width: 48px;
         height: 48px;
         background: var(--primary);
         border-radius: 14px;
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--white);
         font-size: 1.3rem;
     }

     .footer-text {
         font-size: 0.95rem;
         line-height: 1.8;
         margin-bottom: 28px;
         max-width: 320px;
     }

     .footer-title {
         font-size: 1.1rem;
         font-weight: 700;
         color: var(--white);
         margin-bottom: 24px;
     }

     .footer-links {
         list-style: none;
         padding: 0;
         margin: 0;
     }

     .footer-links li {
         margin-bottom: 14px;
     }

     .footer-links a {
         color: rgba(255, 255, 255, 0.6);
         font-size: 0.95rem;
         transition: all 0.3s ease;
         display: flex;
         align-items: center;
         gap: 8px;
     }

     .footer-links a:hover {
         color: var(--primary);
         padding-left: 5px;
     }

     .footer-contact-item {
         display: flex;
         align-items: flex-start;
         gap: 14px;
         margin-bottom: 20px;
     }

     .footer-contact-item i {
         color: var(--primary);
         font-size: 1rem;
         margin-top: 4px;
     }

     .footer-contact-item span {
         font-size: 0.95rem;
     }

     .footer-bottom {
         border-top: 1px solid rgba(255, 255, 255, 0.1);
         padding: 28px 0;
         margin-top: 60px;
     }

     .footer-bottom-text {
         font-size: 0.9rem;
         color: rgba(255, 255, 255, 0.5);
     }

     .footer-admin-link {
         color: var(--primary);
         font-weight: 600;
     }

     .footer-admin-link:hover {
         color: var(--white);
     }

     /* ============ RESPONSIVE ============ */
     /* Contain all sections so nothing overflows */
     .hero,
     .services-section,
     .about-section,
     .why-section,
     .gallery-section,
     .testimonials-section,
     .cta-section,
     .contact-section,
     .footer {
         overflow: hidden;
     }

     @media (max-width: 1199px) {
         .hero-bg-image {
             width: 50%;
             opacity: 0.4;
         }
     }

     @media (max-width: 991px) {
         .section {
             padding: 70px 0;
         }

         .hero-bg-image {
             width: 100%;
             height: 50%;
             bottom: 0;
             right: 0;
             mask-image: linear-gradient(to top, black 20%, transparent 100%);
             -webkit-mask-image: linear-gradient(to top, black 20%, transparent 100%);
         }

         .about-content {
             padding-left: 0;
             margin-top: 60px;
         }

         .about-badge-card {
             bottom: 16px;
             right: 16px;
         }

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

         .gallery-item:nth-child(1) {
             grid-column: span 2;
             grid-row: span 1;
             aspect-ratio: 2/1;
         }

         .stats-bar {
             margin-top: -40px;
             padding: 30px;
         }

         .stat-number {
             font-size: 2rem;
         }

         .navbar-collapse {
             background: var(--white);
             border-radius: 16px;
             margin-top: 16px;
             padding: 16px;
             box-shadow: var(--shadow-lg);
         }

         .navbar-collapse .nav-link {
             color: var(--gray-700) !important;
         }

         .navbar-collapse .nav-link:hover {
             background: var(--gray-100);
         }

         .navbar-collapse .btn-cta {
             width: 100%;
             text-align: center;
             margin-top: 10px;
         }
     }

     @media (max-width: 767px) {
         .section {
             padding: 60px 0;
         }

         .hero {
             min-height: auto;
             padding: 140px 0 100px;
         }

         .hero-buttons {
             flex-direction: column;
         }

         .hero-features {
             flex-direction: column;
             gap: 16px;
         }

         .stats-bar {
             margin-top: 0;
             border-radius: 0;
             margin-left: 0;
             margin-right: 0;
             padding: 24px 16px;
         }

         .stat-item {
             padding: 12px;
         }

         .stat-number {
             font-size: 1.6rem;
         }

         .stat-label {
             font-size: 0.75rem;
         }

         .about-badge-card {
             position: relative;
             bottom: auto;
             right: auto;
             margin-top: 20px;
             display: inline-flex;
         }

         .gallery-grid {
             grid-template-columns: repeat(2, 1fr);
             gap: 12px;
         }

         .gallery-item:nth-child(1) {
             grid-column: span 2;
         }

         .contact-info-card,
         .contact-form-card {
             padding: 32px 24px;
         }

         .cta-phone {
             font-size: 1.1rem;
             padding: 16px 28px;
         }
     }

     @media (max-width: 575px) {
         .container {
             padding-left: 16px;
             padding-right: 16px;
         }

         .section-title {
             font-size: 1.8rem;
         }

         .service-card {
             padding: 24px;
         }

         .testimonial-card {
             padding: 24px;
         }

         .gallery-grid {
             gap: 8px;
         }

         .hero h1 {
             font-size: 2rem;
             letter-spacing: -0.5px;
         }

         .hero-text {
             font-size: 1rem;
         }

         .hero-badge {
             font-size: 0.78rem;
             padding: 6px 14px;
         }

         .btn-hero-primary,
         .btn-hero-secondary {
             width: 100%;
             justify-content: center;
             padding: 16px 24px;
             font-size: 0.95rem;
         }

         .section-header {
             margin-bottom: 40px;
         }

         .section-subtitle {
             font-size: 0.95rem;
         }

         .why-card {
             padding: 28px 20px;
         }

         .why-icon {
             width: 64px;
             height: 64px;
             font-size: 1.5rem;
             border-radius: 18px;
         }

         .back-to-top {
             bottom: 20px;
             right: 20px;
             width: 44px;
             height: 44px;
             border-radius: 12px;
             font-size: 1rem;
         }

         .cta-phone {
             font-size: 1rem;
             padding: 14px 24px;
             word-break: break-all;
         }

         .contact-socials {
             flex-wrap: wrap;
         }

         .footer {
             padding: 60px 0 0;
         }

         .footer-bottom {
             margin-top: 40px;
         }
     }

     /* ============ UTILITY ============ */
     .text-primary {
         color: var(--primary) !important;
     }

     .bg-primary {
         background: var(--primary) !important;
     }

     /* Preloader */
     .preloader {
         position: fixed;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         width: 100vw;
         height: 100vh;
         height: 100dvh;
         background: var(--white);
         display: flex;
         align-items: center;
         justify-content: center;
         z-index: 9999;
         transition: opacity 0.5s ease, visibility 0.5s ease;
     }

     .preloader.loaded {
         opacity: 0;
         visibility: hidden;
         pointer-events: none;
     }

     .preloader-spinner {
         width: 44px;
         height: 44px;
         border: 4px solid var(--gray-200);
         border-top-color: var(--primary);
         border-radius: 50%;
         animation: spin 0.8s linear infinite;
         flex-shrink: 0;
     }

     @keyframes spin {
         to {
             transform: rotate(360deg);
         }
     }

     /* Back to top */
     .back-to-top {
         position: fixed;
         bottom: 30px;
         right: 30px;
         width: 50px;
         height: 50px;
         background: var(--primary);
         color: var(--white);
         border-radius: 14px;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 1.2rem;
         box-shadow: 0 4px 20px rgba(249, 115, 22, 0.4);
         opacity: 0;
         visibility: hidden;
         transition: all 0.4s ease;
         z-index: 999;
         cursor: pointer;
     }

     .back-to-top.show {
         opacity: 1;
         visibility: visible;
     }

     .back-to-top:hover {
         transform: translateY(-5px);
         background: var(--primary-dark);
     }