    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        font-family: 'Poppins', sans-serif;
        overflow-x: hidden;
    }

    /* Preloader */
    .preloader {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(135deg, #0F766E, #14B8A6);
        z-index: 99999;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        transition: opacity 0.5s, visibility 0.5s;
    }

    .preloader.hidden {
        opacity: 0;
        visibility: hidden;
    }

    .preloader-plane {
        animation: flyPlane 2s ease-in-out infinite;
    }

    @keyframes flyPlane {

        0%,
        100% {
            transform: translateX(0) translateY(0);
        }

        25% {
            transform: translateX(20px) translateY(-10px) rotate(5deg);
        }

        50% {
            transform: translateX(0) translateY(-20px);
        }

        75% {
            transform: translateX(-20px) translateY(-10px) rotate(-5deg);
        }
    }

    .preloader-text {
        color: white;
        font-size: 1.5rem;
        font-weight: 700;
        font-family: 'Playfair Display', serif;
        letter-spacing: 3px;
        margin-top: 15px;
    }

    .preloader-dots span {
        display: inline-block;
        width: 8px;
        height: 8px;
        background: white;
        border-radius: 50%;
        margin: 0 4px;
        animation: dotBounce 1.4s ease-in-out infinite;
    }

    .preloader-dots span:nth-child(2) {
        animation-delay: 0.2s;
    }

    .preloader-dots span:nth-child(3) {
        animation-delay: 0.4s;
    }

    @keyframes dotBounce {

        0%,
        80%,
        100% {
            transform: scale(0.6);
            opacity: 0.5;
        }

        40% {
            transform: scale(1);
            opacity: 1;
        }
    }

    ::-webkit-scrollbar {
        width: 8px;
    }

    ::-webkit-scrollbar-track {
        background: #f1f1f1;
    }

    ::-webkit-scrollbar-thumb {
        background: #0F766E;
        border-radius: 10px;
    }

    /* Navbar */
    .navbar-scrolled {
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        backdrop-filter: blur(20px);
    }

    .navbar-scrolled .nav-link {
        color: #1E293B !important;
    }

    .navbar-scrolled .nav-logo {
        color: #0F766E !important;
    }

    .navbar-scrolled .nav-cta {
        background: #0F766E !important;
        color: white !important;
    }

    .navbar-scrolled .menu-icon {
        color: #1E293B !important;
    }

    .mobile-menu {
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .mobile-menu.active {
        transform: translateX(0);
    }

    .mobile-overlay {
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    .mobile-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .dropdown-menu {
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: all 0.3s;
    }

    .dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .page-hero-overlay {
        background: linear-gradient(135deg, rgba(15, 118, 110, 0.85), rgba(30, 41, 59, 0.8));
    }

    .breadcrumb-item+.breadcrumb-item::before {
        content: '';
        display: inline-block;
        width: 4px;
        height: 4px;
        background: rgba(255, 255, 255, 0.5);
        border-radius: 50%;
        margin: 0 10px;
        vertical-align: middle;
    }

    /* Form */
    .form-input {
        width: 100%;
        padding: 14px 16px;
        border: 2px solid #E5E7EB;
        border-radius: 12px;
        font-size: 14px;
        transition: all 0.3s;
        background: white;
        outline: none;
        font-family: 'Poppins', sans-serif;
    }

    .form-input:focus {
        border-color: #0F766E;
        box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.08);
    }

    .form-input.error {
        border-color: #EF4444;
    }

    .form-input::placeholder {
        color: #9CA3AF;
    }

    .form-label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: #374151;
        margin-bottom: 6px;
    }

    .form-label .required {
        color: #EF4444;
    }

    .form-select {
        width: 100%;
        padding: 14px 40px 14px 16px;
        border: 2px solid #E5E7EB;
        border-radius: 12px;
        font-size: 14px;
        transition: all 0.3s;
        background: white;
        outline: none;
        appearance: none;
        cursor: pointer;
        font-family: 'Poppins', sans-serif;
    }

    .form-select:focus {
        border-color: #0F766E;
        box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.08);
    }

    .form-textarea {
        width: 100%;
        padding: 14px 16px;
        border: 2px solid #E5E7EB;
        border-radius: 12px;
        font-size: 14px;
        transition: all 0.3s;
        background: white;
        outline: none;
        resize: vertical;
        min-height: 140px;
        font-family: 'Poppins', sans-serif;
    }

    .form-textarea:focus {
        border-color: #0F766E;
        box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.08);
    }

    /* Error Message */
    .error-msg {
        color: #EF4444;
        font-size: 12px;
        margin-top: 4px;
        display: none;
        align-items: center;
        gap: 4px;
    }

    .error-msg.show {
        display: flex;
    }

    /* Contact Info Cards */
    .info-card {
        transition: all 0.4s ease;
    }

    .info-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 40px -12px rgba(15, 118, 110, 0.15);
    }

    .info-card:hover .info-icon {
        background: #0F766E;
        color: white;
        transform: rotateY(180deg);
    }

    .info-icon {
        transition: all 0.6s ease;
    }

    /* Office Card */
    .office-card {
        transition: all 0.3s ease;
    }

    .office-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.1);
    }

    .office-card:hover .office-img {
        transform: scale(1.05);
    }

    .office-img {
        transition: transform 0.5s ease;
    }

    /* Social Link */
    .social-link {
        transition: all 0.3s ease;
    }

    .social-link:hover {
        transform: translateY(-3px);
    }

    /* Map */
    .map-container {
        position: relative;
        overflow: hidden;
        border-radius: 16px;
    }

    .map-placeholder {
        background: linear-gradient(135deg, #E0F2FE, #DBEAFE, #E0E7FF);
        position: relative;
    }

    .map-placeholder::after {
        content: '';
        position: absolute;
        inset: 0;
        background: repeating-linear-gradient(0deg, transparent, transparent 30px, rgba(0, 0, 0, 0.02) 30px, rgba(0, 0, 0, 0.02) 31px),
            repeating-linear-gradient(90deg, transparent, transparent 30px, rgba(0, 0, 0, 0.02) 30px, rgba(0, 0, 0, 0.02) 31px);
    }

    .map-pin {
        animation: mapBounce 2s ease-in-out infinite;
    }

    @keyframes mapBounce {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-10px);
        }
    }

    /* FAQ */
    .accordion-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .accordion-content.open {
        max-height: 500px;
    }

    .accordion-icon {
        transition: transform 0.3s;
    }

    .accordion-icon.rotate {
        transform: rotate(180deg);
    }

    /* Success Modal */
    .modal-overlay {
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    .modal-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .modal-content {
        transform: scale(0.9);
        opacity: 0;
        transition: all 0.3s;
    }

    .modal-overlay.active .modal-content {
        transform: scale(1);
        opacity: 1;
    }

    @keyframes checkmarkDraw {
        from {
            stroke-dashoffset: 50;
        }

        to {
            stroke-dashoffset: 0;
        }
    }

    .success-check {
        animation: checkmarkDraw 0.5s ease-in-out 0.3s forwards;
        stroke-dasharray: 50;
        stroke-dashoffset: 50;
    }

    /* Floating elements */
    @keyframes float {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-12px);
        }
    }

    .animate-float {
        animation: float 5s ease-in-out infinite;
    }

    /* Pattern */
    .pattern-dots {
        background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
        background-size: 20px 20px;
    }

    .btn-primary {
        position: relative;
        overflow: hidden;
        transition: all 0.3s;
    }

    .btn-primary::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.5s;
    }

    .btn-primary:hover::before {
        left: 100%;
    }

    .back-to-top {
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    .back-to-top.visible {
        opacity: 1;
        visibility: visible;
    }

    /* Character counter */
    .char-counter {
        transition: color 0.3s;
    }

    .char-counter.warning {
        color: #F59E0B;
    }

    .char-counter.danger {
        color: #EF4444;
    }

    /* Loading spinner for button */
    .btn-loading .btn-text {
        opacity: 0;
    }

    .btn-loading .btn-spinner {
        opacity: 1;
    }

    .btn-spinner {
        opacity: 0;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: opacity 0.3s;
    }

    /* Live chat button */
    .chat-btn {
        animation: pulse-chat 2s ease-out infinite;
    }

    @keyframes pulse-chat {
        0% {
            box-shadow: 0 0 0 0 rgba(15, 118, 110, 0.4);
        }

        100% {
            box-shadow: 0 0 0 20px rgba(15, 118, 110, 0);
        }
    }
    html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
    position: relative;
}

.main-wrapper,
.wrapper,
.page-wrapper,
.site-wrapper {
    width: 100%;
    overflow: hidden;
}

section {
    max-width: 100%;
}