html { overflow-x: hidden; }
        body {
            font-family: 'Inter', sans-serif;
            color: #4b5563;
            background-color: #ffffff;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
        }

        :where(h1, h2, h3, h4, h5, h6) {
            color: #111111;
        }

        .transition-all-300 {
            transition: all 0.3s ease-in-out;
        }

        /* Form input focus styles */
        .form-input:focus {
            outline: none;
            border-color: #c59b27;
            box-shadow: 0 0 0 1px #c59b27;
        }
        
        /* Loading Spinner */
        .spinner {
            display: none;
            width: 20px;
            height: 20px;
            border: 3px solid rgba(255,255,255,0.3);
            border-radius: 50%;
            border-top-color: #fff;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        .header-cta-phone {
            border-radius: 9999px;
            padding: 0.25rem 0.5rem 0.25rem 0.25rem;
            margin: 0 -0.25rem 0 0;
            transition: box-shadow 0.35s ease, transform 0.2s ease;
            box-shadow: 0 0 18px rgba(197, 155, 39, 0.4);
        }
        .header-cta-phone:hover {
            box-shadow: 0 0 24px rgba(197, 155, 39, 0.6), 0 0 36px rgba(197, 155, 39, 0.3);
        }
        @media (prefers-reduced-motion: reduce) {
            .animate-pulse-glow, .animate-spin-arc { animation: none; }
            .animate-pulse-glow { opacity: 1; filter: drop-shadow(0 0 12px rgba(197, 155, 39, 0.4)); }
        }
        .btn-hover-primary:hover { transform: scale(1.02); box-shadow: 0 10px 25px rgba(0,0,0,0.15); }
        .btn-hover-dark:hover { box-shadow: 0 8px 20px rgba(0,0,0,0.25); }
        .btn-hover-control:hover { transform: scale(1.08); }
        details summary::-webkit-details-marker { display: none; }
        details summary::marker { content: ''; }
        #page-loader .loader-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
        #page-loader .loader-pin-wrap { position: relative; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; }
        #page-loader .loader { width: 44.8px; height: 44.8px; position: relative; transform: rotate(45deg); }
        #page-loader .loader::before, #page-loader .loader::after { content: ""; position: absolute; inset: 0; border-radius: 50% 50% 0 50%; background: transparent; background-image: radial-gradient(circle 11.2px at 50% 50%, transparent 94%, #c59b27); }
        #page-loader .loader::after { animation: loader-pin-pulse 1s infinite; transform: perspective(336px) translateZ(0); }
        @keyframes loader-pin-pulse { to { transform: perspective(336px) translateZ(168px); opacity: 0; } }
        #page-loader .loader-dots-ring { position: absolute; inset: -8px; width: calc(100% + 16px); height: calc(100% + 16px); animation: loader-spin 1.2s linear infinite; }
        #page-loader .loader-dots-ring span { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #c59b27; }
        #page-loader .loader-dots-ring span:nth-child(1) { top: 0; left: 50%; transform: translateX(-50%); }
        #page-loader .loader-dots-ring span:nth-child(2) { top: 50%; right: 0; transform: translateY(-50%); }
        #page-loader .loader-dots-ring span:nth-child(3) { bottom: 0; left: 50%; transform: translateX(-50%); }
        #page-loader .loader-dots-ring span:nth-child(4) { top: 50%; left: 0; transform: translateY(-50%); }
        #page-loader .loader-dots-ring span:nth-child(5) { top: 12%; right: 12%; }
        #page-loader .loader-dots-ring span:nth-child(6) { bottom: 12%; right: 12%; }
        #page-loader .loader-dots-ring span:nth-child(7) { bottom: 12%; left: 12%; }
        #page-loader .loader-dots-ring span:nth-child(8) { top: 12%; left: 12%; }
        @keyframes loader-spin { to { transform: rotate(360deg); } }
        #page-loader .loader-brand { font-family: Montserrat, sans-serif; font-weight: 800; font-size: 0.875rem; letter-spacing: 0.05em; color: #fff; text-transform: uppercase; margin: 0; }
        @media (prefers-reduced-motion: reduce) { #page-loader .loader::after { animation: none; opacity: 0; } #page-loader .loader-dots-ring { animation: none; } }
