@font-face {
    font-family: "Good Timing Rg";
    src: url('../../gt.ttf');
}

:root {
    --site-bg: linear-gradient(180deg, #f5f9ff 0%, #eef6ff 48%, #f9fcff 100%);
    --site-text: #244764;
    --site-accent: #2a6ecb;
    --site-accent-strong: #0c4da2;
    --site-accent-soft: #7fd0ff;
    --site-surface: rgba(255, 255, 255, 0.78);
    --site-surface-border: rgba(126, 165, 216, 0.28);
    --site-shadow: 0 18px 40px rgba(35, 85, 145, 0.12);
}

.site-body {
    background: var(--site-bg);
    color: var(--site-text);
    font-family: 'Inter', 'Segoe UI', Tahoma, sans-serif;
    letter-spacing: 0.01em;
}

.site-font {
    font-family: 'Poppins', 'Inter', sans-serif;
}

.site-link-light,
.site-link-light:hover,
.site-link-light:focus {
    color: #f8fbff !important;
    text-decoration: none;
}

.site-link-primary,
.site-link-primary:hover,
.site-link-primary:focus {
    color: var(--site-accent-strong) !important;
}

.site-footer {
    background: linear-gradient(135deg, rgba(9, 64, 132, 0.96) 0%, rgba(23, 104, 191, 0.94) 45%, rgba(80, 200, 255, 0.9) 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    border-bottom: 1px solid rgba(4, 35, 77, 0.12);
    box-shadow: 0 -10px 24px rgba(15, 71, 140, 0.16);
}

.footer a {
    text-decoration: none;
}

.gallery-image {
    object-fit: cover;
    height: 200px;
    width: 100%;
    cursor: pointer;
    border-radius: 16px;
    box-shadow: var(--site-shadow);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.gallery-image:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 24px 48px rgba(35, 85, 145, 0.18);
    filter: saturate(1.05);
}

#modalImage {
    max-width: 100%;
    height: auto;
    max-height: 80vh;
    border-radius: 18px;
}

@media (max-width: 767px) {
    #modalImage {
        max-height: none;
    }
}

.custom-nav-bg {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.94), rgba(238, 245, 255, 0.92));
    border: 1px solid var(--site-surface-border);
    box-shadow: var(--site-shadow);
}

.relief-nav {
    background: linear-gradient(135deg, #094084 0%, #1c70cb 52%, #6edcff 100%);
    box-shadow: 0 14px 34px rgba(16, 76, 145, 0.2);
}

.navbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.navbar-brand,
.navbar-brand:hover,
.navbar-brand:focus,
.navbar-brand span,
.navbar-brand b {
    font-family: Tahoma, sans-serif !important;
    color: ghostwhite !important;
    letter-spacing: normal;
    font-weight: 700;
}

.custom-nav-bg .app-brand-text,
.custom-nav-bg .app-brand-text:hover,
.custom-nav-bg .app-brand-text:focus {
    font-family: Tahoma, sans-serif !important;
    color: var(--site-accent-strong) !important;
    letter-spacing: normal;
    font-weight: 700;
}

.dropdown-menu {
    border: 1px solid var(--site-surface-border);
    border-radius: 16px;
    box-shadow: var(--site-shadow);
    background: #ffffff;
}

.navbar-collapse {
    position: relative;
    z-index: 2;
}

@media (max-width: 575.98px) {
    .navbar-collapse {
        margin-top: 0.75rem;
        padding: 0.75rem 1rem;
        border-radius: 16px;
        background: linear-gradient(135deg, #0b4b98 0%, #1c70cb 100%);
        box-shadow: 0 14px 34px rgba(16, 76, 145, 0.2);
    }
}

.dropdown-item {
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(42, 110, 203, 0.08);
    color: var(--site-accent-strong) !important;
    transform: translateX(2px);
}

main {
    position: relative;
}

main::before {
    content: '';
    position: fixed;
    inset: auto -120px -120px auto;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(127, 208, 255, 0.22) 0%, rgba(127, 208, 255, 0) 70%);
    pointer-events: none;
    z-index: 0;
}
