:root {
    --app-bg: #f8fafc;
    --app-surface: #ffffff;
    --app-surface-2: #f1f5f9;
    --app-text: #0f172a;
    --app-muted: #64748b;
    --app-border: rgba(15, 23, 42, 0.10);
    --app-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --app-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
    --app-radius-sm: 12px;
    --app-radius: 18px;
    --app-primary: #4f46e5;
    --app-primary-strong: #4338ca;
    --app-focus: rgba(79, 70, 229, 0.35);
}

@media (prefers-color-scheme: dark) {
    :root {
        --app-bg: #0b1220;
        --app-surface: rgba(255, 255, 255, 0.04);
        --app-surface-2: rgba(255, 255, 255, 0.06);
        --app-text: #e2e8f0;
        --app-muted: #94a3b8;
        --app-border: rgba(226, 232, 240, 0.10);
        --app-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25);
        --app-shadow: 0 14px 36px rgba(0, 0, 0, 0.45);
        --app-focus: rgba(129, 140, 248, 0.35);
    }
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    background: var(--app-bg);
    color: var(--app-text);
    font-family: "Raleway", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

.navbar-brand img {
    height: 46px !important;
    width: auto;
}

.navbar.navbar-main {
    position: sticky;
    top: 0;
    z-index: 1030;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--app-border);
}

.navbar.navbar-main.navbar-transparent {
    background: rgba(248, 250, 252, 0.72) !important;
}

@media (prefers-color-scheme: dark) {
    .navbar.navbar-main.navbar-transparent {
        background: rgba(11, 18, 32, 0.72) !important;
    }
}

.navbar.navbar-main.bg-primary {
    background: rgba(79, 70, 229, 0.92) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.navbar .btn.btn-neutral {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(15, 23, 42, 0.10) !important;
    box-shadow: var(--app-shadow-sm);
}

@media (prefers-color-scheme: dark) {
    .navbar .btn.btn-neutral {
        background: rgba(255, 255, 255, 0.07) !important;
        border: 1px solid rgba(226, 232, 240, 0.10) !important;
        color: var(--app-text) !important;
    }
}

.navbar .btn.btn-neutral:hover {
    transform: translateY(-1px);
    box-shadow: var(--app-shadow);
}

.btn {
    border-radius: 999px !important;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

.btn:focus {
    box-shadow: 0 0 0 0.2rem var(--app-focus) !important;
}

.btn-primary {
    background-color: var(--app-primary) !important;
    border-color: rgba(67, 56, 202, 0.20) !important;
    box-shadow: 0 10px 26px rgba(79, 70, 229, 0.22);
}

.btn-primary:hover {
    background-color: var(--app-primary-strong) !important;
    transform: translateY(-1px);
}

.text-primary {
    color: var(--app-primary) !important;
}

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

.bg-gradient-default {
    background: linear-gradient(135deg, rgba(79, 70, 229, 1), rgba(6, 182, 212, 0.92)) !important;
}

.card,
.modal-content,
.dropdown-menu {
    border-radius: var(--app-radius) !important;
    border: 1px solid var(--app-border) !important;
    box-shadow: var(--app-shadow-sm);
}

.shadow,
.shadow-lg {
    box-shadow: var(--app-shadow) !important;
}

.form-control,
.input-group-text {
    border-radius: var(--app-radius-sm) !important;
}

.form-control:focus {
    box-shadow: 0 0 0 0.2rem var(--app-focus) !important;
}

.features-1,
.faq-section {
    background-color: var(--app-surface-2);
}

.overflow-xhidden {
    overflow-x: hidden;
}

@media only screen and (max-width: 750px) {
    .phone-img {
        padding: 0 1.25rem;
        margin-bottom: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    * {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

.swal2-loading {
    margin: 0 !important;
    width: auto !important;
}

.grecaptcha-badge {
    visibility: hidden;
}
