html {
    scroll-behavior: smooth;
    background-color: #1e1e1e;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #f8fafc;
    color: #1e293b;
    overflow-x: hidden;
}

body.flex.flex-col.min-h-screen > footer {
    margin-top: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-serif {
    font-family: 'Playfair Display', serif;
}

/* Custom Utilities */
.text-gold {
    color: #c5a059;
}

.bg-gold {
    background-color: #c5a059;
}

.border-gold {
    border-color: #c5a059;
}

.bg-darkblue {
    background-color: #333333;
}

.text-darkblue {
    color: #333333;
}

/* Animations & Transitions */
.fade-in {
    animation: fadeIn 0.8s ease-in-out forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Glassmorphism for Navbar */
.nav-glass {
    background: rgba(51, 51, 51, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}

/* CTA Card Glass */
.cta-glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* View transition logic */
.view-section {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.view-section.active {
    display: block;
    opacity: 1;
}

/* Services Grid Hover */
.service-card {
    transition: all 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
}

.service-card:hover .service-icon {
    color: #c5a059;
    transform: scale(1.1);
}

/* Button hover */
.btn-gold {
    background-color: #c5a059;
    color: #fff;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn-solid-gold {
    background-color: #c5a059;
    color: #333333;
    transition: all 0.3s ease;
}

.btn-solid-gold:hover {
    background-color: #b08d4b;
    color: #fff;
    transform: translateY(-2px);
}

.btn-gold:hover {
    background-color: #b08d4b;
}

.btn-outline-gold {
    border: 1px solid #c5a059;
    color: #c5a059;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-outline-gold:hover {
    background-color: #c5a059;
    color: #333333;
}

/* Image overlay for hero */
.hero-overlay {
    background: linear-gradient(135deg, rgba(51, 51, 51, 0.95) 0%, rgba(51, 51, 51, 0.85) 50%, rgba(51, 51, 51, 0.95) 100%);
}

@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2") format("woff2"),
        url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-regular-400.woff2") format("woff2"),
        url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-regular-400.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2") format("woff2"),
        url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.ttf") format("truetype");
}

.fa,
.fas,
.fa-solid {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.far,
.fa-regular {
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
}

.fab,
.fa-brands {
    font-family: "Font Awesome 6 Brands";
}

.fa-solid,
.fa-regular,
.fa-brands {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}

/* Specific icon mapping (Unicode) */
.fa-whatsapp:before {
    content: "\f232";
}

.fa-chevron-down:before {
    content: "\f078";
}

.fa-bars:before {
    content: "\f0c9";
}

.fa-registered:before {
    content: "\f25d";
}

.fa-arrows-rotate:before {
    content: "\f021";
}

.fa-gavel:before {
    content: "\f0e3";
}

.fa-clock:before {
    content: "\f017";
}

.fa-circle-question:before {
    content: "\f059";
}

.fa-magnifying-glass-chart:before {
    content: "\f689";
}

.fa-file-signature:before {
    content: "\f573";
}

.fa-check:before {
    content: "\f00c";
}

.fa-shield-halved:before {
    content: "\f3ed";
}

.fa-magnifying-glass-location:before {
    content: "\f689";
}

.fa-magnifying-glass:before {
    content: "\f002";
}

.fa-arrow-down:before {
    content: "\f063";
}

.fa-ban:before {
    content: "\f05e";
}

.fa-briefcase:before {
    content: "\f0b1";
}

.fa-building-columns:before {
    content: "\f19c";
}

.fa-circle-minus:before {
    content: "\f056";
}

.fa-envelope-open-text:before {
    content: "\f658";
}

.fa-file-circle-exclamation:before {
    content: "\e4eb";
}

.fa-file-lines:before {
    content: "\f15c";
}

.fa-landmark:before {
    content: "\f66f";
}

.fa-layer-group:before {
    content: "\f5fd";
}

.fa-magnifying-glass-dollar:before {
    content: "\f688";
}

.fa-map-location-dot:before {
    content: "\f5a0";
}

.fa-accessibility:before {
    content: "\f29a";
}

.fa-shapes:before {
    content: "\f61f";
}

.fa-earth-americas:before {
    content: "\f57d";
}

.fa-hand-holding-dollar:before {
    content: "\f4c0";
}

.fa-certificate:before {
    content: "\f0a3";
}

.fa-star:before {
    content: "\f005";
}

.fa-google:before {
    content: "\f1a0";
}

.fa-facebook-f:before {
    content: "\f39e";
}

.fa-instagram:before {
    content: "\f16d";
}

.fa-linkedin-in:before {
    content: "\f0e1";
}

.fa-location-dot:before {
    content: "\f3c5";
}

.fa-phone:before {
    content: "\f095";
}

.fa-envelope:before {
    content: "\f0e0";
}

.fa-scale-balanced:before {
    content: "\f24e";
}

/* Extended Font Awesome mappings used across pages */
.fa-arrow-left:before {
    content: "\f060";
}

.fa-arrow-right:before {
    content: "\f061";
}

.fa-arrow-right-long:before {
    content: "\f178";
}

.fa-arrow-trend-up:before {
    content: "\e098";
}

.fa-bolt:before {
    content: "\f0e7";
}

.fa-broom:before {
    content: "\f51a";
}

.fa-building:before {
    content: "\f1ad";
}

.fa-building-circle-check:before {
    content: "\e4d2";
}

.fa-building-shield:before {
    content: "\e4d8";
}

.fa-bus:before {
    content: "\f207";
}

.fa-calculator:before {
    content: "\f1ec";
}

.fa-calendar:before {
    content: "\f133";
}

.fa-calendar-check:before {
    content: "\f274";
}

.fa-calendar-days:before {
    content: "\f073";
}

.fa-camera:before {
    content: "\f030";
}

.fa-car:before {
    content: "\f1b9";
}

.fa-car-burst:before {
    content: "\f5e1";
}

.fa-car-crash:before {
    content: "\f5e1";
}

.fa-car-on:before {
    content: "\e4dd";
}

.fa-car-side:before {
    content: "\f5e4";
}

.fa-cart-shopping:before {
    content: "\f07a";
}

.fa-chart-line:before {
    content: "\f201";
}

.fa-chevron-left:before {
    content: "\f053";
}

.fa-chevron-right:before {
    content: "\f054";
}

.fa-children:before {
    content: "\e4e1";
}

.fa-circle-check:before {
    content: "\f058";
}

.fa-circle-exclamation:before {
    content: "\f06a";
}

.fa-clock-rotate-left:before {
    content: "\f1da";
}

.fa-coins:before {
    content: "\f51e";
}

.fa-comments:before {
    content: "\f086";
}

.fa-copyright:before {
    content: "\f1f9";
}

.fa-door-open:before {
    content: "\f52b";
}

.fa-file-circle-check:before {
    content: "\e5a0";
}

.fa-file-circle-question:before {
    content: "\e4ef";
}

.fa-file-circle-xmark:before {
    content: "\e5a1";
}

.fa-file-contract:before {
    content: "\f56c";
}

.fa-file-invoice-dollar:before {
    content: "\f571";
}

.fa-file-medical:before {
    content: "\f477";
}

.fa-file-shield:before {
    content: "\e4f0";
}

.fa-folder-plus:before {
    content: "\f65e";
}

.fa-forward-step:before {
    content: "\f051";
}

.fa-gem:before {
    content: "\f3a5";
}

.fa-gift:before {
    content: "\f06b";
}

.fa-globe:before {
    content: "\f0ac";
}

.fa-graduation-cap:before {
    content: "\f19d";
}

.fa-hand:before {
    content: "\f256";
}

.fa-hand-holding-heart:before {
    content: "\f4be";
}

.fa-handshake:before {
    content: "\f2b5";
}

.fa-handshake-angle:before {
    content: "\f4c4";
}

.fa-handshake-simple:before {
    content: "\f4c6";
}

.fa-handshake-slash:before {
    content: "\e060";
}

.fa-heart:before {
    content: "\f004";
}

.fa-heart-crack:before {
    content: "\f7a9";
}

.fa-heart-pulse:before {
    content: "\f21e";
}

.fa-helmet-safety:before {
    content: "\f807";
}

.fa-home:before {
    content: "\f015";
}

.fa-house:before {
    content: "\f015";
}

.fa-house-chimney:before {
    content: "\e3af";
}

.fa-house-chimney-user:before {
    content: "\e065";
}

.fa-house-circle-check:before {
    content: "\e509";
}

.fa-house-circle-exclamation:before {
    content: "\e50a";
}

.fa-house-crack:before {
    content: "\e3b1";
}

.fa-house-user:before {
    content: "\e1b0";
}

.fa-id-card:before {
    content: "\f2c2";
}

.fa-id-card-clip:before {
    content: "\f47f";
}

.fa-key:before {
    content: "\f084";
}

.fa-language:before {
    content: "\f1ab";
}

.fa-linkedin:before {
    content: "\f08c";
}

.fa-list-check:before {
    content: "\f0ae";
}

.fa-lungs-virus:before {
    content: "\e067";
}

.fa-mobile-screen:before {
    content: "\f3cf";
}

.fa-money-bill-transfer:before {
    content: "\e528";
}

.fa-money-bill-wave:before {
    content: "\f53a";
}

.fa-motorcycle:before {
    content: "\f21c";
}

.fa-notes-medical:before {
    content: "\f481";
}

.fa-pen-nib:before {
    content: "\f5ad";
}

.fa-people-roof:before {
    content: "\e537";
}

.fa-person:before {
    content: "\f183";
}

.fa-person-cane:before {
    content: "\e53c";
}

.fa-person-walking:before {
    content: "\f554";
}

.fa-piggy-bank:before {
    content: "\f4d3";
}

.fa-plus:before {
    content: "\2b";
}

.fa-receipt:before {
    content: "\f543";
}

.fa-ribbon:before {
    content: "\f4d6";
}

.fa-ring:before {
    content: "\f70b";
}

.fa-route:before {
    content: "\f4d7";
}

.fa-scale-unbalanced:before {
    content: "\f515";
}

.fa-scroll:before {
    content: "\f70e";
}

.fa-shield-heart:before {
    content: "\e574";
}

.fa-sitemap:before {
    content: "\f0e8";
}

.fa-snowflake:before {
    content: "\f2dc";
}

.fa-spinner:before {
    content: "\f110";
}

.fa-stethoscope:before {
    content: "\f0f1";
}

.fa-stopwatch:before {
    content: "\f2f2";
}

.fa-store:before {
    content: "\f54e";
}

.fa-store-slash:before {
    content: "\e071";
}

.fa-sun:before {
    content: "\f185";
}

.fa-toolbox:before {
    content: "\f552";
}

.fa-tractor:before {
    content: "\f722";
}

.fa-triangle-exclamation:before {
    content: "\f071";
}

.fa-truck-medical:before {
    content: "\f0f9";
}

.fa-umbrella-beach:before {
    content: "\f5ca";
}

.fa-user:before {
    content: "\f007";
}

.fa-user-injured:before {
    content: "\f728";
}

.fa-user-lock:before {
    content: "\f502";
}

.fa-user-shield:before {
    content: "\f505";
}

.fa-user-tie:before {
    content: "\f508";
}

.fa-users:before {
    content: "\f0c0";
}

.fa-users-viewfinder:before {
    content: "\e595";
}

.fa-virus:before {
    content: "\e074";
}

.fa-wallet:before {
    content: "\f555";
}

.fa-wheelchair:before {
    content: "\f193";
}

.fa-wrench:before {
    content: "\f0ad";
}

